рдЬрд╛рд╡рд╛ рдПрд╕рдИ 15 рд░рд┐рд▓реАрдЬ

рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж, Oracle рд░рд┐рд╣рд╛ рдПрдХ рдордВрдЪ рдЬрд╛рд╡рд╛ рдПрд╕рдИ 15 (рдЬрд╛рд╡рд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг 15), рдУрдкрди-рд╕реЛрд░реНрд╕ рдУрдкрдирдЬреЗрдбреАрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдПрд╕рдИ 15 рдЬрд╛рд╡рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ; рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рддрд╣рдд рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╕рднреА рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЬрд╛рд╡рд╛ рдПрд╕рдИ 15 рдмрд┐рд▓реНрдб (рдЬреЗрдбреАрдХреЗ, рдЬреЗрдЖрд░рдИ рдФрд░ рд╕рд░реНрд╡рд░ рдЬреЗрдЖрд░рдИ) рддреИрдпрд╛рд░ Linux (x86_64), Windows рдФрд░ macOS рдХреЗ рд▓рд┐рдПред OpenJDK рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд╡рд╛ 15 GPLv2 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ, GNU рдХреНрд▓рд╛рд╕рдкрд╛рде рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рдХреА рдирд╡рдкреНрд░рд╡рд░реНрддрди рдЬрд╛рд╡рд╛ 15 рдПрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдорд╛рд░реНрдХ:

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

    рдкреИрдХреЗрдЬ com.example.geometry;

    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдореБрд╣рд░рдмрдВрдж рд╡рд░реНрдЧ рдЖрдХрд╛рд░
    рдкрд░рдорд┐рдЯ com.example.polar.Circle,
    com.example.quad.рдЖрдпрдд,
    com.example.quad.simple.Square {...}

  • рдЬреЛрдбрд╝рд╛ рдЫрд┐рдкреА рд╣реБрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмрд╛рдЗрдЯрдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЫрд┐рдкреА рд╣реБрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЙрди рдврд╛рдВрдЪреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрдХреНрд╖рд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдм. рдРрд╕реА рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕реАрдорд┐рдд рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрдХреНрд╖рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рд░рдЦрдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдХреЗрд╡рд▓ рдореЗрдореЛрд░реА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред рдЫрд┐рдкреА рд╣реБрдИ рдХрдХреНрд╖рд╛рдПрдВ рдЧреИрд░-рдорд╛рдирдХ рдПрдкреАрдЖрдИ sun.misc.Unsafe::defineAnonymousClass рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рднреА рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддреА рд╣реИрдВ, рдЬрд┐рд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдЯрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
  • ZGC (Z рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░) рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдорд╛рдирд╛ рдЧрдпрд╛ рд╣реИред ZGC рдирд┐рд╖реНрдХреНрд░рд┐рдп рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ (ZGC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯрд╛рд▓ рд╕рдордп 10 рдПрдордПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рдФрд░ рдЫреЛрдЯреЗ рдФрд░ рд╡рд┐рд╢рд╛рд▓ рджреЛрдиреЛрдВ рдвреЗрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рдХрдИ рд╕реМ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ рд▓реЗрдХрд░ рдХрдИ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рддрдХ рд╣реЛрддрд╛ рд╣реИред
  • рд╕реНрдерд┐рд░ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкрд╛рдпрд╛ рдЧрдпрд╛
    рдорд▓ рдЬрдорд╛ рдХрд░рдирд╛ рд╢реЗрдирд╛рдВрдбреЛрд╣, рдиреНрдпреВрдирддрдо рд╡рд┐рд░рд╛рдо (рд▓реЛ-рдкреЙрдЬрд╝-рдЯрд╛рдЗрдо рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рд╢реЗрдирд╛рдиреНрдбрд╛рд╣ рдХреЛ рд░реЗрдб рд╣реИрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХреНрд▓реАрдирдЕрдк рдЪрд▓рд╛рдХрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рджреМрд░рд╛рди рд╕реНрдЯрд╛рд▓ рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рджреЗрд░реА рдХрд╛ рдЖрдХрд╛рд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╣реИ рдФрд░ рдпрд╣ рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛рдиреАред 200 рдПрдордмреА рдФрд░ 200 рдЬреАрдмреА рдХреЗ рдвреЗрд░ рдХреЗ рд▓рд┐рдП рджреЗрд░реА рд╕рдорд╛рди рд╣реЛрдЧреА (рдмрд╛рд╣рд░ рдордд рдЖрдУ 50 рдПрдордПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдФрд░ рдЖрдорддреМрд░ рдкрд░ 10 рдПрдордПрд╕ рдХреЗ рднреАрддрд░);

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

    рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЗ рдмрдЬрд╛рдп

    рд╕реНрдЯреНрд░рд┐рдВрдЧ html = " ┬╗+
    "\n\t" + " ┬╗+
    "\n\t\t" + " \"рдЬрд╛рд╡рд╛ 1 рдпрд╣рд╛рдБ рд╣реИ!\" ┬╗+
    "\n\t" + " ┬╗+
    "\n" + " ";

    рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

    рд╕реНрдЯреНрд░рд┐рдВрдЧ html = """


    ┬╗рдЬрд╛рд╡рд╛ 1\
    рдпрд╣рд╛рдБ рд╣реИ!

    """;

  • рдкрд░ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рд▓реАрдЧреЗрд╕реА рдбреЗрдЯрд╛рдЧреНрд░рд╛рдорд╕реЙрдХреЗрдЯ рдПрдкреАрдЖрдИред Java.net.DatagramSocket рдФрд░ java.net.MulticastSocket рдХреЗ рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдбреАрдмрдЧ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рднреАрддрд░ рд╡рд┐рдХрд╕рд┐рдд рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рднреА рд╕рдВрдЧрдд рд╣реИред рдХрд░рдШрд╛. рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╕рдВрдЧрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреБрд░рд╛рдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ jdk.net.usePlainDatagramSocketImpl рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рджреВрд╕рд░рд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди "рдЗрдВрд╕реНрдЯреЗрдВрд╕рдСрдлрд╝" рдСрдкрд░реЗрдЯрд░ рдореЗрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдорд╛рди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк "рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрд╕ = (рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдУрдмреАрдЬреЗ" рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рддреБрд░рдВрдд "if (objinstanceof String s && s.length() > 5) {.. s.contains(..) ..}" рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

    рдпрд╣ рдерд╛:

    рдпрджрд┐ (obj рдЗрдВрд╕реНрдЯреЗрдВрд╕рдСрдл рдЧреНрд░реБрдк) {
    рд╕рдореВрд╣ рд╕рдореВрд╣ = (рд╕рдореВрд╣)obj;
    var рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ = рд╕рдореВрд╣.getEntries();
    }

    рдЕрдм рдЖрдк "рд╕рдореВрд╣ рд╕рдореВрд╣ = (рд╕рдореВрд╣) рдУрдмреАрдЬреЗ" рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

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

  • рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреАрд╡рд░реНрдб рдХрд╛ рджреВрд╕рд░рд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "рд░рд┐рдХреЙрд░реНрдб", рдЬреЛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдлреЙрд░реНрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рддрд░реАрдХреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдмрд░рд╛рдмрд░ (), рд╣реИрд╢рдХреЛрдб () рдФрд░ рдЯреВрд╕реНрдЯреНрд░рд┐рдВрдЧ () рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдЙрди рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рд╡рд░реНрдЧ рдмрд░рд╛рдмрд░(), рд╣реИрд╢рдХреЛрдб() рдФрд░ рдЯреВрд╕реНрдЯреНрд░рд┐рдВрдЧ() рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЙрдирдХреА рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

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

    рдпрд╣ рдШреЛрд╖рдгрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдЧреЗрдЯрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрд░рд╛рдмрд░ (), рд╣реИрд╢рдХреЛрдб () рдФрд░ рдЯреВрд╕реНрдЯреНрд░рд┐рдВрдЧ () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧреАред

  • рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдлреЙрд░реЗрди-рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рджреВрд╕рд░рд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди, рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирдП рдореЗрдореЛрд░реАрд╕реЗрдЧрдореЗрдВрдЯ, рдореЗрдореЛрд░реАрдПрдбреНрд░реЗрд╕ рдФрд░ рдореЗрдореЛрд░реАрд▓реЗрдЖрдЙрдЯ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рд╣реАрдк рдХреЗ рдмрд╛рд╣рд░ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдЕрдХреНрд╖рдо рдФрд░ рд▓реЙрдХрд┐рдВрдЧ рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдЬреЗрд╡реАрдПрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдпрд╕реНрдб рд▓реЙрдХрд┐рдВрдЧ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рддрдХрдиреАрдХ рдХреА рдирд┐рдВрджрд╛ рдХреАред рдЗрд╕ рддрдХрдиреАрдХ рдиреЗ рдЖрдзреБрдирд┐рдХ рд╕реАрдкреАрдпреВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдкрд░рдорд╛рдгреБ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдкрдиреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдЦреЛ рджреА рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмрд╣реБрдд рд╢реНрд░рдо-рдЧрд╣рди рд╣реИред
  • рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдкреБрд░рд╛рдирд╛ рддрдВрддреНрд░ рдЖрд░рдПрдордЖрдИ рд╕рдХреНрд░рд┐рдпрдг, рдЬрд┐рд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрд░рдПрдордЖрдИ рд╕рдХреНрд░рд┐рдпрдг рдкреБрд░рд╛рдирд╛ рд╣реИ, рдЬрд╛рд╡рд╛ 8 рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдзреБрдирд┐рдХ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди Nashorn, рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛ рдПрд╕рдИ 11 рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  • рд╣рдЯрд╛рдП рдЧрдП рд╕реЛрд▓рд╛рд░рд┐рд╕ рдУрдПрд╕ рдФрд░ рдПрд╕рдкреАрдПрдЖрд░рд╕реА рдкреНрд░реЛрд╕реЗрд╕рд░ (рд╕реЛрд▓рд╛рд░рд┐рд╕/рдПрд╕рдкреАрдПрдЖрд░рд╕реА, рд╕реЛрд▓рд╛рд░рд┐рд╕/x64 рдФрд░ рд▓рд┐рдирдХреНрд╕/рдПрд╕рдкреАрдПрдЖрд░рд╕реА) рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯред рдЗрди рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдореБрджрд╛рдп рдХреЛ рд╕реЛрд▓рд╛рд░рд┐рд╕ рдФрд░ SPARC рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рдирдИ OpenJDK рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реЗрдЧреАред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ