αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Java SE 15

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžšαž™αŸˆαž–αŸαž›αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Oracle αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αžœαŸαž‘αž·αž€αžΆ αž…αžΆαžœαŸ‰αžΆ SE ៑αŸ₯ (Java Platform, Standard Edition 15) αž‚αž˜αŸ’αžšαŸ„αž„ OpenJDK αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž™αŸ„αž„αŸ” Java SE 15 αžšαž€αŸ’αžŸαžΆαž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαžαž™αž€αŸ’αžšαŸ„αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž–αžΈαž˜αž»αž“αž“αŸƒαžœαŸαž‘αž·αž€αžΆ Java αž‚αž˜αŸ’αžšαŸ„αž„ Java αžŠαŸ‚αž›αž”αžΆαž“αžŸαžšαžŸαŸαžšαž–αžΈαž˜αž»αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž–αŸαž›αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αžšαŸ„αž˜αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαŸ” αžšαž½αž…αžšαžΆαž›αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ Java SE 15 builds (JDK, JRE αž“αž·αž„ Server JRE) αžšαŸ€αž”αž…αŸ† αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Linux (x86_64), Windows αž“αž·αž„ macOS αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž―αž€αžŸαžΆαžšαž™αŸ„αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž‚αž˜αŸ’αžšαŸ„αž„ OpenJDK Java 15 αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αžŽαŸ’αžŽ GPLv2 αžŠαŸ„αž™αž˜αžΆαž“αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„ GNU ClassPath αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžαžΆαž˜αžœαž“αŸ’αžαž‡αžΆαž˜αž½αž™αž•αž›αž·αžαž•αž›αž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αŸ”

Java SE 15 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž‘αžΌαž‘αŸ… αž αžΎαž™αž“αžΉαž„αž”αž“αŸ’αžαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαžšαž αžΌαžαžŠαž›αŸ‹αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž›αžΎαž€αž€αŸ’αžšαŸ„αž™αŸ” αžŸαžΆαžαžΆαž‚αžΆαŸ†αž‘αŸ’αžšαžšαž™αŸˆαž–αŸαž›αžœαŸ‚αž„ (LTS) αž‚αž½αžšαžαŸ‚αž‡αžΆ Java SE 11 αžŠαŸ‚αž›αž“αžΉαž„αž”αž“αŸ’αžαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαžšαž αžΌαžαžŠαž›αŸ‹αž†αŸ’αž“αžΆαŸ† 2026αŸ” សអខអ LTS αž˜αž»αž“αžšαž”αžŸαŸ‹ Java 8 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαžšαž αžΌαžαžŠαž›αŸ‹αžαŸ‚αž’αŸ’αž“αžΌ 2020αŸ” αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ LTS αž”αž“αŸ’αž‘αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž€αž‰αŸ’αž‰αžΆ 2021 αŸ” αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αžšαŸ†αž›αžΉαž€αž’αŸ’αž“αž€αžαžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸƒ Java 10 αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž”αžΆαž“αž”αŸ’αžαžΌαžšαž‘αŸ…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž˜αžΈαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžœαžŠαŸ’αžαžαŸ’αž›αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαŸ” αž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžαžΆαž˜αŸαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž₯αžαžˆαž”αŸ‹αžˆαžš αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž… αž“αž·αž„αž–αžΈαžŸαžΆαžαžΆαžŽαžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ‚αž€αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αž”αŸ’αžšαžΆαŸ†αž˜αž½αž™αžαŸ‚αž˜αŸ’αžαž„ αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαžŸαŸ’αžαŸαžšαž—αžΆαž–αž“αŸƒαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαŸ”

αž–αžΈ αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αž Java 15 αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“ αžŸαž‰αŸ’αž‰αžΆ:

  • αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ EdDSA (Edwards-Curve Digital Signature Algorithm) αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž αžαŸ’αžαž›αŸαžαžΆαžŒαžΈαž‡αžΈαžαž› RFC 8032) αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž EdDSA αžŠαŸ‚αž›αžŸαŸ’αž“αžΎαž‘αžΎαž„αž˜αž·αž“αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžœαŸαž‘αž·αž€αžΆαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž‘αŸ αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžšαž–αžΆαžšαž–αžΈαž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαžαžΆαž˜αž†αžΆαž“αŸ‚αž›αž…αŸ†αž αŸ€αž„ (αž–αŸαž›αžœαŸαž›αžΆαžαŸαžšαž“αŸƒαž€αžΆαžšαž‚αžŽαž“αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆ) αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΏαž“αž‡αžΆαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž ECDSA αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž‡αžΆαž—αžΆαžŸαžΆ C αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž§αž‘αžΆαž αžšαžŽαŸ EdDSA αžŠαŸ„αž™αž”αŸ’αžšαžΎαžαŸ’αžŸαŸ‚αž€αŸ„αž„αžšαžΆαž„αž’αŸαž›αžΈαž”αžŠαŸ‚αž›αž˜αžΆαž“αž‚αž“αŸ’αž›αžΉαŸ‡ 126 αž”αŸŠαžΈαžαž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„ ECDSA αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αžŸαŸ‚αž€αŸ„αž„αžšαžΆαž„αž’αŸαž›αžΈαž” secp256r1 αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡ 128 αž”αŸŠαžΈαžαŸ”
  • αž”αž“αŸ’αžαŸ‚αž˜ αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αž–αž·αžŸαŸ„αž’αž“αŸβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„β€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹β€‹αžŠαŸ‚αž›β€‹αž”αž·αž‘β€‹αž‡αž·αž αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαŸ„αž™β€‹αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„β€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹β€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αžβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž‘αž‘αž½αž›β€‹αž˜αžšαžαž€ αž–αž„αŸ’αžšαžΈαž€ αž¬β€‹αž”αžŠαž·αžŸαŸαž’β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžαŸ” αžαŸ’αž“αžΆαž€αŸ‹αž”αž·αž‘αž‡αž·αžαž€αŸαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžœαž·αž’αžΈαž”αŸ’αžšαž€αžΆαžŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž€αž˜αŸ’αžšαž·αžαž›αžΎαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ superclass αž‡αžΆαž‡αžΆαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ‚αž”αŸ’αžšαŸ‚ αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹αžšαž„αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αŸ”

    αž€αž‰αŸ’αž…αž”αŸ‹ com.example.geometry;

    αžšαžΌαž”αžšαžΆαž„αžαŸ’αž“αžΆαž€αŸ‹αž”αž·αž‘αž‡αž·αžαžŸαžΆαž’αžΆαžšαžŽαŸˆ
    αž’αž“αž»αž‰αŸ’αž‰αžΆαž com.example.polar.Circle,
    com.example.quad.αž…αžαž»αž€αŸ„αžŽ,
    com.example.quad.simple.Square {…}

  • αž”αž“αŸ’αžαŸ‚αž˜ αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž“αžΆαž€αŸ‹β€‹αž›αžΆαž€αŸ‹β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαŸ„αž™β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αžŠαŸ„αž™β€‹αž›αŸαžβ€‹αž€αžΌαžŠβ€‹αž“αŸƒβ€‹αžαŸ’αž“αžΆαž€αŸ‹β€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αžβ€‹αŸ” αž‚αŸ„αž›αž”αŸ†αžŽαž„αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž›αžΆαž€αŸ‹αž‚αžΊαžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒαžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαžαŸ’αž“αžΆαž€αŸ‹αžαžΆαž˜αžœαž“αŸ’αžαž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž”αŸ’αžšαžΎαž–αž½αž€αžœαžΆαžŠαŸ„αž™αž”αŸ’αžšαž™αŸ„αž› αžαžΆαž˜αžšαž™αŸˆ αž€αžΆαžšαž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„. αžαŸ’αž“αžΆαž€αŸ‹αž”αŸ‚αž”αž“αŸαŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž˜αžΆαž“αžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž–αž½αž€αžœαžΆαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎαž–αžΈαžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αž·αž“αžŸαž˜αž αŸαžαž»αž•αž›αž‘αŸ αž αžΎαž™αž“αžΉαž„αž“αžΆαŸ†αž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž€αžΎαž“αž‘αžΎαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž›αžΆαž€αŸ‹αž€αŸαž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ API αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš sun.misc.Unsafe::defineAnonymousClass αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαž€αž…αŸαž‰αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαŸ”
  • αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜ ZGC (Z Garbage Collector) αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž– αž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™αŸ” ZGC αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž’αž€αž˜αŸ’αž˜ αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž±αŸ’αž™αž”αžΆαž“αž…αŸ’αžšαžΎαž“αžαžΆαž˜αžαŸ‚αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ (αž–αŸαž›αžœαŸαž›αžΆαžˆαž”αŸ‹αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ ZGC αž˜αž·αž“αž›αžΎαžŸαž–αžΈ 10 ms αŸ”) αž αžΎαž™αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‘αžΆαŸ†αž„αž‘αŸ†αž αŸ†αžαžΌαž… αž“αž·αž„αž’αŸ† αžŠαŸ‚αž›αž˜αžΆαž“αž‘αŸ†αž αŸ†αž…αžΆαž”αŸ‹αž–αžΈαžšαžΆαž”αŸ‹αžšαž™αž˜αŸαž αŸ’αž‚αžΆαž”αŸƒαž‘αŸ…αž…αŸ’αžšαžΎαž“ terabytes αŸ”
  • αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž– αž“αž·αž„αž”αžΆαž“αžšαž€αžƒαžΎαž‰αžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αžΌαž‘αŸ…
    αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαž˜αžΌαž›β€‹αžŸαŸ†αžšαžΆαž˜ αžŸαŸαž“αžŠαžΌαžŽαžΆαŸ”αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž•αŸ’αž’αžΆαž€αžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αž (Low-Pause-Time Garbage Collector)αŸ” Shenandoah αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™ Red Hat αž αžΎαž™β€‹αžœαžΆβ€‹αž‚αž½αžšβ€‹αž±αŸ’αž™β€‹αž€αžαŸ‹β€‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžΎβ€‹αž”αŸ’αžšαžΆαžŸαŸ‹β€‹αž“αŸƒβ€‹αž€αŸ’αž”αž½αž“β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αžŠαŸ‚αž›β€‹αž€αžΆαžαŸ‹β€‹αž”αž“αŸ’αžαž™β€‹αž–αŸαž›β€‹αžˆαž”αŸ‹β€‹αžŸαž˜αŸ’αžšαžΆαž€β€‹αž€αŸ’αž“αž»αž„β€‹αž’αŸ†αž‘αž»αž„β€‹αž–αŸαž›β€‹αž”αŸ’αžšαž˜αžΌαž›β€‹αžŸαŸ†αžšαžΆαž˜β€‹αžŠαŸ„αž™β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžŸαž˜αŸ’αž’αžΆαžβ€‹αžŸαŸ’αžšαž”β€‹αž“αžΉαž„β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·β€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Java αŸ” αž‘αŸ†αž αŸ†αž“αŸƒαž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αžŠαŸ‚αž›αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ„αž™αž’αŸ’αž“αž€αž”αŸ’αžšαž˜αžΌαž›αžŸαŸ†αžšαžΆαž˜αž‚αžΊαž’αžΆαž…αž–αŸ’αž™αžΆαž€αžšαžŽαŸαž”αžΆαž“ αž“αž·αž„αž˜αž·αž“αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‘αŸ†αž αŸ†αžšαž”αžŸαŸ‹αž‚αŸ†αž“αžš, i.e. αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ heaps αž“αŸƒ 200 MB αž“αž·αž„ 200 GB αž€αžΆαžšαž–αž“αŸ’αž™αžΆαžšαž–αŸαž›αž“αžΉαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘ (αž€αž»αŸ†αž…αŸαž‰αž˜αž€ αž›αžΎαžŸαž–αžΈ 50 ms αž“αž·αž„αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž› 10 ms);

  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž– αž“αž·αž„αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆ αž”αŸ’αž›αž»αž€αž’αžαŸ’αžαž”αž‘ - αž‘αž˜αŸ’αžšαž„αŸ‹αž’αž€αŸ’αžŸαžšαžαŸ’αž˜αžΈαž“αŸƒαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αžαŸ’αžαž”αž‘αž…αŸ’αžšαžΎαž“αž”αž“αŸ’αž‘αžΆαžαŸ‹αž€αŸ’αž“αž»αž„αž€αžΌαžŠαž”αŸ’αžšαž—αž–αžŠαŸ„αž™αž˜αž·αž“αž”αŸ’αžšαžΎαž€αžΆαžšαž‚αŸαž…αž…αŸαž‰αžαž½αž’αž€αŸ’αžŸαžš αž“αž·αž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž˜αŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘αžŠαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€αŸ” αž”αŸ’αž›αž»αž€αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸŠαž»αž˜αžŠαŸ„αž™αžŸαž˜αŸ’αžšαž„αŸ‹αž–αžΈαžšαŸ”

    αž§αž‘αžΆαž αžšαžŽαŸαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž›αŸαžαž€αžΌαžŠ

    αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš html = " Β» +
    "\n\t" + " Β» +
    "\n\t\t" + " \"Java 1 αž˜αž€αžŠαž›αŸ‹αž αžΎαž™!\" Β» +
    "\n\t" + " Β» +
    "\n" + " ";

    αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ–

    αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš html = """


    Β» Java 1\
    αž“αŸ…β€‹αž‘αžΈαž“αŸαŸ‡!

    """;

  • αžšαž…αž“αžΆαž‘αžΎαž„αžœαž·αž‰ Legacy DatagramSocket API αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹ java.net.DatagramSocket αž“αž·αž„ java.net.MulticastSocket αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ†αž“αž½αžŸαžŠαŸ„αž™αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αŸ‚αž”αž‘αŸ†αž“αžΎαž” αžŠαŸ‚αž›αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ αž“αž·αž„αžαŸ‚αž‘αžΆαŸ† αž αžΎαž™αžœαžΆαž€αŸαžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αžŸαŸ’αž‘αŸ’αžšαžΈαž˜αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž•αž„αžŠαŸ‚αžšαŸ” ទូម. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž˜αž·αž“αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αžΌαžŠαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž…αžΆαžŸαŸ‹αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž‘αŸ αž αžΎαž™αž’αžΆαž…αž”αžΎαž€αž”αžΆαž“αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸ jdk.net.usePlainDatagramSocketImplαŸ”
  • αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž–αž·αžŸαŸ„αž’αž“αŸβ€‹αž›αžΎαž€β€‹αž‘αžΈβ€‹αž–αžΈαžšβ€‹αž”αžΆαž“β€‹αžŸαŸ’αž“αžΎβ€‹αž‘αžΎαž„ αž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αž›αŸ†αž“αžΆαŸ† αž“αŸ…αž€αŸ’αž“αž»αž„ "instanceof" operator αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž’αžαŸαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž—αŸ’αž›αžΆαž˜αŸ—αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž”αŸ’αžšαžΎαžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžšαž—αŸ’αž›αžΆαž˜αŸ—αžαžΆ β€œif (obj instanceof String s && s.length() > 5) {.. s.contains (..) ..}” αžŠαŸ„αž™αž˜αž·αž“αž€αŸ†αžŽαžαŸ‹αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆ β€œString s = (String) obj” αŸ”

    αž‚αžΊαŸ–

    αž”αŸ’αžšαžŸαž·αž“αž”αžΎ (obj αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αŸ’αžšαž»αž˜) {
    αž€αŸ’αžšαž»αž˜ = (αž€αŸ’αžšαž»αž˜)obj;
    var entries = group.getEnries();
    }

    αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž“αž·αž™αž˜αž“αŸαž™ "αž€αŸ’αžšαž»αž˜ = (αž€αŸ’αžšαž»αž˜) obj":

    αž”αŸ’αžšαžŸαž·αž“αž”αžΎ (obj αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αŸ’αžšαž»αž˜αž€αŸ’αžšαž»αž˜) {
    var entries = group.getEnries();
    }

  • αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž–αž·αžŸαŸ„αž’αž“αŸαž‘αžΈαž–αžΈαžšαž“αŸƒαž–αžΆαž€αŸ’αž™αž‚αž“αŸ’αž›αžΉαŸ‡ "αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆ" αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‘αž˜αŸ’αžšαž„αŸ‹αž”αž„αŸ’αžšαž½αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αž“αžΌαžœαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΌαž…αž‡αžΆ equals(), hashCode() αž“αž·αž„ toString() αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαŸ‚αž€αŸ’αž“αž»αž„αžœαžΆαž›αžŠαŸ‚αž›αž₯αžšαž·αž™αžΆαž”αžαž˜αž·αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž“αžΆαž€αŸ‹αž”αŸ’αžšαžΎαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš equals() hashCode() αž“αž·αž„ toString() αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž”αžΆαž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž“αž·αž™αž˜αž“αŸαž™αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ–

    αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆ BankTransaction (αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€,
    αž…αŸ†αž“αž½αž“αž‘αŸ’αžœαŸαžšαžŠαž„
    αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš) {}

    αžŸαŸαž…αž€αŸ’αžαžΈαž”αŸ’αžšαž€αžΆαžŸαž“αŸαŸ‡αž“αžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš equals(), hashCode() αž“αž·αž„ toString() αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž constructor αž“αž·αž„ getter αŸ”

  • αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αž€αžΆαžšαž˜αžΎαž›αž‡αžΆαž˜αž»αž“αž‘αžΈαž–αžΈαžšαž“αŸƒ Foreign-Memory Access API αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Java αž…αžΌαž›αž”αŸ’αžšαžΎαžαŸ†αž”αž“αŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžαžΆαž„αž€αŸ’αžšαŸ… Java heap αžŠαŸ„αž™αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αžŠαŸ„αž™αžšαŸ€αž”αž…αŸ† MemorySegment, MemoryAddress αž“αž·αž„ MemoryLayout abstractions αžαŸ’αž˜αžΈαŸ”
  • αž–αž·αž€αžΆαžš αž“αž·αž„αž”αžŠαž·αžŸαŸαž’αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αžŠαŸ„αž™αž›αŸ†αž’αŸ€αž„αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ HotSpot JVM αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž…αžΆαž€αŸ‹αžŸαŸ„αžšαž–αžΈαž›αžΎαž€αŸ’αž”αžΆαž›αŸ” αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž“αŸαŸ‡αž”αžΆαž“αž”αžΆαžαŸ‹αž”αž„αŸ‹αž—αžΆαž–αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αžœαžΆαž‘αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αžΆαžαžΌαž˜αž·αž€αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αžŸαŸŠαžΈαž—αžΈαž™αžΌαž‘αŸ†αž“αžΎαž” αž αžΎαž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž˜αŸ’αž›αžΆαŸ†αž„αž–αž›αž€αž˜αŸ’αž˜αžαŸ’αž›αžΆαŸ†αž„αž–αŸαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ‚αžšαž€αŸ’αžŸαžΆαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžšαž”αžŸαŸ‹αžœαžΆαŸ”
  • αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸ αž™αž“αŸ’αžαž€αžΆαžšαž αž½αžŸαžŸαž˜αŸαž™ αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜ RMIαžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αžΆαž–αŸαž›αžαžΆαž„αž˜αž»αžαŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆαž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜ RMI αž‚αžΊαž αž½αžŸαžŸαž˜αŸαž™αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžαŸ‹αž…αŸαž‰αž–αžΈαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸ…αž€αŸ’αž“αž»αž„ Java 8 αž αžΎαž™αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž·αž“αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αŸ†αž“αžΎαž”αŸ”
  • αž”αžΆαž“αž›αž»αž” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ JavaScript NashornαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’αž€αŸ’αž“αž»αž„ Java SE 11αŸ”
  • αž”αžΆαž“αžŠαž€αž…αŸαž‰ αž…αŸ’αžšαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Solaris OS αž“αž·αž„ SPARC (Solaris / SPARC, Solaris / x64 αž“αž·αž„ Linux / SPARC) αŸ” αž€αžΆαžšαžŠαž€αž…αŸ’αžšαž€αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŸαž αž‚αž˜αž“αŸαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αž»αžαž„αžΆαžš OpenJDK αžαŸ’αž˜αžΈαžŠαŸ„αž™αž˜αž·αž“αžαŸ’αž‡αŸ‡αžαŸ’αž‡αžΆαž™αž–αŸαž›αžœαŸαž›αžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ‚αžšαž€αŸ’αžŸαžΆαž˜αž»αžαž„αžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžšαž”αžŸαŸ‹ Solaris αž“αž·αž„ SPARC αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹