Можно ли избежать обнуления/инициализации массива в Java?Избежать инициализации массива в Java
Мне нужно быстро выделить новые байт-массивы фиксированной длины, которые будут полностью заполнены предопределенными данными. Поэтому мне не нужно, чтобы JVM автоматически обнулял массив при создании экземпляра, и я, конечно, не против, если массив содержит мусор. Все, что мне нужно, это постоянное распределение массивов по времени, которое, к сожалению, становится O (n) из-за упомянутой проблемы обнуления.
Будет ли использовать небезопасную помощь?
Вы можете сделать это как нетто, а также ручное объединение и подсчет ссылок http://netty.io/4.0/api/io/netty/buffer/PooledByteBufAllocator.html + http://netty.io/4.0 /api/io/netty/util/ReferenceCounted.html#release() - дубликат не является очевидным (и я не думаю, что это хороший дубликат), но если вы нажмете немного, вы могли бы найти его как http://mishadoff.com/blog/java-magic-part-4-sun-dot-misc-dot-unsafe/ часть о «Интересных случаях использования Избегайте инициализации» - отредактируйте: hmm не там, но в http: // stackoverflow.com/a/13785284/995891 – zapl
Еще одна вещь, которую вы могли бы рассмотреть, если вам нужен массив только для временных целей, имейте в виду, что «ThreadLocal» хранит их. Дает вам один поток и безопасен и быстро, пока вы используете пулы потоков. – zapl