рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╡рд┐рднрд┐рдиреНрди рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╡рд┐рдзрд┐ рдХрд╛ рдЪреБрдирд╛рд╡ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
`рдирдП int [1024]` рдФрд░ `рдирдП Integer [1024]` рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмреАрдЪ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
int[] ints = new int[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;
Integer[] ints = new Integer[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;
рдиреЛрдЯ: 1/8 рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рдирд╣реАрдВ рдЦрд╛рдПрдВрдЧреЗред рдмреБрд▓рд┐рдпрди рдФрд░ рдмрд╛рдЗрдЯ рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреА рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдВрд░рдЪрдирд╛ | JVM 32-рдмрд┐рдЯ (рдмрд╛рдЗрдЯ рдореЗрдВ рдЖрдХрд╛рд░) | рдЬреЗрд╡реАрдПрдо 64-рдмрд┐рдЯ (рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЖрдХрд╛рд░) |
---|
new BitSet(1024) | 168 | 168 |
new boolean[1024] | 1040 | 1040 |
new Boolean[1024] | 4112 | 4112 |
new ArrayList<Boolean>(1024) | 4136- | 4136- |
1024 рдХреЗ рд╕рд╛рде new LinkedList<Boolean>() | 24,624 | 24,624 |
new byte[1024] | 1040 | 1040 |
new Byte[1024] | 4112 | 4112 |
new ArrayList<Byte>(1024) | 4136- | 4136- |
1024 рдХреЗ рд╕рд╛рде new LinkedList<Byte>() | 24,624 | 24,624 |
new char[1024] | 2064 | 2064 |
new Character[1024] | 18,448 | 18,448 |
new short[1024] | 2064 | 2064 |
new Short[1024] | 18,448 | 18,448 |
new ArrayList<Character/Short>(1024) | 18,472 | 18,472 |
1024 рдХреЗ рд╕рд╛рде new LinkedList<Character/Short>() | 38,960 | 38,960 |
new int[1024] | 4112 | 4112 |
new Integer[1024] | 18,448 | 18,448 |
new float[1024] | 4112 | 4112 |
new Float[1024] | 20,496 | 20,496 |
new ArrayList<Integer/Float>(1024) | 18,472 | 18,472 |
1024 рдХреЗ рд╕рд╛рде new LinkedList<Integer/Float>() | 38,960 | 38,960 |
new long[1024] | 8208 | 8208 |
new Long[1024] | 18,448 | 25,616 |
new double[1024] | 8208 | 8208 |
new Double[1024] | 20,496 | 28,688 |
new ArrayList<Long/Double>(1024) | 18,472 | 25640 |
1024 рдХреЗ рд╕рд╛рде new LinkedList<Long/Double>() | 38,960 | 46128 |
new String[1024] | 52,464 | 61,456 |
new ArrayList<String>(1024) | 52,488 | 61480 |
1024 рдХреЗ рд╕рд╛рде new LinkedList<String>() | 72,976 | 81,968 |
рдкреВрд░реНрдг рдХреЛрдб
рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз
рд╣реИредZY рд╢рд╛рдпрдж, рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рд╕рдм рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рддреЛ
рдореБрд╕реНрдХреБрд░рд╛рдУ рдФрд░ рд▓рд╣рд░ рдХрд░реЛ, рдкрдврд╝реЗрдВ рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ :)