рд╡рд┐рдХрд╛рд╕рдХреЛ рдЫ рдорд╣рд┐рдирд╛ рдкрдЫрд┐, рдУрд░реЗрдХрд▓ рдЬрд╛рд░реА рдкреНрд▓реЗрдЯрдлрд░реНрдо рдЬрд╛рднрд╛ рдПрд╕рдИ рез 15 (рдЬрд╛рднрд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдо, рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг 15), рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд OpenJDK рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рд╕рдиреНрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред Java SE 15 рд▓реЗ Java рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ рд░рд┐рд▓рд┐рдЬрд╣рд░реВрд╕рдБрдЧ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛рдпрдо рд░рд╛рдЦреНрдЫ; рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреНрддрд░реНрдЧрдд рд╕реБрд░реБ рдЧрд░реНрджрд╛ рд╕рдмреИ рдкрд╣рд┐рд▓реЗ рд▓рд┐рдЦрд┐рдд Java рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫред рдЬрд╛рднрд╛ SE 15 рдмрд┐рд▓реНрдбрд╣рд░реВ (JDK, JRE рд░ Server JRE) рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рддрдпрд╛рд░ рддрдпрд╛рд░ Linux (x86_64), Windows рд░ macOS рдХреЛ рд▓рд╛рдЧрд┐ред OpenJDK рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╕рдиреНрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рднрд╛ 15 GPLv2 рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдЕрдиреНрддрд░реНрдЧрдд рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛ, GNU ClassPath рдЕрдкрд╡рд╛рджрд╣рд░реВрд▓реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрддреНрдкрд╛рджрдирд╣рд░реВрд╕рдБрдЧ рдЧрддрд┐рд╢реАрд▓ рд▓рд┐рдЩреНрдХ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

Java SE 15 рд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрдХреЛ рд░реВрдкрдорд╛ рд╡рд░реНрдЧреАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рдЕрд░реНрдХреЛ рд░рд┐рд▓реАрдЬ рдирднрдПрд╕рдореНрдо рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╣рдиреЗрдЫред рд▓рд╛рдореЛ рдЕрд╡рдзрд┐рдХреЛ рд╕рдорд░реНрдерди (LTS) рд╢рд╛рдЦрд╛ Java SE 11 рд╣реБрдиреБрдкрд░реНрдЫ, рдЬрд╕рд▓реЗ 2026 рд╕рдореНрдо рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреЗрдЫред Java 8 рдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ LTS рд╢рд╛рдЦрд╛ рдбрд┐рд╕реЗрдореНрдмрд░ 2020 рд╕рдореНрдо рд╕рдорд░реНрдерд┐рдд рд╣реБрдиреЗрдЫред рдЕрд░реНрдХреЛ LTS рд░рд┐рд▓реАрдЬ рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ 2021 рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЫред рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдореНрдЭрдирд╛ рдЧрд░реМрдВ рдХрд┐ Java 10 рдХреЛ рд░рд┐рд▓реАрдЬрдХреЛ рд╕рд╛рде рд╕реБрд░реБ рдЧрд░реНрджреИ, рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓реЗ рдирдпрд╛рдБ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдпреЛ, рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрд╣рд░реВрдХреЛ рдЧрдардирдХреЛ рд▓рд╛рдЧрд┐ рдЫреЛрдЯреЛ рдЪрдХреНрд░рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИред рдирдпрд╛рдБ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдм рдПрдХ рдирд┐рд░рдиреНрддрд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рддрдпрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН рд░ рдЬрд╕рдмрд╛рдЯ рдирдпрд╛рдБ рд╡рд┐рдореЛрдЪрдирд╣рд░реВ рд╕реНрдерд┐рд░ рдЧрд░реНрди рдкреНрд░рддреНрдпреЗрдХ рдЫ рдорд╣рд┐рдирд╛рдорд╛ рд╢рд╛рдЦрд╛рд╣рд░реВ рдЫрдиреНред

╨Ш╨╖ рдирд╡рд╛рдЪрд╛рд░рд╣рд░реВ рдЬрд╛рднрд╛ 15 рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рдорд╛рд░реНрдХ:

  • рдмрд┐рд▓реНрдЯ-рдЗрди EdDSA (Edwards-Curve Digital Signature Algorithm) рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд┐рд░реНрдорд╛рдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди RFC 8032)ред рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд EdDSA рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИрди, рд╕рд╛рдЗрдб-рдЪреНрдпрд╛рдирд▓ рдЖрдХреНрд░рдордгрд╣рд░реВрдмрд╛рдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рдЫ (рд╕рдмреИ рдЧрдгрдирд╛рд╣рд░реВрдХреЛ рдирд┐рд░рдиреНрддрд░ рд╕рдордп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ) рд░ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕рдорд╛рди рд╕реНрддрд░рдХреЛ рд╕рд╛рде C рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЕрд╡рд╕реНрдерд┐рдд ECDSA рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдиреНрджрд╛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдЫрд┐рдЯреЛ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 126-рдмрд┐рдЯ рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рдЕрдгреНрдбрд╛рдХрд╛рд░ рдХрд░реНрдн рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ EdDSA рд▓реЗ secp256r1 рдЕрдгреНрдбрд╛рдХрд╛рд░ рдХрд░реНрдн рд░ 128-рдмрд┐рдЯ рдХреБрдЮреНрдЬреАрд╕рдБрдЧ ECDSA рд╕рдБрдЧ рд╕рдорд╛рди рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦрд╛рдЙрдБрдЫред
  • рдердкрд┐рдпреЛ рд╕рд┐рд▓ рдЧрд░рд┐рдПрдХрд╛ рд╡рд░реНрдЧрд╣рд░реВ рд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдерди, рдЬреБрди рдЕрдиреНрдп рд╡рд░реНрдЧрд╣рд░реВ рд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЗрдирд╣реЗрд░рд┐рдЯ рдЧрд░реНрди, рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдУрднрд░рд░рд╛рдЗрдб рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рд╕рд┐рд▓ рдЧрд░рд┐рдПрдХрд╛ рдХрдХреНрд╖рд╛рд╣рд░реВрд▓реЗ рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЙрдкрд╡рд░реНрдЧрд╣рд░реВрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреЗ рдЖрдзрд╛рд░рдорд╛ рдкрд╣реБрдБрдЪ рдкрд░рд┐рдорд╛рд░реНрдЬрдирдХрд░реНрддрд╛рд╣рд░реВ рднрдиреНрджрд╛ рд╕реБрдкрд░рдХреНрд▓рд╛рд╕рдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рдЧрд░реНрди рдердк рдШреЛрд╖рдгрд╛рддреНрдордХ рддрд░рд┐рдХрд╛ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

    рдкреНрдпрд╛рдХреЗрдЬ com.example.geometry;

    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реАрд▓ рд╡рд░реНрдЧ рдЖрдХрд╛рд░
    com.example.polar.Circle рд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ,
    com.example.quad.Rectangle,
    com.example.quad.simple.Square {тАж}

  • рдердкрд┐рдпреЛ рд▓реБрдХреЗрдХрд╛ рд╡рд░реНрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЬреБрди рдЕрдиреНрдп рдХрдХреНрд╖рд╛рд╣рд░реВрдХреЛ рдмрд╛рдЗрдЯрдХреЛрдбрджреНрд╡рд╛рд░рд╛ рд╕реАрдзрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рд▓реБрдХреЗрдХрд╛ рдХрдХреНрд╖рд╛рд╣рд░реВрдХреЛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдлреНрд░реЗрдорд╡рд░реНрдХрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рд╣реЛ рдЬрд╕рд▓реЗ рд░рдирдЯрд╛рдЗрдордорд╛ рдХрдХреНрд╖рд╛рд╣рд░реВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдкрд░рд╛рд╡рд░реНрддрдиред рддреНрдпрд╕реНрддрд╛ рдХрдХреНрд╖рд╛рд╣рд░реВрдорд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕реАрдорд┐рдд рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХрд╛ рдХрдХреНрд╖рд╛рд╣рд░реВрдмрд╛рдЯ рдкрд╣реБрдБрдЪрдХреЛ рд▓рд╛рдЧрд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╛рдпрдо рд░рд╛рдЦреНрдиреБ рдЙрдЪрд┐рдд рд╣реБрдБрджреИрди рд░ рдпрд╕рд▓реЗ рдореЗрдореЛрд░реА рдЦрдкрдд рдорд╛рддреНрд░ рдмрдврд╛рдЙрдиреЗрдЫред рд▓реБрдХреЗрдХрд╛ рдХрдХреНрд╖рд╛рд╣рд░реВрд▓реЗ рдЧреИрд░-рдорд╛рдирдХ API sun.misc.Unsafe::defineAnonymousClass рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд▓рд╛рдИ рдкрдирд┐ рд╣рдЯрд╛рдЙрдБрдЫ, рдЬреБрди рднрд╡рд┐рд╖реНрдпрдорд╛ рд╣рдЯрд╛рдЙрдиреЗ рддрдпрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫред
  • ZGC (Z рдЧрд╛рд░реНрдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░) рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рд╕реНрдерд┐рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рд░ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рд░реВрдкрдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред ZGC рдирд┐рд╖реНрдХреНрд░рд┐рдп рдореЛрдбрдорд╛ рдХрд╛рдо рдЧрд░реНрдЫ, рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рдирдХрд╛ рдХрд╛рд░рдг рд╡рд┐рд▓рдореНрдмрддрд╛рд▓рд╛рдИ рд╕рдХреЗрд╕рдореНрдо рдХрдо рдЧрд░реНрдЫ (ZGC рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ 10 ms рднрдиреНрджрд╛ рдмрдвреА рд╣реБрдБрджреИрдиред) рд░ рдзреЗрд░реИ рд╕рдп рдореЗрдЧрд╛рдмрд╛рдЗрдЯрджреЗрдЦрд┐ рдзреЗрд░реИ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕рд╕рдореНрдордХреЛ рд╕рд╛рдЗрдЬрдорд╛ рд╕рд╛рдирд╛ рд░ рдареВрд▓рд╛ рджреБрд╡реИ рд╣рд┐рдкрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫред
  • рд╕реНрдерд┐рд░ рд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдкрд╛рдЗрдпреЛ
    рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛ Shenandoah, рдиреНрдпреВрдирддрдо рдкрдЬ (рд▓реЛ-рдкрдЬ-рд╕рдордп рдЧрд╛рд░реНрдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░) рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрджреИред Shenandoah Red Hat рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рдпрд╕рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЫ рдЬрд╕рд▓реЗ рдЬрд╛рднрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд╕рд╛рде рд╕рдорд╛рдирд╛рдиреНрддрд░ рд░реВрдкрдорд╛ рдХреНрд▓реАрдирдЕрдк рдЪрд▓рд╛рдПрд░ рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрд╛ рд╕реНрдЯрд╛рд▓ рд╕рдордп рдШрдЯрд╛рдЙрдБрдЫред рдлреЛрд╣реЛрд░ рд╕рдЩреНрдХрд▓рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдврд┐рд▓рд╛рдЗрдХреЛ рдЖрдХрд╛рд░ рдЕрдиреБрдорд╛рдирд┐рдд рдЫ рд░ рдврд┐рд▓реЛрдХреЛ рдЖрдХрд╛рд░рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИрди, рдЕрд░реНрдерд╛рддреНред 200 MB рд░ 200 GB рдХреЛ рдврд┐рд▓рд╛рдЗрдХреЛ рд▓рд╛рдЧрд┐ рдврд┐рд▓рд╛рдЗ рд╕рдорд╛рди рд╣реБрдиреЗрдЫ (рдмрд╛рд╣рд┐рд░ рдирдЖрдЙ 50 ms рднрдиреНрджрд╛ рдкрд░ рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ 10 ms рднрд┐рддреНрд░);

  • рд╕рдорд░реНрдерди рд╕реНрдерд┐рд░ рд░ рднрд╛рд╖рд╛рдорд╛ рдкреЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫ рдкрд╛рда рдмреНрд▓рдХрд╣рд░реВ - рд╕реНрдЯреНрд░рд┐рдЩ рд▓рд┐рдЯрд░рд▓рд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд░реВрдк рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдПрд╕реНрдХреЗрдкрд┐рдЩ рд░ рдмреНрд▓рдХрдорд╛ рдореВрд▓ рдкрд╛рда рдврд╛рдБрдЪрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдирдЧрд░реА рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ рдмрд╣реБ-рд▓рд╛рдЗрди рдкрд╛рда рдбреЗрдЯрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдмреНрд▓рдХ рддреАрди рдбрдмрд▓ рдЙрджреНрдзрд░рдг рджреНрд╡рд╛рд░рд╛ рдлреНрд░реЗрдо рдЧрд░рд┐рдПрдХреЛ рдЫред

    рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдХреЛрдб рдХреЛ рд╕рдЯреНрдЯрд╛

    рд╕реНрдЯреНрд░рд┐рдЩ html = " ┬╗ +
    "\n\t" + " ┬╗ +
    "\n\t\t" + " \"Java 1 рдпрд╣рд╛рдБ рдЫ!\" ┬╗ +
    "\n\t" + " ┬╗ +
    "\n" + " ";

    рддрдкрд╛рдЗрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

    рд╕реНрдЯреНрд░рд┐рдЩ html = """


    ┬╗рдЬрд╛рднрд╛ резрел\
    рдпрд╣рд╛рдБ рдЫ!

    """;

  • рдкреБрди: рдХрд╛рдо рдЧрд░рд┐рдпреЛ рд▓рд┐рдЧреЗрд╕реА DatagramSocket APIред java.net.DatagramSocket рд░ java.net.MulticastSocket рдХреЛ рдкреБрд░рд╛рдиреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬреБрди рдбрд┐рдмрдЧ рд░ рдорд░реНрдордд рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ, рд░ рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрд┐рддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рднрд░реНрдЪреБрдЕрд▓ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рдЙрдкрдпреБрдХреНрдд рдЫред рд▓реБрдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдбрд╕рдБрдЧ рд╕рдореНрднрд╛рд╡рд┐рдд рдЕрд╕рдВрдЧрддрддрд╛рдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкреБрд░рд╛рдиреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫреИрди рд░ jdk.net.usePlainDatagramSocketImpl рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдХреНрд╖рдо рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
  • рджреЛрд╕реНрд░реЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдврд╛рдБрдЪрд╛ рдорд┐рд▓рд╛рди "instanceof" рдЕрдкрд░реЗрдЯрд░рдорд╛, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЪреЗрдХ рдЧрд░рд┐рдПрдХреЛ рдорд╛рди рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ "String s = (String) obj" рд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирдЧрд░реА рддреБрд░реБрдиреНрддреИ "if (obj instance of String s && s.length() > 5) {.. s.contains(..) ..}" рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

    рдерд┐рдпреЛ:

    рдпрджрд┐ (рд╕рдореВрд╣рдХреЛ рд╡рд╕реНрддреБ рдЙрджрд╛рд╣рд░рдг) {
    рд╕рдореВрд╣ рд╕рдореВрд╣ = (рд╕рдореВрд╣) рд╡рд╕реНрддреБ;
    var рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВ = group.getEntries();
    }

    рдЕрдм рддрдкрд╛рдЗрдБ "рд╕рдореВрд╣ рд╕рдореВрд╣ = (рд╕рдореВрд╣) рд╡рд╕реНрддреБ" рдкрд░рд┐рднрд╛рд╖рд╛ рдмрд┐рдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

    рдпрджрд┐ (рд╕рдореВрд╣ рд╕рдореВрд╣рдХреЛ рд╡рд╕реНрддреБ рдЙрджрд╛рд╣рд░рдг) {
    var рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рд╣рд░реВ = group.getEntries();
    }

  • рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдиреБрднрдпреЛ рдХреБрдЮреНрдЬреА рд╢рдмреНрджрдХреЛ рджреЛрд╕реНрд░реЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "рд░реЗрдХрд░реНрдб", рдЬрд╕рд▓реЗ рд╡рд░реНрдЧрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рдлрд╛рд░рдо рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдореНрди-рд╕реНрддрд░ рд╡рд┐рдзрд┐рд╣рд░реВ рдЬрд╕реНрддреИ equals(), hashCode() рд░ toString() рд▓рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЬрд╣рд╛рдБ рдбрд╛рдЯрд╛ рдХреЗрд╡рд▓ рдлрд┐рд▓реНрдбрд╣рд░реВрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ рдЬрд╕рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдБрджреИрдиред рдЬрдм рд╡рд░реНрдЧрд▓реЗ рдмрд░рд╛рдмрд░ (), hashCode() рд░ toString() рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдпрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдмрд┐рдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫ:

    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реЗрдХрд░реНрдб рдмреИрдВрдХ рд▓реЗрдирджреЗрди (рд╕реНрдерд╛рдиреАрдп рдорд┐рддрд┐ рдорд┐рддрд┐,
    рджреЛрдмреНрдмрд░ рд░рдХрдо
    рд╕реНрдЯреНрд░рд┐рдЩ рд╡рд┐рд╡рд░рдг) {}

    рдпреЛ рдШреЛрд╖рдгрд╛рд▓реЗ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд░ рдЧреЗрдЯрд░ рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд░рд╛рдмрд░ (), hashCode() рд░ toString() рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рддрдГ рдердкреНрдиреЗрдЫред

  • рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рджреЗрд╢реА-рдореЗрдореЛрд░реА рдкрд╣реБрдБрдЪ API рдХреЛ рджреЛрд╕реНрд░реЛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди, рдирдпрд╛рдБ MemorySegment, MemoryAddress, рд░ MemoryLayout abstractions рд╣реЗрд░рдлреЗрд░ рдЧрд░реЗрд░ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рд╕реБрд░рдХреНрд╖рд┐рдд рд░ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрд╛рднрд╛ рд╣рд┐рдк рдмрд╛рд╣рд┐рд░ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИред
  • рдЕрдХреНрд╖рдо рд░ рд▓рдХрд┐рдЩ рдУрднрд░рд╣реЗрдб рдХрдо рдЧрд░реНрди HotSpot JVM рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкрдХреНрд╖рдкрд╛рддреА рд▓рдХ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рдкреНрд░рд╡рд┐рдзрд┐рд▓рд╛рдИ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдпреЛред рдпреЛ рдкреНрд░рд╡рд┐рдзрд┐рд▓реЗ рдЖрдзреБрдирд┐рдХ CPUs рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рднрдПрдХрд╛ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдпрд╕рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдЧреБрдорд╛рдПрдХреЛ рдЫ, рд░ рдпрд╕рдХреЛ рдЬрдЯрд┐рд▓рддрд╛рдХреЛ рдХрд╛рд░рдг рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдзреЗрд░реИ рд╢реНрд░рдо-рдЧрд╣рди рдЫред
  • рдШреЛрд╖рдгрд╛ рдЧрд░реЗ рдкреБрд░рд╛рдиреЛ рд╕рдВрдпрдиреНрддреНрд░ RMI рд╕рдХреНрд░рд┐рдпрддрд╛, рдЬреБрди рднрд╡рд┐рд╖реНрдпрдХреЛ рд░рд┐рд▓реАрдЬрдорд╛ рд╣рдЯрд╛рдЗрдиреЗрдЫред рдпреЛ рдиреЛрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ RMI рд╕рдХреНрд░рд┐рдпрддрд╛ рдкреБрд░рд╛рдиреЛ рдЫ, рдЬрд╛рднрд╛ 8 рдорд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╢реНрд░реЗрдгреА рдорд╛ relegated рд░ рдЖрдзреБрдирд┐рдХ рдЕрднреНрдпрд╛рд╕ рдорд╛ рд▓рдЧрднрдЧ рдХрд╣рд┐рд▓реНрдпреИ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рджреИрдиред
  • рдореЗрдЯрд╛рдЗрдпреЛ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдиреНрдЬрд┐рди рдЧреИрдВрдбрд╛, рдЬреБрди Java SE 11 рдорд╛ рдмрд╣рд┐рд╖реНрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
  • рд╣рдЯрд╛рдЗрдпреЛ Solaris OS рд░ SPARC рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдкреЛрд░реНрдЯрд╣рд░реВ (Solaris/SPARC, Solaris/x64 рд░ Linux/SPARC)ред рдпреА рдкреЛрд░реНрдЯрд╣рд░реВ рд╣рдЯрд╛рдЙрдирд╛рд▓реЗ рд╕рдореБрджрд╛рдпрд▓рд╛рдИ рд╕реЛрд▓рд╛рд░рд┐рд╕ рд░ SPARC рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рд╕рдордп рдмрд░реНрдмрд╛рдж рдирдЧрд░реА рдирдпрд╛рдБ OpenJDK рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди