рдЬрд╛рд╡рд╛ рдкреЙрдЗрдВрдЯрд░ рдХрдореНрдкреНрд░реЗрд╢рди


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


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди


64-рдмрд┐рдЯ JVM рдореЗрдВ, рдкреЙрдЗрдВрдЯрд░реНрд╕ 32-рдмрд┐рдЯ рд╡рд╛рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 2 рдЧреБрдирд╛ рдЕрдзрд┐рдХ (рдЖрд╢реНрдЪрд░реНрдп-рдЪрдХрд┐рдд) рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рд▓реЗрддреЗ рд╣реИрдВред рдпрд╣ 32-рдмрд┐рдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ 1.5 рдЧреБрдирд╛ рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, 32-рдмрд┐рдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ, рдХреЗрд╡рд▓ 2 ^ 32 рдмрд╛рдЗрдЯреНрд╕ (4 рдЬреАрдмреА) рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╛рдлреА рдЫреЛрдЯрд╛ рд╣реИред


рдЖрдЗрдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦреЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХрд┐рддрдиреА рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕реЗ рдХреМрди-рдХреМрди рд╕реА рд╡рд╕реНрддреБрдПрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВ:


import java.util.stream.IntStream; import java.util.stream.Stream; class HeapTest { public static void main(String ... args) throws Exception { Integer[] x = IntStream.range(0, 1_000_000).boxed().toArray(Integer[]::new); Thread.sleep(6000000); Stream.of(x).forEach(System.out::println); } } 

рдпрд╣рд╛рдВ рд╣рдо рдЗрдВрдЯреЗрдЧрд░ рд╡рд░реНрдЧ рдХреА рдПрдХ рд▓рд╛рдЦ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдВрдХрд▓рдХ рдЕрдЪрд╛рдирдХ рд╕рд░рдгреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реА рдорд╢реАрди рдкрд░, рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред


рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдХреНрд╖рдо рд╕реВрдЪрдХ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ:


 > javac HeapTest.java > java -XX:-UseCompressedOops HeapTest 

Jcmd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рд╣рдо рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:


 > jps 45236 HeapTest ... > jcmd 45236 GC.class_histogram 



рдЪрд┐рддреНрд░ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ 1000128 рд╣реИ , рдФрд░ рдЗрди рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХрд╛ рдЖрдХрд╛рд░ 24003072 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ ред рдпрд╛рдиреА 24 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ (рдХреНрдпреЛрдВ рдареАрдХ 24 рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛)ред


рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдореЗрдореЛрд░реА рд╣реИ, рд▓реЗрдХрд┐рди UseCompressedOops рдХреЗ рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде:




рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ 16 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИред
рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ =)


рдирд┐рд░реНрдгрдп


рдЬреЗрд╡реАрдПрдо рдХреИрд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ? рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рдХреЙрдореНрдкреНрд░реЗрд╕реНрдб рдКрдкреНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдКрдк рдХрд╛ рдЕрд░реНрде рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рд╕реВрдЪрдХ рдпрд╛ рд╕рд╛рдзрд╛рд░рдг рд╡рд╕реНрддреБ рд╕реВрдЪрдХ рд╣реИ ред


рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдорд╢реАрди рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдЧрдардмрдВрдзрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред 8 рдмрд╛рдЗрдЯреНрд╕ рдкреНрд░рддреНрдпреЗрдХред рдФрд░ рдкрддреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдореЗрд╢рд╛ рддреАрди рд╢реВрдиреНрдп рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред


рдпрджрд┐ рдЖрдк рд╕реВрдЪрдХ рдХреЛ 3 рдмрд┐рдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ (рдСрдкрд░реЗрд╢рди рдХреЛ рдПрдирдХреЛрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, 3 рдмрд┐рдЯреНрд╕ рдХреЛ рдмрд╛рдИрдВ рдУрд░ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ (рдХреНрд░рдорд╢рдГ рдбрд┐рдХреЛрдб рдХрд░реЗрдВ ), рддреЛ рдЖрдк 35 рдмрд┐рдЯреНрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде 32-рдмрд┐рдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдлрд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд 32 рдЬреАрдмреА (2 ^ 35 рдмрд╛рдЗрдЯ) рддрдХ рдХрд╛ рдкрддрд╛ред


рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдвреЗрд░ рдХрд╛ рдЖрдХрд╛рд░ 32GB рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╕рдВрдкреАрдбрд╝рди рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкреЙрдЗрдВрдЯрд░реНрд╕ рдЖрдХрд╛рд░ рдореЗрдВ 8 рдмрд╛рдЗрдЯреНрд╕ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред


рдЬрдм UseCompressedOops рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ , рддреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХреЗрдд рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:


  • рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреНрд╖реЗрддреНрд░
  • рдХреНрд▓рд╛рд╕ рдлреАрд▓реНрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕
  • рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡ред

рдЬреЗрд╡реАрдПрдо рдХреА рд╡рд╕реНрддреБрдПрдВ рдХрднреА рд╕рдВрдХреБрдЪрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдкреАрдбрд╝рди рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕реНрддрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рди рдХрд┐ рдмрд╛рдпреЛрдЯреЗрдХ рдкрд░ред


рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ


рдЕрдм, JolM рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬрд╛рд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реЗрдЖрдЙрдЯ) рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдЗрдВрдЯреАрдЧрд░ рдХреЛ рд╡рд┐рднрд┐рдиреНрди JMMs рдореЗрдВ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рд▓рдЧрддреА рд╣реИ:


 > java -jar jol-cli-0.9-full.jar estimates java.lang.Integer ***** 32-bit VM: ********************************************************** java.lang.Integer object internals: OFFSET SIZE TYPE DESCRIPTION VALUE 0 8 (object header) N/A 8 4 int Integer.value N/A 12 4 (loss due to the next object alignment) Instance size: 16 bytes Space losses: 0 bytes internal + 4 bytes external = 4 bytes total ***** 64-bit VM: ********************************************************** java.lang.Integer object internals: OFFSET SIZE TYPE DESCRIPTION VALUE 0 16 (object header) N/A 16 4 int Integer.value N/A 20 4 (loss due to the next object alignment) Instance size: 24 bytes Space losses: 0 bytes internal + 4 bytes external = 4 bytes total ***** 64-bit VM, compressed references enabled: *************************** java.lang.Integer object internals: OFFSET SIZE TYPE DESCRIPTION VALUE 0 12 (object header) N/A 12 4 int Integer.value N/A Instance size: 16 bytes Space losses: 0 bytes internal + 0 bytes external = 0 bytes total ***** 64-bit VM, compressed references enabled, 16-byte align: ************ java.lang.Integer object internals: OFFSET SIZE TYPE DESCRIPTION VALUE 0 12 (object header) N/A 12 4 int Integer.value N/A Instance size: 16 bytes Space losses: 0 bytes internal + 0 bytes external = 0 bytes total 

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


рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЗрдбрд░ рдХреНрдпрд╛ рд╣реИ? рдЗрд╕рдореЗрдВ 4 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХрдореА рдХреНрдпреЛрдВ рд╣реБрдИ?



рдЫрд╡рд┐ 12 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЗрдбрд░ рджрд┐рдЦрд╛рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд UseCompressedOops рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдоред рд╣реЗрдбрд░ рдореЗрдВ рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рдЬреЗрд╡реАрдПрдо рдЭрдВрдбреЗ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рднреА рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ 32 рдмрд┐рдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд┐рдирд╛, рдпрд╣ 64 рдмрд┐рдЯреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдЧрд╛ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЗрдбрд░ рдХрд╛ рдЖрдХрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 16 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧрд╛ред


рд╡реИрд╕реЗ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 16-рдмрд╛рдЗрдЯ рд╕рдВрд░реЗрдЦрдг рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдРрд╕реЗ рдореЗрдВ рдЖрдк рдореЗрдореЛрд░реА рдХреЛ 64 рдЬреАрдмреА рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд╡рд┐рдкрдХреНрд╖ рдХреА рдмрд╛рдд


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


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рд╕рдВрдХреБрдЪрд┐рдд рдФрд░ рдЧреИрд░-рд╕рдВрдкреАрдбрд╝рд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдкреЙрдЬрд╝ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЗ рдард╣рд░рд╛рд╡ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ, рдпрд╣рд╛рдБ рд╕реЗ рдЬрд╛рд╡рд╛ рдЬреАрд╕реА рдирдВрдмрд░ рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд╕рдВрдкреАрдбрд┐рдд OOPs



рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдкреАрдбрд╝рди рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдЬреАрд╕реА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд▓реЗрдЦ рдореЗрдВ рд╣реА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдЦ рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИ - 2013)ред


рд╕рдВрджрд░реНрдн:


рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдЬреЗрд╡реАрдПрдо рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдЙрдлрд╝
рдЬреЗрд╡реАрдПрдо рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ
CompressedOops: рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╕рдВрджрд░реНрдн рдХрд╛ рдкрд░рд┐рдЪрдп
JVM рдХреЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдЙрдлрд╝ рдХреЗ рдкреАрдЫреЗ рдЯреНрд░рд┐рдХ
рдЬрд╛рд╡рд╛ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкреНрд░рджрд░реНрд╢рди рд╕рдВрд╡рд░реНрджреНрдзрди

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


All Articles