рдУрд░реЗрдХрд▓ рдмрдирд╛рдо рдЧреВрдЧрд▓: рдЬреНрдпреВрд░рд░реНрд╕ рд╡рд░реНрдбрд┐рдХреНрдЯ

рдЖрдЬ рд╕реИрди рдлреНрд░рд╛рдВрд╕рд┐рд╕реНрдХреЛ рдХреА рдПрдХ рд╕рдВрдШреАрдп рдЕрджрд╛рд▓рдд рдореЗрдВ 12 рдЬреБрдЖрд░рд┐рдпреЛрдВ рдиреЗ рдЕрдкрдирд╛ рдлреИрд╕рд▓рд╛ рд╕реБрдирд╛рдпрд╛ред рдЬреВрд░реА рдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреА рджрд┐рдЧреНрдЧрдЬ рдХрдВрдкрдиреА рдХреЛ рджреЛрд╖реА рдорд╛рдирд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ: рдЪрд╛рд░ рдореЗрдВ рд╕реЗ рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, Google рдХреЛ рджреЛрд╖реА рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ред

рдЬреВрд░реА рдиреЗ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рд╕реЗ рд╕рд╣рдорддрд┐ рд╡реНрдпрдХреНрдд рдХреА рдХрд┐ Google рдиреЗ Oracle рд╕реЗ рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╕рдВрдЧрдарди рдХреЛ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдерд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Google рдХреЛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдУрд░реЗрдХрд▓ рдХрд╛ рджреЛрд╖реА рдкрд╛рдпрд╛ рдЧрдпрд╛, рдЬрд╛рд╡рд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдиреМ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ / рд╣реИрдВред

рдореБрдХрджрдорд╛ рдЕрднреА рдЦрддреНрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ: рдЕрджрд╛рд▓рдд рдХреЛ Google рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рдВрдШрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдУрд░реЗрдХрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдиреБрдХрд╕рд╛рди рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рд╣реИред

рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдУрд░реЗрдХрд▓ рдХреЛ рдореБрдЖрд╡рдЬреЗ рдореЗрдВ рд▓рдЧрднрдЧ 1 рдмрд┐рд▓рд┐рдпрди рдбреЙрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

Array.java рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд░реЗрдВрдЬрдЪреЗрдХ рд╡рд┐рдзрд┐, рдЬреЛ рдЕрджрд╛рд▓рдд рдХреА рд░рд╛рдп рдореЗрдВ, рдЙрдзрд╛рд░ рд▓реА рдЧрдИ рдереА, рд▓рд╛рдЗрдиреЛрдВ 788 802 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ:
/** * Checks that {@code fromIndex} and {@code toIndex} are in * the range and throws an appropriate exception, if they aren't. */ private static void rangeCheck(int length, int fromIndex, int toIndex) { if (fromIndex > toIndex) { throw new IllegalArgumentException( "fromIndex(" + fromIndex + ") > toIndex(" + toIndex + ")"); } if (fromIndex < 0) { throw new ArrayIndexOutOfBoundsException(fromIndex); } if (toIndex > length) { throw new ArrayIndexOutOfBoundsException(toIndex); } } 


рдирд┐рд░реНрдгрд╛рдпрдХ рдордВрдбрд▓ рдХреЗ рдирд┐рд░реНрдгрдп рд╕реЗ рдЕрдВрд╢:
1-рдП) рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдПрдХ рдЕрд▓рдЧ рдХрд╛рдиреВрдиреА рдХрд╛рд░реНрдпрд╡рд╛рд╣реА рдЕрднреА рддрдп рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ), рдХреНрдпрд╛ Google рдиреЗ 37 рдЬреЗрдПрд╡реАрдП рдПрдкреАрдЖрдИ рдкреИрдХреЗрдЬ - рд╣рд╛рдВ рдХреЗ рд▓рд┐рдП рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдерд╛ред
1-рдмреА) рдпрджрд┐ 1 рдП рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди "рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ" рдерд╛ - рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЫрд╡рд┐
2-рдП) рдХреНрдпрд╛ рдЗрди 37 рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдерд╛ - рдирд╣реАрдВред
2-рдмреА) рдкреНрд░рд╢реНрди рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 2-рдП рдирд╣реАрдВ рд╣реИред
рдЫрд╡рд┐
3) рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ Google рдиреЗ рдЗрд╕ рд╕реЗ рдХреЛрдб рд▓рд┐рдпрд╛ рд╣реИ:
3-рдП) рд░реЗрдВрдЬрдЪреЗрдХ рдХрд╛рд░реНрдп - рд╣рд╛рдБред
3-рдмреА) рдХреЛрдб 7 "Impl.java" рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдФрд░ рдПрдХ "ACL" рдлрд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
3-рд╕реА) рдХреБрдЫ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ - рдирд╣реАрдВред
(рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╢реБрд░реВ рдореЗрдВ рдУрд░реЗрдХрд▓ рдиреЗ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдерд╛ ~ рдХреЛрдб рдХреА 100k рд▓рд╛рдЗрдиреЗрдВ, рд▓реЗрдХрд┐рди рдЕрджрд╛рд▓рдд рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг: [ рд▓рд┐рдВрдХ ])
рдЫрд╡рд┐
4-рдП) рдХреНрдпрд╛ Google рдиреЗ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╕рди / рдУрд░реЗрдХрд▓ рдЬрд╛рдирддрд╛ рдерд╛ рдпрд╛ рдпрд╣ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдиреЗ Google рдХреЛ рд╕рдордЭрд╛ рдХрд┐ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - YESред
4-рдмреА) рдХреНрдпрд╛ Google рдиреЗ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЙрд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдирд╛ / рдУрд░реЗрдХрд▓ рдХреА рдЗрди рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдмрд┐рдирд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ - рдирд╣реАрдВред
рдЫрд╡рд┐
рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж habrachelovek StasTs ред

рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ:
рдмреНрд▓реВрдордмрд░реНрдЧ: [ рд▓рд┐рдВрдХ ]
рдХрдЧрд╛рд░: [ рд▓рд┐рдВрдХ ]
рд░рд╛рдпрдЯрд░: [ рд▓рд┐рдВрдХ ]
CNet: [ рд▓рд┐рдВрдХ ]
Habr├й рдкрд░ рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд┐рд╡рд░рдг: [ рд▓рд┐рдВрдХ ]

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


All Articles