Java SE 19 berdan

Piştî şeş mehên pêşveçûnê, Oracle platforma Java SE 19 (Java Platform, Edition Standard 19) derxist, ku projeya çavkaniya vekirî OpenJDK wekî pêkanîna referansê bikar tîne. Ji xeynî rakirina hin taybetmendiyên paşverû, Java SE 19 bi serbestberdanên berê yên platforma Java-yê re lihevhatina paşverû diparêze - piraniya projeyên Java-yê yên ku berê hatine nivîsandin dema ku di bin guhertoya nû de têne xebitandin dê hîn jî bêyî guheztinê bixebitin. Avakirinên Java SE 19 yên sazkirî (JDK, JRE, û Server JRE) ji bo Linux (x86_64, AArch64), Windows (x86_64), û macOS (x86_64, AArch64) têne amadekirin. Ji hêla projeya OpenJDK ve hatî pêşve xistin, pêkanîna referansa Java 19 bi tevahî di bin lîsansa GPLv2 de bi îstîsnayên GNU ClassPath vekirî ye da ku rê bide girêdana dînamîkî bi hilberên bazirganî re.

Java SE 19 wekî serbestberdana piştgirîya birêkûpêk tête kategorîze kirin, digel ku nûvekirin berî berdana din were berdan. Pêdivî ye ku şaxa piştevaniya demdirêj (LTS) Java SE 17 be, ku dê heya 2029-an nûvekirinan bistîne. Bînin bîra xwe ku bi berdana Java 10-ê dest pê kir, proje veguherî pêvajoyek nû ya pêşkeftinê, ku tê wateya çerxek kurttir ji bo avakirina berdanên nû. Fonksiyonên nû naha di yek şaxek masterê ya ku bi domdarî nûvekirî de tê pêşve xistin, ya ku guheztinên jixwe qedandî vedihewîne û ji kîjan şeş mehan carekê şax têne şax kirin da ku serbestberdanên nû aram bike.

Taybetmendiyên nû di Java 19 de ev in:

  • Piştgiriya pêşîn ji bo qalibên tomarê hatiye pêşniyar kirin, dirêjkirina taybetmendiya berhevdana nimûneyê ya ku di Java 16 de hatî destnîşan kirin bi amûrên parkirina nirxên çînên tomarê re dirêj dike. Mînak: tomar Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Avakirinên Linux ji bo mîmariya RISC-V piştgirî peyda dikin.
  • Piştgiriya pêşîn ji bo FFM (Fonksiyon û Bîra Biyanî) API-yê zêde kir, ku destûrê dide te ku hûn pêwendiya bernameyên Java-yê bi kod û daneya derveyî re organîze bikin bi gazîkirina fonksiyonên ji pirtûkxaneyên derveyî û gihîştina bîranîna li derveyî JVM.
  • Piştgiriya ji bo mijarên virtual, ku mijarên sivik in ku nivîsandin û domandina sepanên pir-tewlîdî yên bi performansa bilind pir hêsan dikin.
  • Pêşniyarek çaremîn a Vector API hate pêşniyar kirin, fonksiyonên ji bo hesabên vektorê yên ku bi karanîna rêwerzên vektorê yên li ser pêvajoyên x86_64 û AArch64 têne darve kirin peyda dike û dihêle ku operasyon bi hevdemî li ser gelek nirxan (SIMD) werin sepandin. Berevajî kapasîteyên ku di berhevkarê HotSpot JIT-ê de ji bo vektorîkirina otomatîkî ya operasyonên skalar têne peyda kirin, API-ya nû gengaz dike ku bi eşkere vektorîzasyonê ji bo hilberandina daneya paralel kontrol bike.
  • Pêkanîna sêyem azmûnî ya lihevhatina nimûneyê di biwêjên "guhêrbar" de hate zêdekirin, ku destûrê dide ku di etîketên "doz" de ne nirxên tam, lê qalibên maqûl ên ku rêzek nirxan di yekcar de vedihewînin, bikar bînin, ji bo ku berê hewce bû ku zincîrên giran ên biwêjên "eger ... din" bikar bînin. Objekt o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("dirêj %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Ji bo paralelîzma birêkûpêk API-yek ceribandinê lê zêde kir, ku pêşkeftina serîlêdanên pir-tehlî hêsan dike bi dermankirina gelek peywirên ku di mijarên cihêreng de wekî blokek yekane têne xebitandin.

Source: opennet.ru

Add a comment