ಜಾವಾ SE 18 ಬಿಡುಗಡೆ

ಆರು ತಿಂಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, Oracle ಜಾವಾ SE 18 (ಜಾವಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಆವೃತ್ತಿ 18) ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು, ಇದು ಓಪನ್ ಸೋರ್ಸ್ OpenJDK ಯೋಜನೆಯನ್ನು ಉಲ್ಲೇಖದ ಅನುಷ್ಠಾನವಾಗಿ ಬಳಸುತ್ತದೆ. ಕೆಲವು ಬಳಕೆಯಲ್ಲಿಲ್ಲದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದನ್ನು ಹೊರತುಪಡಿಸಿ, Java SE 18 ಜಾವಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಹಿಂದಿನ ಬಿಡುಗಡೆಗಳೊಂದಿಗೆ ಹಿಂದುಳಿದ ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ - ಹೊಸ ಆವೃತ್ತಿಯ ಅಡಿಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ಹೆಚ್ಚಿನ ಹಿಂದೆ ಬರೆದ ಜಾವಾ ಯೋಜನೆಗಳು ಬದಲಾವಣೆಗಳಿಲ್ಲದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಲಿನಕ್ಸ್ (x18_86, AArch64), Windows (x64_86) ಮತ್ತು macOS (x64_86, AArch64) ಗಾಗಿ Java SE 64 (JDK, JRE ಮತ್ತು ಸರ್ವರ್ JRE) ನ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಸಿದ್ಧವಾಗಿದೆ. OpenJDK ಯೋಜನೆಯಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಜಾವಾ 18 ಉಲ್ಲೇಖದ ಅನುಷ್ಠಾನವು GPLv2 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಮುಕ್ತ ಮೂಲವಾಗಿದೆ, GNU ClassPath ವಿನಾಯಿತಿಗಳೊಂದಿಗೆ ವಾಣಿಜ್ಯ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಡೈನಾಮಿಕ್ ಲಿಂಕ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

Java SE 18 ಅನ್ನು ಸಾಮಾನ್ಯ ಬೆಂಬಲ ಬಿಡುಗಡೆ ಎಂದು ವರ್ಗೀಕರಿಸಲಾಗಿದೆ ಮತ್ತು ಮುಂದಿನ ಬಿಡುಗಡೆಯವರೆಗೂ ನವೀಕರಣಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ. ದೀರ್ಘಾವಧಿಯ ಬೆಂಬಲ (LTS) ಶಾಖೆಯು Java SE 17 ಆಗಿರಬೇಕು, ಇದು 2029 ರವರೆಗೆ ನವೀಕರಣಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ. ಜಾವಾ 10 ರ ಬಿಡುಗಡೆಯಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಯೋಜನೆಯು ಹೊಸ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಗೆ ಬದಲಾಯಿತು, ಹೊಸ ಬಿಡುಗಡೆಗಳ ರಚನೆಗೆ ಕಡಿಮೆ ಚಕ್ರವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಎಂದು ನಾವು ನಿಮಗೆ ನೆನಪಿಸೋಣ. ಹೊಸ ಕಾರ್ಯವನ್ನು ಈಗ ನಿರಂತರವಾಗಿ ನವೀಕರಿಸಿದ ಮಾಸ್ಟರ್ ಶಾಖೆಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಇದು ಸಿದ್ಧ ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಹೊಸ ಬಿಡುಗಡೆಗಳನ್ನು ಸ್ಥಿರಗೊಳಿಸಲು ಪ್ರತಿ ಆರು ತಿಂಗಳಿಗೊಮ್ಮೆ ಶಾಖೆಗಳನ್ನು ಶಾಖೆ ಮಾಡಲಾಗುತ್ತದೆ.

Java 18 ನಲ್ಲಿನ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು ಸೇರಿವೆ:

  • ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಎನ್ಕೋಡಿಂಗ್ ಯುಟಿಎಫ್-8 ಆಗಿದೆ. ಅಕ್ಷರ ಎನ್‌ಕೋಡಿಂಗ್‌ನ ಆಧಾರದ ಮೇಲೆ ಪಠ್ಯ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ Java API ಗಳು ಈಗ ಎಲ್ಲಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ UTF-8 ಅನ್ನು ಸಿಸ್ಟಮ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಲೊಕೇಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ ಬಳಸುತ್ತವೆ. ಸಿಸ್ಟಮ್ ಲೊಕೇಲ್ ಅನ್ನು ಆಧರಿಸಿ ಎನ್‌ಕೋಡಿಂಗ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವ ಹಳೆಯ ನಡವಳಿಕೆಗೆ ಹಿಂತಿರುಗಲು, ನೀವು "-Dfile.encoding=COMPAT" ಆಯ್ಕೆಯನ್ನು ಬಳಸಬಹುದು.
  • ಪ್ಯಾಕೇಜ್ com.sun.net.http ಸರ್ವರ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು jwebserver ಯುಟಿಲಿಟಿ ಮತ್ತು ಲೈಬ್ರರಿ API ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಇದು ಸ್ಥಿರ ವಿಷಯವನ್ನು ಪೂರೈಸಲು ಸರಳವಾದ http ಸರ್ವರ್‌ನ ಅನುಷ್ಠಾನದೊಂದಿಗೆ (CGI ಮತ್ತು ಸರ್ವ್ಲೆಟ್-ರೀತಿಯ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ). ಅಂತರ್ನಿರ್ಮಿತ HTTP ಸರ್ವರ್ ಕೆಲಸದ ಹೊರೆಗಳಿಗಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿಲ್ಲ ಮತ್ತು ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಇದು ಪ್ರಾಥಮಿಕವಾಗಿ ಮೂಲಮಾದರಿ, ಡೀಬಗ್ ಮಾಡುವಿಕೆ ಮತ್ತು ಯೋಜನೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಬಳಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ.
  • JavaDoc "@ಸ್ನಿಪ್ಪೆಟ್" ಟ್ಯಾಗ್‌ಗೆ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಕೋಡ್ ತುಣುಕುಗಳನ್ನು API ದಸ್ತಾವೇಜನ್ನು ಎಂಬೆಡ್ ಮಾಡಲು ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅಲ್ಲಿ ನೀವು ಮೌಲ್ಯೀಕರಣ ಉಪಕರಣಗಳು, ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟ್ ಮಾಡುವುದು ಮತ್ತು IDE ಏಕೀಕರಣವನ್ನು ಬಳಸಬಹುದು.
  • java.lang.reflect API (ಕೋರ್ ರಿಫ್ಲೆಕ್ಷನ್) ಅನುಷ್ಠಾನವನ್ನು ವಿಧಾನಗಳು, ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ವರ್ಗ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್‌ಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ಜೊತೆಗೆ ತರಗತಿಗಳ ಆಂತರಿಕ ರಚನೆಗೆ ಪ್ರವೇಶವನ್ನು ಮರುವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. java.lang.reflect API ಸ್ವತಃ ಬದಲಾಗದೆ ಉಳಿದಿದೆ, ಆದರೆ ಈಗ ಬೈಟ್‌ಕೋಡ್ ಜನರೇಟರ್‌ಗಳನ್ನು ಬಳಸುವ ಬದಲು java.lang.invoke ಮಾಡ್ಯೂಲ್‌ನಿಂದ ಒದಗಿಸಲಾದ ವಿಧಾನ ಹ್ಯಾಂಡಲ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ. ಬದಲಾವಣೆಯು java.lang.reflect ಮತ್ತು java.lang.invoke ನ ಅನುಷ್ಠಾನಗಳನ್ನು ಏಕೀಕರಿಸಲು ಮತ್ತು ಅವುಗಳ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸಲು ನಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು.
  • x86_64 ಮತ್ತು AArch64 ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ವೆಕ್ಟರ್ ಸೂಚನೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ವೆಕ್ಟರ್ ಲೆಕ್ಕಾಚಾರಗಳಿಗೆ ಕಾರ್ಯಗಳನ್ನು ಒದಗಿಸುವ ವೆಕ್ಟರ್ API ಯ ಮೂರನೇ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಹು ಮೌಲ್ಯಗಳಿಗೆ (SIMD) ಏಕಕಾಲದಲ್ಲಿ ಅನ್ವಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸ್ಕೇಲಾರ್ ಕಾರ್ಯಾಚರಣೆಗಳ ಸ್ವಯಂ-ವೆಕ್ಟರೈಸೇಶನ್‌ಗಾಗಿ ಹಾಟ್‌ಸ್ಪಾಟ್ ಜೆಐಟಿ ಕಂಪೈಲರ್‌ನಲ್ಲಿ ಒದಗಿಸಲಾದ ಸಾಮರ್ಥ್ಯಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಹೊಸ API ಸಮಾನಾಂತರ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ವೆಕ್ಟರೈಸೇಶನ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿಯಂತ್ರಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.
  • ಹೋಸ್ಟ್ ಹೆಸರುಗಳು ಮತ್ತು IP ವಿಳಾಸಗಳನ್ನು ಪರಿಹರಿಸಲು SPI ಇಂಟರ್ಫೇಸ್ (ಸೇವೆ ಒದಗಿಸುವವರ ಇಂಟರ್ಫೇಸ್) ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನೀಡುವ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸದ java.net.InetAddress ನಲ್ಲಿ ಪರ್ಯಾಯ ಪರಿಹಾರಕಗಳನ್ನು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
  • ವಿದೇಶಿ ಕಾರ್ಯ ಮತ್ತು ಮೆಮೊರಿ API ಯ ಎರಡನೇ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಇದು Java ರನ್‌ಟೈಮ್‌ನ ಹೊರಗೆ ಕೋಡ್ ಮತ್ತು ಡೇಟಾದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಹೊಸ API ನಿಮಗೆ JVM ಅಲ್ಲದ ಕಾರ್ಯಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ಕರೆ ಮಾಡಲು ಮತ್ತು JVM-ನಿರ್ವಹಿಸದ ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಬಾಹ್ಯ ಹಂಚಿಕೆಯ ಲೈಬ್ರರಿಗಳಿಂದ ಕಾರ್ಯಗಳನ್ನು ಕರೆಯಬಹುದು ಮತ್ತು JNI ಅನ್ನು ಬಳಸದೆಯೇ ಪ್ರಕ್ರಿಯೆ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.
  • "ಸ್ವಿಚ್" ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ ಮಾದರಿ ಹೊಂದಾಣಿಕೆಯ ಎರಡನೇ ಪ್ರಾಯೋಗಿಕ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ನಿಖರವಾದ ಮೌಲ್ಯಗಳಿಗಿಂತ "ಕೇಸ್" ಲೇಬಲ್‌ಗಳಲ್ಲಿ ಹೊಂದಿಕೊಳ್ಳುವ ಮಾದರಿಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಮೌಲ್ಯಗಳ ಸರಣಿಯನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಒಳಗೊಂಡಿದೆ, ಇದಕ್ಕಾಗಿ ಹಿಂದೆ ಬಳಸಬೇಕಾಗಿತ್ತು. "ಇಫ್...ಎಲ್ಸ್" ಅಭಿವ್ಯಕ್ತಿಗಳ ತೊಡಕಿನ ಸರಪಳಿಗಳು. ವಸ್ತು o = 123L; ಸ್ಟ್ರಿಂಗ್ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾಗಿದೆ = ಸ್ವಿಚ್ (ಒ) {ಕೇಸ್ ಪೂರ್ಣಾಂಕ i -> String.format("int %d", i); ಸಂದರ್ಭದಲ್ಲಿ Long l -> String.format("ಉದ್ದ %d", l); ಕೇಸ್ ಡಬಲ್ d -> String.format("ಡಬಲ್ %f", d); ಕೇಸ್ ಸ್ಟ್ರಿಂಗ್ s -> String.format("ಸ್ಟ್ರಿಂಗ್ %s", s); ಡೀಫಾಲ್ಟ್ -> o.toString(); };
  • ಅಂತಿಮಗೊಳಿಸುವ ಕಾರ್ಯವಿಧಾನ ಮತ್ತು ಅದರ ಸಂಬಂಧಿತ ವಿಧಾನಗಳಾದ Object.finalize(), Enum.finalize(), Runtime.runFinalization() ಮತ್ತು System.runFinalization() ಅನ್ನು ಅಸಮ್ಮತಿಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದ ಬಿಡುಗಡೆಯಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ.
  • ZGC (Z ಗಾರ್ಬೇಜ್ ಕಲೆಕ್ಟರ್), SerialGC, ಮತ್ತು ParallelGC ಕಸ ಸಂಗ್ರಾಹಕರು ಸಾಲು ಡಿಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತಾರೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ