Компания Oracle опубликовала (https://blogs.oracle.com/java/entry/java_9_schedule_is_out) график разработки платформы Java 9 (http://openjdk.java.net/projects/jdk9/), в соответствии с которым релиз намечен на 22 сентября 2016 года. До 10 декабря 2015 года планируется завершить разработку всей необходимой функциональности, а до 4 февраля 2016 года стабилизировать кодовую базу для успешного прохождения всех тестов, после чего сформировать серию тестовых выпусков.
Платформа Java 9 примечательна интеграции наработок, созданных в рамках проекта Jigsaw, развивающего принципиально новые для Java средства разбиения программ и JDK на модули. Разбиение кода платформы Java на модули упростит создание, сопровождение и распространение больших приложений, позволив избавиться от наблюдаемых в настоящее время проблем с монолитными JAR и распространением наборов классов. Система модулей даст возможность легко выделять функциональность и формировать настраиваемые конфигурации, адаптируемые как для развёртывания на больших серверах, так и на встраиваемой технике. Модульные приложения, построенные на основе модульной платформы Java, потребуют загрузки меньшего объёма данных и позволят достигнуть более высокой производительности за счёт более эффективной оптимизации специфичных для используемой конфигурации модулей.
В настоящее время в JDK 9 одобрена реализация трёх спецификаций, связанных с модулями:
- JEP 200 (http://openjdk.java.net/jeps/200) - определение модульной структуры JDK;
- JEP 201 (http://openjdk.java.net/jeps/201) - реорганизация кода JDK в модули, усовершенствование системы сборки для поддержки компиляции модулей, раздельная обработка модулей на этапе сборки;
- JEP 220 (http://openjdk.java.net/jeps/220) - реструктуризация структуры бинарных образов JDK и JRE для поддержки модулей и увеличения производительности, безопасности и удобства сопровождения.Некоторые другие улучшения:
- Легковесный JSON API (http://openjdk.java.net/jeps/198) для обработки и генерации данных в формате JSON;- Новый API HTTP-клиент (http://openjdk.java.net/jeps/110), идущий на замену HttpURLConnection и поддерживающий HTTP/2.0 и websockets;
- Улучшенный API (http://openjdk.java.net/jeps/102) для управления процессами на уровне операционной системы;
- Улучшение (http://openjdk.java.net/jeps/143) работы блокировок для конкурирующих Java-объектов, позволившие повысить производительность в условиях, когда разные нити одновременно пытаются получить доступ к объектам;- Сегментирование (http://openjdk.java.net/jeps/197) кэша JIT-компилятора, позволяющее повысить производительность длительно выполняемых программ, сократить фрагментацию и время запуска;
- Добавление в компилятор sjavac (http://openjdk.java.net/jeps/199) (Smart Java compiler) средств параллельной и раздельной сборки, внесение улучшений для обеспечения сборки JDK и крупных проектов;
URL: https://blogs.oracle.com/java/entry/java_9_schedule_is_out
Новость: http://www.opennet.me/opennews/art.shtml?num=42218
Ждем в 2016 повышение продаж RAM.
у вас представления о яве застряли на уровне 1995 года
Сейчас все еще хуже.
Вы как-то совсем неправильно защищаете яву. Правильный апологет должен заявить "ну и что? Память она дешёвая, только полный лох и нищеброд не может поставить лишний терабайт ОЗУ в каждый сервер".
В следующий раз отвечайте правильно.
Сейчас обвчно другая проблема:
сервер 64 GB памяти, а использовать без подпорок можно только 10-15 иначе - долгая сборка мусора
Ну ну, и много Вы с ней работали?
Дык в 95 все знали, что Ява не течет. Ваще. Ведь мракетологи же врать не будут. А вот к настоящему моменту представления поменялись, ага.
> Ждем в 2016 повышение продаж RAM.Не только. Ещё будет великолепнейшая коллекция свежих уязвимостей.
А ещё старый софт отвалится. Как обычно, у ынтерпрайзной жабы.
И Ынтерпразы вдохнув, так и останутся на 1.5 :)))))
> А ещё старый софт отвалится. Как обычно, у ынтерпрайзной жабы.
> И Ынтерпразы вдохнув, так и останутся на 1.5 :)))))Бери выше - 1.7, ибо 1.5 не только померла но успела уже и разложиться, а вот 1.7 просто приказала долго жЫть.
Хотя надо у специалистов уточнить... Изя, Изя, где ты !
наоборот, т.к меньше классов будет грузиться, меньший и объём памяти требоваться будет, судя по планам.
В текущей версии загружаются только те, что вызывались. С какого перепою интеграция пакетного менеджера в jvm уменьшит количество загружаемых классов?
всегда воспринимал яву как что-то по-настоящему стабильное, пусть, кривое, тормозящее, не переносимое и сложное, но стабильное - есть время изучить все тонкости платформы.
А теперь она ни чем не отличается от .Net, только под .Net писать приятнее.
Так и в чем смысл явы, при обновлении каждый год???
Кривое, тормозящиее, непереносимое и сложное - это вы про что?
И что плохого в более частых обновлениях чем было раньше? Это же хорошо, что язык развивается, а не стоит на месте.
> Кривое, тормозящиее, непереносимое и сложное - это вы про что?Это он о жабе. Внезапно!
> И что плохого в более частых обновлениях чем было раньше?Ничего плохого. Ынтерпрайзы останутся на 1.5, а хипстеры с жабой ... ну наверное бывают :)))
> Это же хорошо, что язык развивается, а не стоит на месте.
Да, если всем не пофиг. А тут как раз такой случай.
> только под .Net писать приятнее.А это смотря каким местом писать и на чем. Маркетинговый будщит от M$ действует на неокрепший мозг ждуниора как сильнейший опиат.
Ты не кучки коровьего дерьма сравнивай, а суммы в зар. платных чеках.
Ну давай сравним, если ты так просишь. Работал на java в 2013-ом году, ЗП была 120 тысяч на руки, стаж работы в компаниях 3-4 года, еще два года работы над собственными проектами (школу не считаю).
Твоя очередь.
> Твоя очередь.Салага!
28 сантиметров. Если скажу диаметр - уйдешь в запой от чуйства неполноценности :))))
И как? Нормально при диаметре в 50см живётся?
Вы сейчас половые органы сравниваете или зарплаты в разных ЯП?
Gочему приятнее? т.е каких удобств и фич не хватает Яве в сравнении с .NET/C#
Gочему -> Почему
Плохому танцору яйца мешают
когда я пробовал (а это был .net 2.0) сильно больше понравился .net (теже манифесты с разными версиями либ и много другого), а вот с явой использование swing давалось очень тяжко.
Чего-то не хватает, какая-то она ну вот неэргономичная что ли. Даже выразить тяжело.
Инструменты и те все 3рд пати, да и фрейморки тоже. Уже это о многом говорит. Зоопарк одним словом.
> Gочему приятнее? т.е каких удобств и фич не хватает Яве в сравнении
> с .NET/C#Нормальные проперти, а не костыли на гет/сет.
Нормальные дженерики без erasure.
Нормальные функции высшего порядка, а не изврат с интерфейсом из одной функции.
Плюс отсутствие единого classpath и jarr-hell.Это все решено в C#/.Net, но не решено в Java/JVM.
PS Jigsaw уже много лет пилят. Если смогут в 9-ке сделать, то хорошо. А так его переносят еще со времен 6-7 java.
Ну всё, надо уже на 8-ую переходить
С учетом, что 7-ка не обновляется, начиная с апреля?
семёрка
семь-ка
> 7-ка публично не обновляетсяТак правильнее. И поэтому в том числе. SQL Developer вон только 4 мая с 8-ой явой слепили для ынтерпрайзного использования.
Болеете? Хром 42-ой версии, Фокс его скоро догонит, новая версия каждый месяц, флэш только в этом году скакнул с 15 до 17 версии, теперь и жаба каждый год - плюс единичка к версии, винда так торопится, что даже дырки в нумерации оставляет.
> винда так торопится, что даже дырки в нумерации оставляет.это чтобы не сломать обратную совместимость с софтом: https://geektimes.ru/post/238915/
42-й версии
с 15-й до 17-й версии
А специальный JEP для поддержки АНБ будет?
> А специальный JEP для поддержки АНБ будет?Будет. Много. Отдельных. C.P.U. (Critical Patch Updates).
"увеличения производительности"Люто плюсую
Java лочит лог файлы, которые при удалении в файловой системе - фактически не удаляются и остаются в состоянии DELETED до перезапуска процесса.
Идиотская реализация буферизированного вывода в файл.
лог-файлы
Сухим языком цифр:% ls /usr/ports/distfiles/openjdk-8-src-b132-03_mar_2014.zip
-rw-r--r-- 1 root wheel 118M 14 мар 2014 /usr/ports/distfiles/openjdk-8-src-b132-03_mar_2014.zip% ls /usr/ports/distfiles/chromium-42.0.2311.135.tar.xz
-rw-r--r-- 1 root wheel 292M 29 апр 00:22 /usr/ports/distfiles/chromium-42.0.2311.135.tar.xz% ls /usr/ports/distfiles/firefox-38.0.source.tar.bz2
-rw-r--r-- 1 root wheel 171M 12 май 23:03 /usr/ports/distfiles/firefox-38.0.source.tar.bz2
только для того, чтобы ее реально собрать одного этого зипболла недостаточно, гляньте как она собирается.
> только для того, чтобы ее реально собрать одного этого зипболла недостаточно, гляньте
> как она собирается.Она сама себя пересобирает (то есть предыдущая подверсия JDK собирает следующую), LLVM/Clang собирает код JVM, написанный на C++.
% portmaster openjdk8-8.45.14
...
===>>> openjdk8-8.45.14 >> (6)===>>> The following actions will be taken if you choose to proceed:
Re-install openjdk8-8.45.14
Install devel/gmake
Install devel/gettext-tools
Install devel/pkgconf
Install shells/bash
Install devel/bison
Install devel/m4===>>> Proceed? y/n [y]
% portmaster firefox-38.0,1
...
===>>> firefox-38.0,1 >> (12)===>>> The following actions will be taken if you choose to proceed:
Re-install firefox-38.0,1
Install databases/py-sqlite3
Install devel/autoconf213
Install devel/autoconf-wrapper
Install devel/m4
Install devel/gmake
Install devel/gettext-tools
Install devel/pkgconf
Install multimedia/v4l_compat
Install textproc/intltool
Install textproc/p5-XML-Parser
Install x11/glproto
Install devel/xorg-macros===>>> Proceed? y/n [y]
% portmaster chromium-42.0.2311.135
...
===>>> chromium-42.0.2311.135 >> (19)===>>> The following actions will be taken if you choose to proceed:
Re-install chromium-42.0.2311.135
Install devel/bison
Install devel/gettext-tools
Install devel/m4
Install devel/gperf
Install devel/ninja
Install devel/pkgconf
Install devel/py-Jinja2
Install devel/py-babel
Install devel/py-pytz
Install textproc/py-MarkupSafe
Install devel/py-ply
Install devel/yasm
Install misc/usbids
Install multimedia/v4l_compat
Install shells/bash
Install sysutils/flock
Install textproc/intltool
Install devel/gmake
Install textproc/p5-XML-Parser===>>> Proceed? y/n [y]
Я не об этом, а о том, что многие компоненты типа внезапно виртуальной машины отдельно идут. Гляньте сюда: https://projects.archlinux.org/svntogit/packages.git/tree/tr...
Ну то что кладется в БСДшные порты многим не известно(мне), так что это не показатель.
А то что Ява, сто метров занимает, это да, минус, но ещё более "минусовие" это то что, в этих ста метров нет компиляции в машинный код, ибо вот где задел на ускорение.
> Ну то что кладется в БСДшные порты многим не известно(мне), так что
> это не показатель.Обычно один порт == одно ПО.
> А то что Ява, сто метров занимает, это да, минус, но ещё
> более "минусовие" это то что, в этих ста метров нет компиляции
> в машинный код, ибо вот где задел на ускорение.Исходники JIT JVM входят в этот архив.
я не про JIT VM, а именно про аналог Android5 компиляцию в машинный код. То что уменьшит время запуска приложений и потребление ресурсов. Раньше видел что это в планах к JAVA9, но тут бегло пробежавшись по план-фичам сейчас такого не вижу. Очень Жаль.
> ещё более "минусовие" это то что, в этих ста метров нет компиляции
> в машинный код, ибо вот где задел на ускорение.В Go есть компиляция сразу в машинный код, так что при исполнении не надо
интерпретатор и JIT или АОТ, а можно сразу брать и исполнять бинарник.Кроме того, программа на Go использует меньше памяти,
чем аналогичная программа на Java, плюс нет большого груза
обратной совместимости как в стандартной библиотеке Java.
Я пробовал немного Golang. Из того что помню не было generic-ков; довольно странный импорт с гита библиотек с мастер веток, при которых следующие изменения поломают всё про всё в либе которая так импортит зависимости; довольно молодые и "неустаканенные" вёб-фреймворки, ещё что-то по мелочи... не помню уже. Сейчас ещё часть интереса у людей могут с него переключится на Rust, вот ещё D язык тут на форумах расхваливают все, не пробовал правда.В моем представлении JAVA конкурирует с NET, как по сферам(мобильная разработчка и т.п), так и по обилию библиотек.
Go же соперник Rust и наверное D-lang, на текущем этапе.
> Я пробовал немного Golang. Из того что помню не было generic-ков;Может быть добавят потом. лучше не спешить. вот в Java например,
сделали generic`и криво - теперь постоянно все мучаются с ними.
Спешили они очень. В такои деле лучше сначала подумать, а потом делать.> Сейчас ещё часть интереса у людей могут с него переключится
> на Rust, вот ещё D язык тут на форумах расхваливают все, не пробовал правда.D - это старый язык, и он так и не взлетел.
Rust - это они еще раз С++ пытаются изобрести?
> В моем представлении JAVA конкурирует с NET, как по сферам
> (мобильная разработчка и т.п), так и по обилию библиотек.сейчас - да. вернее, это дотнет пытается конкурировать с Java.
> Go же соперник Rust и наверное D-lang, на текущем этапе.
Тем не менее, Go сейчас - это очень перспективный язык,
можно сказать, что это язык программирования нового поколения.
> Сухим языком цифр:
> -rw-r--r-- 1 root wheel 118M 14 мар
> 2014 /usr/ports/distfiles/openjdk-8-src-b132-03_mar_2014.zip
> -rw-r--r-- 1 root wheel 292M 29 апр 00:22
> /usr/ports/distfiles/chromium-42.0.2311.135.tar.xz
> -rw-r--r-- 1 root wheel 171M 12 май 23:03
> /usr/ports/distfiles/firefox-38.0.source.tar.bz2Я победил:
emacs24_24.4+1.orig.tar.bz2 23,824.2 kB