ืืืืจ ืฉืืฉื ืืืืฉืื ืฉื ืคืืชืื, ืืืจืงื
Java SE 14 ืืกืืืืช ืืืจืกืช ืชืืืื ืืืืืช ืืชืืฉืื ืืงืื ืขืืืื ืื ืขื ืืืืืืจื ืืืื. ืขื ืฃ ืืชืืืื ืืืืื ืืจืื (LTS) ืฆืจืื ืืืืืช Java SE 11, ืฉืืืฉืื ืืงืื ืขืืืื ืื ืขื 2026. ืกื ืืฃ ื-LTS ืืงืืื ืฉื Java 8 ืืืื ื ืชืื ืขื ืืฆืืืจ 2020. ืืืืืจืช ื-LTS ืืืื ืืชืืื ื ืช ืืกืคืืืืจ 2021. ื ืืืืจ ืืื ืฉืืื ืืืฉืืจืืจ ืฉื Java 10, ืืคืจืืืงื ืขืืจ ืืชืืืื ืคืืชืื ืืืฉ, ืื ืฉืืจืื ืขื ืืืืืจ ืงืฆืจ ืืืชืจ ืืืืืืฆืจืืช ืืืืืจืืช ืืืฉืืช. ืคืื ืงืฆืืื ืืืืช ืืืฉื ืืคืืชืืช ืืขืช ืืกื ืืฃ ืืืกืืจ ืืื ืืืชืขืืื ืื ืืืื, ืืืืื ืฉืื ืืืื ืืืื ืื ืืืื ื ืืกืชืขืคืื ืกื ืืคืื ืื ืืฆื ืฉื ื ืืื ืืืืฆื ืืืืืจืืช ืืืฉืืช.
ืฉื
- ื ืืกืคื ืชืืืื ื ืืกืืื ืืช
ืืชืืืช ืชืื ืืช ืืืืคืจืืืจ "instanceof", ืืืืคืฉืจ ืื ืืืืืืจ ืืื ืืฉืชื ื ืืงืืื ืืื ืืืฉืช ืืขืจื ืืืกืืื. ืืืืืื, ืืชื ืืืื ืืื ืืืชืื "if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" ืืืื ืืืืืืจ ืืืคืืจืฉ "String s = (String) obj".ืื ืืื:
if (instanceof Group) {
ืงืืืฆืช ืงืืืฆื = (Group)obj;
var entries = group.getEntries();
}ืขืืฉืื ืืชื ืืืื ืืืกืชืืจ ืืื ืืืืืจื "ืงืืืฆื ืงืืืฆืชืืช = (ืงืืืฆืช) obj":
if (ืืืคืข ืืืืืืงื ืฉื ืงืืืฆืช ืงืืืฆื) {
var entries = group.getEntries();
} - ื ืืกืคื ืชืืืื ื ืืกืืื ืืช ืขืืืจ ืืืืช ืืืคืชื ืืืืฉื "
ืฉืื ", ืืืกืคืง ืืืคืก ืงืืืคืงืื ืืืืืจืช ืืืืงืืช, ืืืืคืฉืจ ืื ืืืืื ืข ืืืืืจื ืืคืืจืฉืช ืฉื ืฉืืืืช ืฉืื ืืช ืืจืื ื ืืืื ืืืื equals(), hashCode() ื-toString() ืืืงืจืื ืืื ืื ืชืื ืื ืืืืืกื ืื ืจืง ืืฉืืืช ืฉืืชื ืืืืชื ืืื ื ืืฉืชื ื. ืืืฉืจ ืืืืงื ืืฉืชืืฉืช ืืืืืืฉืื ืกืื ืืจืืืื ืฉื ืืืชืืืืช equals(), hashCode() ื-toString(), ืืื ืืืืื ืืืกืชืืจ ืืื ืืืืืจื ืืืคืืจืฉืช ืฉืืื:ืจืฉืืื ืฆืืืืจืืช BankTransaction(LocalDate date,
ืืืืช ืืคืืื
ืชืืืืจ ืืืจืืืช) {}ืืืฆืืจื ืืื ืชืืกืืฃ ืืืืืืืืช ืืืืืฉืื ืฉื ืืืชืืืืช equals(), hashCode() ื-toString() ืื ืืกืฃ ืืฉืืืืช ืืื ืื ืื-getter.
-
ืึฐืชืึผืงื ึธื ืืชืืืื ืืฆืืจื ืืืฉื ืฉื ืืืืืื "ืืืจืจ" ืืืคืขืืช ืืืจืืจืช ืืืื, ืฉืืื ื ืืืจืฉืช ืฆืืื ืืืืคืจืืืจ "break", ืืืคืฉืจืช ืืฉืื ืชืืืืืช ืืืืจืืช ืื ืืชื ืืืฉืชืืฉ ืื ืื ืจืง ืืฆืืจื ืฉื ืืืคืจืืืจ, ืืื ืื ืืชืืจ ืืืคืจืืืจ. ืืืืื.var log = switch (event) {
ืืงืจื PLAY -> "ืืืฉืชืืฉ ืืคืขืื ืืช ืืืฆื ืืืคืขืื";
ืืงืจื STOP, PAUSE -> "ืืืฉืชืืฉ ืฆืจืื ืืคืกืงื";
ืืจืืจืช ืืืื -> {
ืืืืขื ืืืจืืืช = event.toString();
LocalDateTime now = LocalDateTime.now();
ืชืฉืืื "ืืืจืืข ืื ืืืืข" + ืืืืขื +
ยป ืืืืืจ ยป + ืขืืฉืื;
}
}; - ืชืืืื ื ืืกืืื ืืช ืืืจืืืช
ืืืืงืื ืฉื ืืงืกื - ืฆืืจื ืืืฉื ืฉื ืืืืืืืช ืืืจืืืช ืืืืคืฉืจืช ืืืืื ื ืชืื ื ืืงืกื ืืจืืื ืฉืืจืืช ืืงืื ืืืงืืจ ืืืื ืืืฉืชืืฉ ืืืจืืืช ืชืืืื ืืฉืืืืจ ืขืืฆืื ืืืงืกื ืืืงืืจื ืืืืืง. ืืืืืง ืืืืกืืจ ืขื ืืื ืฉืืืฉ ืืจืืืืช ืืคืืืืช. ื-Java 14, ืืืืงื ืืงืกื ืชืืืืื ืืขืช ืืจืฆืฃ ืืืจืืื "\s" ืืื ืืืืืืจ ืจืืื ืืืื ื-"\" ืืฉืจืฉืืจ ืขื ืืฉืืจื ืืืื (ืืชืขืืืืช ืืฉืืจืืช ืืืฉืืช ืืฉืฆืจืื ืืืืคืืก ืฉืืจื ืืจืืื ืืืื). ืืืฉื, ืืืงืื ืงืืืืืจืืืช html = " ยป+
"\n\t" + " ยป+
"\n\t\t" + " \"Java 1 ืืื!\" ยป+
"\n\t" + " ยป+
"\n" + " ";ืืชื ืืืื ืืฆืืื:
ืืืจืืืช html = """
ยปJava 1\
ืืื!
"""; - ืชืืื ืืืืืข ืฉื ืืืืื ืืืฉืจ ืืชืจืืฉืื ืืจืืืื ืืืจืื
NullPointerException . ืืขืื ืฉืงืืื ืืื ืืืืขืช ืืฉืืืื ืืชืืืืกื ืจืง ืืืกืคืจ ืืฉืืจื, ืืขืช ืืื ืืคืจืืช ืืืื ืฉืืื ืืจืื ืืืจืืื. ืืืืื ืืชืงืื ืืืื ืืขืช ืจืง ืืืฉืจ ืืื ืืืคืขื ืขื ืืืื "-XX:+ShowCodeDetailsInExceptionMessages". ืืืืืื, ืืขืช ืฆืืื ืืืื ืืื, ืืืจืื ืืฉืืจืvar name = user.getLocation().getCity().getName();
ืืืื ืืืืืขื
ืืจืื ืืฉืจืฉืืจ "main" java.lang.NullPointerException: ืื ื ืืชื ืืืคืขืื ืืช "Location.getCity()"
ืืืืืื ืฉืขืจื ืืืืืจ ืฉื "User.getLocation()" ืืื null
ื-NullPointerExample.main(NullPointerExample.java:5):5)ืื ืฉืืืืืจ ืฉืฉืืืช Location.getCity() ืื ื ืงืจืื ื-User.getLocation() ืืืืืจื null.
-
ืืืืืข ืชืฆืืื ืืงืืืื ืฉื ืืื ืืฉืืจืืช jpackage, ืืืืคืฉืจ ืื ืืืฆืืจ ืืืืืืช ืขืืืจ ืืืฉืืื Java ืขืฆืืืืื. ืืื ืืฉืืจืืช ืืืืกืก ืขื javapackager ื-JavaFX ืืืืคืฉืจ ืืืฆืืจ ืืืืืืช ืืคืืจืืืื ืืงืืจืืื ืืคืืืคืืจืืืช ืฉืื ืืช (msi ื-exe ืขืืืจ Windows, pkg ื-dmg ืขืืืจ macOS, deb ื-rpm ืขืืืจ Linux). ืืืืืืืช ืืืืืืช ืืช ืื ืืชืืืช ืื ืืจืฉืช. - ืืืกืคื ืืืฉืคื G1
ืืืกืืฃ ืื ืื ืื ืืงืฆืืช ืืืืจืื ืืืฉ ืฉืืืงื ืืืฉืืื ืืช ืืคืจืืื ืืกืคืฆืืคืืื ืฉื ืขืืืื ืขื ืืขืจืืืช ืืืืืืช ืืืืฆืขืืช ืืืจืืืืงืืืจืNUMA . ืืงืฆื ืืืืืจืื ืืืืฉ ืืืคืขื ืืืืฆืขืืช ืืืื "+XX:+UseNUMA" ืืืืื ืืฉืคืจ ืืฉืืขืืชืืช ืืช ืืืืฆืืขืื ืืืขืจืืืช NUMA. -
ื ืืกืฃ API ืื ืืืืจ ืชืื ืืื ืืืกื ืฉื ืืืจืืขื JFR (JDK Flight Recorder), ืืืฉื ืืืจืืื ื ืืืืจ ืจืฆืืฃ. -
ื ืืกืฃ ืืืืื jdk.nio.mapmode, ืืืฆืืข ืืฆืืื ืืืฉืื (READ_ONLY_SYNC, WRITE_ONLY_SYNC) ืืืฆืืจืช ืืืืจื ืืชืื ืืืืคืื (MappedByteBuffer) ืืืชืืืืกืื ืืืืืจืื ืื ื ืืืฃ (NVM). -
ืืืืืข ืชืฆืืื ืืงืืืื ืฉื ื-API ืฉื Foreign-Memory Access, ืืืืคืฉืจืช ืืืืฉืืื Java ืืืฉืช ืืฆืืจื ืืืืืืืช ืืืขืืื ืืืืืจื ืืืืจืื ืืืืฅ ืืขืจืืช Java ืขื ืืื ืื ืืคืืืฆืื ืฉื ืืืคืฉืืืช ืืืืฉืืช ืฉื MemorySegment, MemoryAddress ื-MemoryLayout. -
ืืืืจื ืืฆืืืืช ืฉืืืฆืื ืืฉืืืืฉ ืขืืืจ ืืขืืื Solaris OS ื-SPARC (Solaris/SPARC, Solaris/x64 ื-Linux/SPARC) ืืชืื ืืืื ื ืืืกืืจ ืืช ืืืฆืืืืช ืืืื ืืขืชืื. ืืืืื ืืฆืืืืช ืืื ืืืคืฉืจ ืืงืืืื ืืืืืฅ ืืช ืืคืืชืื ืฉื ืชืืื ืืช OpenJDK ืืืฉืืช ืืืื ืืืืื ืืื ืืชืืืืงื ืฉื ืชืืื ืืช ืกืคืฆืืคืืืช ื-Solaris ื-SPARC. -
ื ืืืง ืืกืคื ืืืฉืคื CMS (Concurrent Mark Sweep), ืฉืกืืื ืืืืฉื ืืคื ื ืฉื ืชืืื ืื ืฉืืจ ืื ืืชืืืืง (CMS ืืืืืฃ ืืคื ื ืืื ืจื ืขื ืืื ืืืกืฃ ืืืฉืคื G1). ืืืฅ ืืื,ืืืืืข ืืืฆืื ืืฉืืืืฉ ืืช ืืฉืืืืฉ ืืฉืืืื ืฉื ืืืืืจืืชืื ืืืกืืฃ ืืฉืคื ParallelScavenge ื-SerialOld (ืืคืขื ืขื ืืืคืฉืจืืืืช "-XX:+UseParallelGC -XX:-UseParallelOldGC"). - ืชืืืื ื ืืกืืื ืืช ืขืืืจ ืืกืคื ืืืฉืคื ZGC (Z Garbage Collector) ื ืืชื ื ืืคืืืคืืจืืืช macOS ื-Windows (ืงืืื ืืื ื ืชืืื ืจืง ืืืื ืืงืก). ZGC ืคืืขื ืืืฆื ืคืกืืื, ืืืืขืจ ืืื ืืืคืฉืจ ืืช ืืฉืืืื ืขืงื ืืืกืืฃ ืืฉืคื (ืืื ืืกืืืื ืืฉืืืืฉ ื-ZGC ืืื ื ืขืืื ืขื 10 ืืืคืืืช ืืฉื ืืื) ืืืืื ืืขืืื ืขื ืขืจืืืืช ืงืื ืืช ืืขืฆืืืืช ืืืื, ืืืืื ืฉื ืืื ืืืืช ืืื-ืืืื ืืขื ืืืจื-ืืืื ืจืืื.
-
ืืืกืจ ืขืจืืช ืืืื ื-API ืืืืืกืช ืงืืฆื JAR ืืืืฆืขืืช ืืืืืจืืชื Pack200.
ืืงืืจ: OpenNet.ru