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