рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЛ рдЦрд╛рдирд╛ рдЦрд┐рд▓рд╛рдирд╛ рдмрдВрдж рдХрд░реЛ! рдЕрдзрд┐рдХ рд╕рдВрд╢реЛрдзрдХ рджреЗрдВ! рдЖрд▓рд╕реА рд╕реНрдереИрддрд┐рдХ рдЕрдВрддрд┐рдо рдХреНрд╖реЗрддреНрд░ред рдбреНрд░рд╛рдлреНрдЯ рдлрд╝реАрдЪрд░ рд╕реНрдХреЗрдЪ

рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ, рд▓реЙрдЧрд░ рдХреЛ рдЙрд╕ рд╕рдордп рдЖрд░рдореНрднрд┐рдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рд╕рдордп рдХрдХреНрд╖рд╛ рдХреЛ рдЖрд░рдореНрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдкреВрд░реЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рд▓рд┐рдЯ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЬреЙрди рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЧреБрд▓рд╛рдм!


рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:


lazy private final static Logger LOGGER = Logger.getLogger("com.foo.Bar"); 

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



рдкреНрд░реЗрд░рдгрд╛


рдЬрд╛рд╡рд╛ рдиреЗ рдЖрд▓рд╕реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╣рд░ рд▓рд┐рдВрдХ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЖрд▓рд╕реА рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <clinit> рд╡рд┐рдзрд┐ (рдХреНрд▓рд╛рд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ <clinit> рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдпрд╛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдХрд┐рд╕реА рдЗрдирд╡реЙрдХреЗрдиреНрдбреЗрдорд┐рдХ рдХреЙрд▓ рд╕рд╛рдЗрдЯ рдпрд╛ CONSTANT_Dynamic рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд▓рд┐рдП)ред


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


рдпрджрд┐ рдЖрдк рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрди рд╕рднреА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдВрдЧреЗред рдПрдУрдЯреА рд╕рдВрдХрд▓рдХ рдореЗрдВ, рдпрд╣ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЧрдП рд╕реНрдерд┐рд░ рдореВрд▓реНрдп рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рднреАред рдПрдХ рдмрд╛рд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреБрди: рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╕реНрдерд┐рд░ рдлрд╝реАрд▓реНрдб рдХреЛ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдмреАрдЪ рдХреНрд▓реЙрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдлрд╝реАрд▓реНрдб рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдЬрдЯрд┐рд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдирд┐рд░рдВрддрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ ( рдЬреЗрд╡реИрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рд╣реА рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИред


рд░реА-рдбрд┐рдЬрд╝рд╛рдЗрди рдлрд╝реАрд▓реНрдб рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдХрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╣реИред


 private final static Logger LOGGER = Logger.getLogger("com.foo.Bar"); 

рдпрд╣ рд╕рд╣рдЬ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдЖрд░рдВрднреАрдХрд░рдг, рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрд╛рдо рдХреА рд╢реБрд░реВрдЖрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрдХреНрд╖рд╛ рдХреЗ рдЖрд░рдВрдн рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдФрд░ рдлрд┐рд░ рднреА, рдпрд╣ рдмреЗрд╣рдж рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдХреНрд╖рд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рддрдХ рдЗрд╕рдХреА рд░рдЪрдирд╛ рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХреАрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдЧреА, рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдЖрд░рдВрдн рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред


рдЕрдВрддрд┐рдо рдЪрд░ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рд╡реЗ рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдХреЗ рдореБрдЦреНрдп рддрдВрддреНрд░ рд╣реИрдВ рддрд╛рдХрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЖрд▓рд╕реА рдЪрд░реЛрдВ рдиреЗ рднреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЬрд╛рд╡рд╛ 7 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ JDK рдХреЗ рдЖрдВрддрд░рд┐рдХ @Stable рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ @Stable рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред JIT рдЕрдВрддрд┐рдо рдФрд░ рд╕реНрдерд┐рд░ рджреЛрдиреЛрдВ рдЪрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ - рдХреЗрд╡рд▓ рдХреБрдЫ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ред рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдЪрд░ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдЙрдкрдпреЛрдЧреА рдЙрдкрдпреЛрдЧ рдкреИрдЯрд░реНрди рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдВрдд рдореЗрдВ, рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐ JDK <clinit> рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрдо рд╣реЛ <clinit> , рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ AOT рдЕрдиреБрдХреВрд▓рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╡рд┐рд╡рд░рдг


рдлрд╝реАрд▓реНрдб рдХреЛ рдирдП lazy рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреАрд╡рд░реНрдб рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ static рдФрд░ final рд╕рдВрд╢реЛрдзрдХ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдПрдХ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдЗрдирд┐рд▓рд╛рдЗрдЬрд╝рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рд░рдирдЯрд╛рдЗрдо, рд╡реИрд╕рд╛ рд╣реА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдЙрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдпрд╣ рдлрд╝реАрд▓реНрдб рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред


рдкреНрд░рддреНрдпреЗрдХ lazy static final рдХреНрд╖реЗрддреНрд░ рдПрдХ рд╕реНрдерд┐рд░ рдкреВрд▓ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╕реНрдерд┐рд░ рдкреВрд▓ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рдЧрдгрдирд╛ рдЦреБрдж рдЖрд▓рд╕реА рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрддреНрд╡ рд╕реЗ рдЬреБрдбрд╝реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рд░ рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рд╣реА рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред (рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрд▓рд╕реА рдЪрд░ рдХреЛ рдПрдХ рддрддреНрд╡ рд╕реЗ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдПрдХ рдЙрдкрдпреЛрдЧреА рдпрд╛ рд╕рд╛рд░реНрдердХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред) рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирд╛рдо LazyValue , рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд┐рд░рдВрддрд░ рд▓рд┐рдВрдЧ рддрддреНрд╡ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ LazyValue рдХреЛрдбрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЖрд▓рд╕реА рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИред ред рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА MethodHandle.invoke рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА MethodHandle.invoke ред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рднреАрддрд░ рдПрдХ рдирд┐рд░рдВрддрд░ рдкреВрд▓ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдорд┐рдд рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдПрдХ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рдХрднреА рднреА рд╕реНрдерд┐рд░ рдЪрд░ (JLS 4.12.4 рдХреЗ рдЕрд░реНрде рдореЗрдВ) рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░рдВрддрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ (JLS 15.28 рдХреЗ рдЕрд░реНрде рдореЗрдВ) рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ ConstantValue рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдХрднреА рдирд╣реАрдВ рдкрдХрдбрд╝рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдЗрдирд┐рд╢рд▓рд╛рдЗрдЬрд╝рд░ рдПрдХ рд╕реНрдерд┐рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ LazyValue рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ LazyValue рдЬрд┐рд╕реЗ LazyValue рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ JVM рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╕рдордп LazyValue рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░рдВрддрд░ рдкреВрд▓ рдХреЗ рдПрдХ рддрддреНрд╡ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╣ рдЬреЛ рдлрд╝реАрд▓реНрдб рдорд╛рди рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЬрдм рдПрдХ рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдХрд┐рд╕реА рднреА рдШреЛрд╖рд┐рдд рд╡рд░реНрдЧ <clinit> рд╡рд┐рдзрд┐ рдХреЛ рдЬреЗрд╡реАрдПрдордПрд╕ 5.5 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП getstatic рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд▓рд┐рдВрдХрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж (рдпрд╛ рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди), рдЬреЗрд╡реАрдПрдо рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд┐рд░рдВрддрд░ рдкреВрд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рд░ рдкреВрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред


рдЪреВрдВрдХрд┐ рдЖрд▓рд╕реА рд╕реНрдЯреИрдЯрд┐рдХ рдлрд╝рд╛рдЗрдирд▓ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдорд╛рди рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рдЙрди рдХреБрдЫ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рднреА рдЬрд╣рд╛рдБ рдпрд╣ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрдирд▓ рдЪрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди, рд╕рднреА рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЧреИрд░-рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЙрдирдХрд╛ рд╕реНрдерд╛рди рд╣реЛред рдЗрд╕рд▓рд┐рдП, рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЖрд▓рд╕реА рд╕реНрдЯреЗрдЯрд┐рдХ рдлрд╝реАрд▓реНрдб рдЗрдирд┐рд▓рд╛рдЗрдЬрд╝рд░ рдЙрд╕реА рд╢реНрд░реЗрдгреА рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рд░ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдЬрд┐рд╕ рднреА рд╕реНрд░реЛрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВ, рдЙрд╕реА рдХреНрд░рдо рдореЗрдВред рдХрд┐рд╕реА рднреА рдЧреИрд░-рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдпрд╛ рдХреНрд▓рд╛рд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдХрд╛ рдЖрд░рдВрднрдХ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрд░реЛрдд рдореЗрдВ рдХрд┐рд╕ рдХреНрд░рдо рдХреЗ рд╣реЛрдВред рдЖрдорддреМрд░ рдкрд░, рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рд╕рдордЭрджрд╛рд░реА рднрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрд▓рд╕реА рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдЕрд░реНрде рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрдХреНрд╖рд╛ рдХреЗ рдХрд┐рд╕реА рднреА рднрд╛рдЧ рд╕реЗ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред


Java.lang.reflect.Field рдореЗрдВ рджреЛ рдирдП рдПрдкреАрдЖрдИ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирдИред isLazy рдкрджреНрдзрддрд┐ true рд╣реЛ рдЬрд╛рддреА true рдпрджрд┐ рдФрд░ рдХреЗрд╡рд▓ рдпрджрд┐ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ lazy рд╕рдВрд╢реЛрдзрдХ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдХреНрд╖реЗрддреНрд░ рдХреЗрд╡рд▓ рдЖрд▓рд╕реА рд╣реИ рдФрд░ рдЕрднреА рднреА рдЖрд░рдВрднрд┐рдХ рд╕рдордп рдкрд░ рдЖрд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдирдпрд╛ isAssigned рд╡рд┐рдзрд┐ false ред (рдпрд╣ рджреМрдбрд╝ рдореЗрдВ рдореМрдЬреВрдж рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╣реА рдзрд╛рдЧреЗ рдореЗрдВ рдЕрдЧрд▓реЗ рдХреЙрд▓ рдкрд░ рд╕рдЪ рд╡рд╛рдкрд╕ рд▓реМрдЯ рд╕рдХрддрд╛ рд╣реИ)ред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдпред


( isAssigned рдХреЙрд▓ isAssigned рдкрд░рд┐рдкрддреНрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреБрд░реНрд▓рдн рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╢рд╛рдпрдж рд╣рдо рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреЛ рд▓реЛрдЧ рдЖрд▓рд╕реА рдЪрд░ рдХреЗ рд╕рд╛рде рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рд╡реЗ рдХрднреА-рдХрднреА рдзреНрдпрд╛рди рд╕реЗ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдорд╛рди рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡реИрд░рд┐рдПрдмрд▓ рдкрд░ рд╕реЗрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЕрднреА рднреА рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЬреИрд╕реЗ рдореНрдпреВрдЯреЗрдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрднреА-рдХрднреА рдореНрдпреВрдЯреЗрдХреНрд╕ рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд▓реЙрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЙрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)


рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╕реАрдорд╛ рд╣реИ: рдЙрдиреНрд╣реЗрдВ рдХрднреА рднреА рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рд╣реИ, рдЖрд▓рд╕реА рд╕рдВрджрд░реНрдн рдХреНрд╖реЗрддреНрд░ рдХреЛ null рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╢реВрдиреНрдп рдорд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЖрд▓рд╕реА рдмреВрд▓рд┐рдпрди рдореВрд▓реНрдп рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЖрд░рдореНрдн рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - true , рдХреНрдпреЛрдВрдХрд┐ false рдЗрд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рдЕрдкрдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХрд╛ рд▓рд┐рдВрдХрд┐рдВрдЧ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред


рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред JVM рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЛ рдЖрдВрддрд░рд┐рдХ рд╡реЙрдЪрдбреЙрдЧ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рдЕрд╕рдорд╛рди рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреИрдпрд╛рд░реА рдХреЗ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдЬреЗрдПрд▓рдПрд╕ 5.4.2 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред рддреЛ рдпрд╣ рдорд╛рди рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╣рд░реА рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрднреА рднреА рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдореВрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, JVM, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд┐рд░ рдкреВрд▓ рддрддреНрд╡ рдХреА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдХреНрд╕реЗ рдпрд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ (рдЬреЛ рд╕рдВрднрд╡рддрдГ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВ) рдХреЛ рд▓рдкреЗрдЯрдХрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╢реВрдиреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рдЗрдВрдЯреЗрдЧрд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреИрд░-рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╢реВрдиреНрдп рд╣реЛрдиреЗ рдкрд░ рдЦрд╛рд▓реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред


рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, isAssigned рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ isAssigned рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ JVM рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдмрд┐рдирд╛ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рдЖрд░рдВрднреАрдХрд░рдг рдХреЛ рдХрднреА рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, isAssigned true рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА getfield рдХреЛ рдХрднреА рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред isAssigned рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХрдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдпрд╣ false , рддреЛ рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдХрд┐рд╕реА рднреА рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЕрдЧрд░ рд╡рд╣ true , рддреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдзрд╛рдЧрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдЕрдиреБрдмрдВрдз рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП getstatic рдХреЗ рд╕рд╛рде getstatic рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЬреЗрд╡реАрдПрдо рдХреЛ рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рдЙрди рд╡рд┐рд╕реНрддреГрдд рд░рд╛рдЬреНрдпреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдирд┐рд░рдВрддрд░ рдкреВрд▓ рдореЗрдВ рдЖрдо рдпрд╛ рдкрддрд┐рдд рддрддреНрд╡ рд╣реИрдВред


рдХрдИ рдзрд╛рдЧреЗ рдПрдХ рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреМрдбрд╝ рд░рд╛рдЬреНрдп рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CONSTANT_Dynamic рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, JVM рдЗрд╕ рджреМрдбрд╝ рдХрд╛ рдПрдХ рдордирдорд╛рдирд╛ рд╡рд┐рдЬреЗрддрд╛ рдЪреБрдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╡рд┐рдЬреЗрддрд╛ рдХреЛ рджреМрдбрд╝ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдмрд╛рдж рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИред рджреМрдбрд╝ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢рд┐рд╖реНрдЯ JVM рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди CAS рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреМрдбрд╝ рдХрд╛ рд╡рд┐рдЬреЗрддрд╛ рдкрд┐рдЫрд▓рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рджреЗрдЦреЗрдЧрд╛, рдФрд░ рд╣рд╛рд░рдиреЗ рд╡рд╛рд▓реЗ рджреМрдбрд╝ рдХреЛ рдЬреАрддрдиреЗ рд╡рд╛рд▓реЗ рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рджреЗрдЦреЗрдВрдЧреЗред


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рдПрдХрд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдирд┐рдпрдо рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрдм рдЖрд▓рд╕реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рд╕рднреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВред


рдЕрдВрддрд┐рдо рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд╢рди рдкрд░ рдПрдХ рд╣реА рддрд░реНрдХ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рдЖрд▓рд╕реА рдФрд░ рдЧреИрд░-рдЖрд▓рд╕реА рджреЛрдиреЛрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИред


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


рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди


рдЖрдк рдиреЗрд╕реНрдЯреЗрдб рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд▓рд╕реА рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЖрдк рдЖрд▓рд╕реА рдореВрд▓реНрдпреЛрдВ рдпрд╛ (рдЖрдорддреМрд░ рдкрд░) рдХрд┐рд╕реА рднреА рдиреАрд░рд╕ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдкреАрдЖрдИ рдХреА рддрд░рд╣ рдХреБрдЫ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреНрдпрд╛ рд╡реЗ рдЖрд▓рд╕реА рд╕реНрдерд┐рд░ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рдереЗ рддрд╛рдХрд┐ рд╡реЗ рдЕрд╢рдХреНрдд рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВ рдФрд░ рдЙрдирдХреЗ рд╢рд░реАрд░ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ ldc CONSTANT_Dynamic рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


(рдиреЛрдЯ: рдЙрдкрд░реНрдпреБрдХреНрдд <clinit> рдЕрдкрдиреЗ <clinit> рд╕реЗ рдореМрдЬреВрджрд╛ рд╕реНрдереИрддрд┐рдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЧрдд рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)


рдпрджрд┐ рд╣рдо рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрдереИрддрд┐рдХ рдФрд░ рдЧреИрд░-рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмреАрдЪ рдореМрдЬреВрджрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рдФрд░ рдЙрдкрдорд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЖрд▓рд╕реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЧреИрд░-рд╕реНрдерд┐рд░ рдпрд╛ рдЧреИрд░-рдЕрдВрддрд┐рдо рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕реНрдерд┐рд░ рдкреВрд▓ рдЧреИрд░-рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╡рд┐рдзрд┐рдпреЛрдВ (рд╡рд░реНрддрдорд╛рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЬрдореЗ рд╣реБрдП рд╕рд░рдгрд┐рдпреЛрдВ (рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ) рдХреЛ рдПрдХ рдЖрд▓рд╕реА рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдзреНрдпрдпрди рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рднрд╡рд┐рд╖реНрдп рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЖрдзрд╛рд░ рд╣реИрдВред рдФрд░ рд╡реИрд╕реЗ, рдРрд╕реЗ рдЕрд╡рд╕рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рд╛рд░реНрдердХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдгрдп рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред


рдЖрд▓рд╕реА рдЪрд░ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрднреА-рдХрднреА рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЕрдкреНрд░рд┐рдп рд╕реАрдорд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЦрд╛рд▓реА рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХреЗ рд╕рдордп рддрдХ рд╡рд╛рдкрд╕ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЗрди рдЦрд╛рд▓реА рдЕрдВрддрд┐рдо рдЪрд░ рдХреЛ рдХреЛрдб рдХреЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреНрд░рд╛рдЗ-рдПрдВрдб рд▓реЙрдЬрд┐рдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдЗрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЖрд▓рд╕реА рдЕрдВрддрд┐рдо рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд╢рд╛рдпрдж рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрд▓рд╕реА рдЪрд░ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЛрдб рдХреЗ рдирд┐рдЬреА рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдп рдкреНрд░рддреНрдпреЗрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рдмрд╛рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреНрд▓рд╛рд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдбрд┐рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рдж рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡реЗ рдХреБрдЫ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред


рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХрд╛ рдорд┐рдирдЯред рдЬреЛрдХрд░ 2018 рд╕рдореНрдореЗрд▓рди рдмрд╣реБрдд рдЬрд▓реНрдж рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╣рд╛рдВ рдЬрд╛рд╡рд╛ рдФрд░ рдЬреЗрд╡реАрдПрдо рдореЗрдВ рдХрдИ рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛрдВрдЧреЗред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡рдХреНрддрд╛рдУрдВ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рджреЗрдЦреЗрдВред

рд▓реЗрдЦрдХ


рдЬреЙрди рд░реЛрдЬ рдУрд░реЗрдХрд▓ рдореЗрдВ рдПрдХ рдЬреЗрд╡реАрдПрдо рдЗрдВрдЬреАрдирд┐рдпрд░ рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рд╣реИред рд▓реАрдб рдЗрдВрдЬреАрдирд┐рдпрд░ рджрд╛ рд╡рд┐рдВрдЪреА рдорд╢реАрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ (OpenJDK рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛)ред рд▓реАрдб рдЗрдВрдЬреАрдирд┐рдпрд░ рдЬреЗрдПрд╕рдЖрд░ 292 (рдЬрд╛рд╡рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди), рдбрд╛рдпрдирд╛рдорд┐рдХ рдХреЙрд▓ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдФрд░ рдПрдбрд╡рд╛рдВрд╕реНрдб рдХрдВрдкрд╛рдЗрд▓рд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдореЗрдВ рдорд╛рд╣рд┐рд░ рд╣реИрдВред рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЖрдВрддрд░рд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, SPARC, рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдПрдкреАрдЖрдИ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдкреЛрд░реНрдЯ рдмрдирд╛рдпрд╛, рдФрд░ рдХрдИ рдЧрддрд┐рд╢реАрд▓, рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рд╣рд╛рдЗрдмреНрд░рд┐рдб рднрд╛рд╖рд╛рдУрдВ рдХреЛ рднреА рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреЙрдорди рд▓рд┐рд╕реНрдк, рд╕реНрдХреАрдо ("esh"), C ++ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрдиреЗрдорд┐рдХ рдмрд╛рдЗрдВрдбрд░реНрд╕ рд╢рд╛рдорд┐рд▓ рдереЗред


рдЕрдиреБрд╡рд╛рджрдХ


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

Source: https://habr.com/ru/post/hi422629/


All Articles