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

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

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

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

  • "ಸ್ವಿಚ್" ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ ಮಾದರಿ ಹೊಂದಾಣಿಕೆಯ ಪ್ರಾಯೋಗಿಕ ಅನುಷ್ಠಾನವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದು "ಕೇಸ್" ಲೇಬಲ್‌ಗಳಲ್ಲಿ ನಿಖರವಾದ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸದಂತೆ ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಒಂದೇ ಬಾರಿಗೆ ಮೌಲ್ಯಗಳ ಸರಣಿಯನ್ನು ಒಳಗೊಂಡ ಹೊಂದಿಕೊಳ್ಳುವ ಟೆಂಪ್ಲೇಟ್‌ಗಳು, ಇದಕ್ಕಾಗಿ ಹಿಂದೆ ತೊಡಕಿನ ಬಳಸಲು ಅಗತ್ಯವಾಗಿತ್ತು "if... else" ಅಭಿವ್ಯಕ್ತಿಗಳ ಸರಪಳಿಗಳು. ಹೆಚ್ಚುವರಿಯಾಗಿ, "ಸ್ವಿಚ್" ಶೂನ್ಯ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. ವಸ್ತು 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(); };
  • ಮೊಹರು ಮಾಡಿದ ತರಗತಿಗಳು ಮತ್ತು ಇಂಟರ್‌ಫೇಸ್‌ಗಳಿಗೆ ಸ್ಥಿರವಾದ ಬೆಂಬಲ, ಇದನ್ನು ಇತರ ವರ್ಗಗಳು ಮತ್ತು ಇಂಟರ್‌ಫೇಸ್‌ಗಳು ಅನುವಂಶಿಕವಾಗಿ, ವಿಸ್ತರಿಸಲು ಅಥವಾ ಅನುಷ್ಠಾನವನ್ನು ಅತಿಕ್ರಮಿಸಲು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ವಿಸ್ತರಣೆಗೆ ಅನುಮತಿಸಲಾದ ಉಪವರ್ಗಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಪಟ್ಟಿ ಮಾಡುವ ಆಧಾರದ ಮೇಲೆ, ಪ್ರವೇಶ ಮಾರ್ಪಾಡುಗಳಿಗಿಂತ ಸೂಪರ್‌ಕ್ಲಾಸ್‌ನ ಬಳಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸಲು ಮೊಹರು ಮಾಡಿದ ತರಗತಿಗಳು ಹೆಚ್ಚು ಘೋಷಣಾ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತವೆ. ಪ್ಯಾಕೇಜ್ com.example.geometry; ಸಾರ್ವಜನಿಕ ಮೊಹರು ವರ್ಗದ ಆಕಾರ ಅನುಮತಿಗಳು com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}
  • x86_64 ಮತ್ತು AArch64 ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ವೆಕ್ಟರ್ ಸೂಚನೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ವೆಕ್ಟರ್ ಲೆಕ್ಕಾಚಾರಗಳಿಗೆ ಕಾರ್ಯಗಳನ್ನು ಒದಗಿಸುವ ವೆಕ್ಟರ್ API ಯ ಎರಡನೇ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಮೌಲ್ಯಗಳಿಗೆ (SIMD) ಅನ್ವಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸ್ಕೇಲಾರ್ ಕಾರ್ಯಾಚರಣೆಗಳ ಸ್ವಯಂ-ವೆಕ್ಟರೈಸೇಶನ್‌ಗಾಗಿ ಹಾಟ್‌ಸ್ಪಾಟ್ ಜೆಐಟಿ ಕಂಪೈಲರ್‌ನಲ್ಲಿ ಒದಗಿಸಲಾದ ಸಾಮರ್ಥ್ಯಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಹೊಸ API ಸಮಾನಾಂತರ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗಾಗಿ ವೆಕ್ಟರೈಸೇಶನ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿಯಂತ್ರಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.
  • ವಿದೇಶಿ ಕಾರ್ಯ ಮತ್ತು ಮೆಮೊರಿ API ನ ಪೂರ್ವವೀಕ್ಷಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು Java ರನ್‌ಟೈಮ್‌ನ ಹೊರಗೆ ಕೋಡ್ ಮತ್ತು ಡೇಟಾದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಹೊಸ API ನಿಮಗೆ JVM ಅಲ್ಲದ ಕಾರ್ಯಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ಕರೆ ಮಾಡಲು ಮತ್ತು JVM-ನಿರ್ವಹಿಸದ ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಬಾಹ್ಯ ಹಂಚಿಕೆಯ ಲೈಬ್ರರಿಗಳಿಂದ ಕಾರ್ಯಗಳನ್ನು ಕರೆಯಬಹುದು ಮತ್ತು JNI ಅನ್ನು ಬಳಸದೆಯೇ ಪ್ರಕ್ರಿಯೆ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.
  • ಜಾವಾ 2D API ಅನ್ನು ಪವರ್ ಮಾಡುವ MacOS ರೆಂಡರಿಂಗ್ ಎಂಜಿನ್, ಇದು ಸ್ವಿಂಗ್ API ಅನ್ನು ಪವರ್ ಮಾಡುತ್ತದೆ, ಮೆಟಲ್ ಗ್ರಾಫಿಕ್ಸ್ API ಅನ್ನು ಬಳಸಲು ಅಳವಡಿಸಲಾಗಿದೆ. MacOS ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಇನ್ನೂ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ OpenGL ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಲೋಹದ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು "-Dsun.java2d.metal=true" ಅನ್ನು ಹೊಂದಿಸುವ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಕನಿಷ್ಠ ಮ್ಯಾಕೋಸ್ 10.14.x ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಅಗತ್ಯವಿದೆ.
  • MacOS/AArch64 ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ ಪೋರ್ಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಹೊಸ Apple M1 ಚಿಪ್‌ಗಳನ್ನು ಆಧರಿಸಿದ ಆಪಲ್ ಕಂಪ್ಯೂಟರ್‌ಗಳು). ಪೋರ್ಟ್‌ನ ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ W^X (ರೈಟ್ XOR ಎಕ್ಸಿಕ್ಯೂಟ್) ಮೆಮೊರಿ ರಕ್ಷಣೆ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಬೆಂಬಲವಾಗಿದೆ, ಇದರಲ್ಲಿ ಮೆಮೊರಿ ಪುಟಗಳನ್ನು ಬರೆಯಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಏಕಕಾಲದಲ್ಲಿ ಪ್ರವೇಶಿಸಲಾಗುವುದಿಲ್ಲ. (ಬರವಣಿಗೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ ನಂತರವೇ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಮತ್ತು ಮೆಮೊರಿ ಪುಟಕ್ಕೆ ಬರೆಯುವುದು ಮರಣದಂಡನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ ನಂತರ ಮಾತ್ರ ಸಾಧ್ಯ).
  • ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಎಕ್ಸ್‌ಪ್ರೆಶನ್‌ಗಳಿಗಾಗಿ ಕಟ್ಟುನಿಟ್ಟಾದ ಎಫ್‌ಪಿ ಶಬ್ದಾರ್ಥವನ್ನು ಮಾತ್ರ ಬಳಸುವುದಕ್ಕೆ ಹಿಂತಿರುಗಿಸಲಾಗಿದೆ. ಜಾವಾ 1.2 ಬಿಡುಗಡೆಯಾದಾಗಿನಿಂದ ಲಭ್ಯವಿರುವ “ಡೀಫಾಲ್ಟ್” ಸೆಮ್ಯಾಂಟಿಕ್ಸ್‌ಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಅತ್ಯಂತ ಹಳೆಯ x87 ಗಣಿತ ಕೊಪ್ರೊಸೆಸರ್‌ಗಳೊಂದಿಗಿನ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಸರಳೀಕರಣಗಳು ಸೇರಿದಂತೆ (SSE2 ಸೂಚನೆಗಳ ಆಗಮನದ ನಂತರ, ಹೆಚ್ಚುವರಿ ಶಬ್ದಾರ್ಥಗಳ ಅಗತ್ಯವು ಕಣ್ಮರೆಯಾಯಿತು).
  • ಸ್ಯೂಡೋರಾಂಡಮ್ ಸಂಖ್ಯೆ ಜನರೇಟರ್‌ಗಳಿಗೆ ಹೊಸ ರೀತಿಯ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ ಮತ್ತು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳ ಉತ್ತಮ ಪೀಳಿಗೆಗೆ ಹೆಚ್ಚುವರಿ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಸ್ಯೂಡೋರಾಂಡಮ್ ಸಂಖ್ಯೆಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅವಕಾಶವನ್ನು ನೀಡಲಾಗುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕ ವಸ್ತು ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಲು ಸುಧಾರಿತ ಬೆಂಬಲ.
  • sun.misc.Unsafe ನಂತಹ ನಿರ್ಣಾಯಕ API ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಎಲ್ಲಾ JDK ಇಂಟರ್ನಲ್‌ಗಳ ಕಟ್ಟುನಿಟ್ಟಾದ ಎನ್‌ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಅನ್ನು ಜಾರಿಗೊಳಿಸಲಾಗಿದೆ. ಆಂತರಿಕ ತರಗತಿಗಳು, ವಿಧಾನಗಳು ಮತ್ತು ಕ್ಷೇತ್ರಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಕೋಡ್‌ನಿಂದ ಪ್ರಯತ್ನಗಳನ್ನು ಕಟ್ಟುನಿಟ್ಟಾದ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ಹಿಂದೆ, ಕಟ್ಟುನಿಟ್ಟಾದ ಎನ್‌ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಮೋಡ್ ಅನ್ನು "--ಇಲೀಗಲ್-ಆಕ್ಸೆಸ್=ಪರ್ಮಿಟ್" ಆಯ್ಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದಾಗಿತ್ತು, ಆದರೆ ಇದನ್ನು ಈಗ ಅಸಮ್ಮತಿಸಲಾಗಿದೆ. ಆಂತರಿಕ ತರಗತಿಗಳು, ವಿಧಾನಗಳು ಮತ್ತು ಕ್ಷೇತ್ರಗಳಿಗೆ ಪ್ರವೇಶದ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು --add-opens ಆಯ್ಕೆಯನ್ನು ಅಥವಾ ಮ್ಯಾನಿಫೆಸ್ಟ್ ಫೈಲ್‌ನಲ್ಲಿನ ಆಡ್-ಓಪನ್ಸ್ ಗುಣಲಕ್ಷಣವನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಬೇಕು.
  • ಡೇಟಾ ಡೀರಿಯಲೈಸೇಶನ್ ಫಿಲ್ಟರ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ನೀಡಲಾಗಿದೆ, ಇದು ಸಂದರ್ಭ-ಸೂಕ್ಷ್ಮ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಡೀಸರಲೈಸೇಶನ್ ಕಾರ್ಯಾಚರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡಬಹುದು. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಫಿಲ್ಟರ್‌ಗಳು ಸಂಪೂರ್ಣ ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕೆ (JVM-ವೈಡ್) ಅನ್ವಯಿಸುತ್ತವೆ, ಅಂದರೆ. ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಬಳಸಿದ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಲೈಬ್ರರಿಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ.
  • ಹೆಚ್ಚಿನ DPI ಪರದೆಗಳಲ್ಲಿ UI ಅನ್ನು ಸುಧಾರಿಸಲು ದೊಡ್ಡ ಐಕಾನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು javax.swing.filechooser.FileSystemView.getSystemIcon ವಿಧಾನವನ್ನು ಸ್ವಿಂಗ್ ಸೇರಿಸಿದೆ.
  • java.net.DatagramSocket API ಪ್ರತ್ಯೇಕ java.net.MulticastSocket API ಅಗತ್ಯವಿಲ್ಲದೇ ಮಲ್ಟಿಕಾಸ್ಟ್ ಗುಂಪುಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.
  • IGV (ಐಡಿಯಲ್ ಗ್ರಾಫ್ ವಿಷುಲೈಜರ್) ಉಪಯುಕ್ತತೆಯನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ, ಹಾಟ್‌ಸ್ಪಾಟ್ VM C2 JIT ಕಂಪೈಲರ್‌ನಲ್ಲಿ ಮಧ್ಯಂತರ ಕೋಡ್ ಪ್ರಾತಿನಿಧ್ಯದ ಸಂವಾದಾತ್ಮಕ ದೃಶ್ಯೀಕರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ.
  • JavaDoc ನಲ್ಲಿ, javac ಕಂಪೈಲರ್‌ನೊಂದಿಗೆ ಸಾದೃಶ್ಯದ ಮೂಲಕ, ದೋಷವು ಔಟ್‌ಪುಟ್ ಆಗಿರುವಾಗ, ಮೂಲ ಫೈಲ್‌ನಲ್ಲಿನ ಸಮಸ್ಯಾತ್ಮಕ ಸಾಲಿನ ಸಂಖ್ಯೆ ಮತ್ತು ದೋಷದ ಸ್ಥಳವನ್ನು ಈಗ ಸೂಚಿಸಲಾಗುತ್ತದೆ.
  • ಸಿಸ್ಟಂ ಕ್ಯಾರೆಕ್ಟರ್ ಎನ್‌ಕೋಡಿಂಗ್ (UTF-8, koi8-r, cp1251, ಇತ್ಯಾದಿ) ಹೆಸರನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವ, native.encoding ಆಸ್ತಿಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • java.time.InstantSource ಇಂಟರ್‌ಫೇಸ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಸಮಯ ವಲಯವನ್ನು ಉಲ್ಲೇಖಿಸದೆ ಸಮಯ ಕುಶಲತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
  • ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಲು java.util.HexFormat API ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರತಿಯಾಗಿ.
  • ಕಂಪೈಲರ್‌ಗೆ ಬ್ಲ್ಯಾಕ್‌ಹೋಲ್ ಮೋಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಡೆಡ್-ಕೋಡ್ ಎಲಿಮಿನೇಷನ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಕಾರ್ಯಕ್ಷಮತೆಯ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸುವಾಗ ಇದನ್ನು ಬಳಸಬಹುದು.
  • ಅಸಮಕಾಲಿಕ ಮೋಡ್‌ನಲ್ಲಿ ಲಾಗ್‌ಗಳನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ರನ್‌ಟೈಮ್‌ಗೆ “-Xlog:async” ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಸುರಕ್ಷಿತ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ಥಾಪಿಸುವಾಗ, TLS 1.3 ಅನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ (ಹಿಂದೆ TLS 1.2 ಅನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು).
  • ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಬಳಸಲಾಗಿದ್ದ ಈ ಹಿಂದೆ ಬಳಕೆಯಲ್ಲಿಲ್ಲದ ಆಪ್ಲೆಟ್ API (java.applet.Applet*, javax.swing.JApplet) ಅನ್ನು ತೆಗೆದುಹಾಕಲು ಸ್ಲೇಟ್ ಮಾಡಿದ ವರ್ಗಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ (ಬೆಂಬಲದ ಅಂತ್ಯದ ನಂತರ ಪ್ರಸ್ತುತತೆಯನ್ನು ಕಳೆದುಕೊಂಡಿದೆ ಬ್ರೌಸರ್‌ಗಳಿಗಾಗಿ ಜಾವಾ ಪ್ಲಗಿನ್‌ಗಾಗಿ).
  • ಸೆಕ್ಯುರಿಟಿ ಮ್ಯಾನೇಜರ್, ಅದರ ಪ್ರಸ್ತುತತೆಯನ್ನು ಬಹಳ ಹಿಂದೆಯೇ ಕಳೆದುಕೊಂಡಿದೆ ಮತ್ತು ಬ್ರೌಸರ್ ಪ್ಲಗ್‌ಇನ್‌ಗೆ ಬೆಂಬಲದ ಅಂತ್ಯದ ನಂತರ ಹಕ್ಕು ಪಡೆಯದೆ ಉಳಿದಿದೆ, ತೆಗೆದುಹಾಕಲು ನಿಗದಿಪಡಿಸಿದ ವರ್ಗಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ.
  • RMI ಸಕ್ರಿಯಗೊಳಿಸುವ ಕಾರ್ಯವಿಧಾನವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ, ಇದು ಹಳೆಯದಾಗಿದೆ, ಜಾವಾ 8 ನಲ್ಲಿನ ಆಯ್ಕೆಯ ವರ್ಗಕ್ಕೆ ಹಿಮ್ಮೆಟ್ಟಿಸಲಾಗಿದೆ ಮತ್ತು ಆಧುನಿಕ ಆಚರಣೆಯಲ್ಲಿ ಬಹುತೇಕ ಎಂದಿಗೂ ಬಳಸಲಾಗುವುದಿಲ್ಲ.
  • ಹಾಟ್‌ಸ್ಪಾಟ್ JVM ಗಾಗಿ ಜಾವಾ ಕೋಡ್‌ನ ಡೈನಾಮಿಕ್ ಕಂಪೈಲೇಶನ್‌ಗಾಗಿ JIT ಅನ್ನು ಬೆಂಬಲಿಸುವ ಪ್ರಾಯೋಗಿಕ ಕಂಪೈಲರ್, ಹಾಗೆಯೇ ವರ್ಚುವಲ್ ಗಣಕವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಮೆಷಿನ್ ಕೋಡ್‌ಗೆ ವರ್ಗಗಳ ನಿರೀಕ್ಷಿತ ಸಂಕಲನದ (AOT, ಸಮಯಕ್ಕೆ ಮುಂಚಿತವಾಗಿ) , SDK ಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ. ಕಂಪೈಲರ್ ಅನ್ನು ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಗ್ರಾಲ್ ಯೋಜನೆಯ ಕೆಲಸವನ್ನು ಆಧರಿಸಿದೆ. ಕಂಪೈಲರ್ ನಿರ್ವಹಣೆಗೆ ಸಾಕಷ್ಟು ಶ್ರಮ ಬೇಕಾಗುತ್ತದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ, ಇದು ಅಭಿವರ್ಧಕರಿಂದ ಯಾವುದೇ ಬೇಡಿಕೆಯಿಲ್ಲದಿದ್ದಾಗ ಸಮರ್ಥಿಸುವುದಿಲ್ಲ.

ಮೂಲ: opennet.ru

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