Oracle планирует убрать sun.misc.Unsafe в Java 9

от автора

Oracle планирует убрать sun.misc.Unsafe в Java 9. Очень негативно подобное решение может сказаться на всей экосистеме. Кто не в теме, можете почитать об этом звере. Если вкратце, то это приватное API использовалось для низкоуровневого программирования: напрямую работать с памятью и т.п.

Чтоб оценить размах, можно глянуть список проектов, которые используют unsafe:

  • Netty
  • Hazelcast
  • Cassandra
  • Mockito / EasyMock / JMock / PowerMock
  • Scala Specs
  • Spock
  • Robolectric
  • Grails
  • Neo4j
  • Spring Framework
  • Akka
  • Apache Kafka
  • Apache Wink
  • Apache Storm
  • Apache Hadoop
  • Apache Continuum

Небольшой комментарий из переписки:

Let me be blunt — sun.misc.Unsafe must die in a fire. It is — wait for it — Unsafe. It must go. Ignore any kind of theoretical rope and
start the path to righteousness

Аргументация удаления сводится по большей части к тому, что они хотят убрать возможность «выстрелить себе в ногу».

Из предложений (взамен полного удаления пакета) можно выделить:

  1. Задокументировать это API вместо полного выпиливания. А так же сделать публичным.
  2. В то же время Oracle должны сделать публичную альтернативу Unsafe с тем же функционалом, чтоб люди потихоньку переходили на него. В таком случае люди автоматически откажутся от Unsafe и переведут постепенно проекты на новое API.

Что-то подобное было с bytecode verifier в Java 7.

СЕО Hazelcast Greg Luck предлагает, если всё же API будет выпилено, оставаться на Java 8 и не переходить на девятку (которая предположительно выдйте в 2016).

ссылка на оригинал статьи http://habrahabr.ru/post/263787/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *