Кажетя в java 10 всё-таки занесут
#java
https://blog.takipi.com/how-java-10-will-change-the-way-you-code/
var
. Лично я не понимаю, почему сообщество так противилось этому, вполне не плохая идея просто сократить синтаксис, иногда просто нудобно записывать явно тип, особенно когда какой-нибудь Map<String, List<MyType>> name ...``
, зачем его указывать явно, если обычно компилятору достаточно информации, чтобы понять фактический тип из контекста. #java
https://blog.takipi.com/how-java-10-will-change-the-way-you-code/
OverOps Blog
How Java 10 will CHANGE the Way You Code
Highlighting the New Java Local Variable Type Inference Feature Coming in Java 10
Блок про java продолжается. На этот раз краткий анонс плюшек, которые должны быть в java 11. Не сказать что ожидается что-то масштабное.
Должен выйти Epsilon GC, это такой интересный проект, который по факту выключает сборку мусора в java. Также немного подчистят стандартную библиотеку, выбросят java ee классы, т.к. всё равно используются сторонние реализации и не логично включать это в java se. И выбросят CORBA, тут можно только сказать, что давно пора. Прочие плюшки в основном связаны с повышением производительности и улучшением синтаксиса.
#java
https://dzone.com/articles/an-early-look-at-features-targeted-for-java-11
Должен выйти Epsilon GC, это такой интересный проект, который по факту выключает сборку мусора в java. Также немного подчистят стандартную библиотеку, выбросят java ee классы, т.к. всё равно используются сторонние реализации и не логично включать это в java se. И выбросят CORBA, тут можно только сказать, что давно пора. Прочие плюшки в основном связаны с повышением производительности и улучшением синтаксиса.
#java
https://dzone.com/articles/an-early-look-at-features-targeted-for-java-11
dzone.com
An Early Look at Features Targeted for Java 11 - DZone Java
Check out the JEPs slated so far for JDK 11, which will touch on dynamic class-file constants, garbage collection, Java EE, and lambda expressions.
Новости из java мира. У нас тут вышла java 10 и совсем без шума. Напомню, что oracle поменяла модель релизов, и теперь нет такого правила, где каждая версия несла какие-то значительные изменения. Теперь у нас релизы по модели поезда (есть расписание, кто успел, тот и попал в релиз). На самом деле теперь есть так называемые LTS релизы, с долгосрочной поддержкой, и обычные рядовые.
java 8 будет поддерживаться до 2022
а вот java 9 до выхода java 10, т.е. до текущего релиза)
А вот LTS релизом будет только java 11, которая должны выйти в сентябре 2018. И у нас ещё изменение, теперь версии будут записывать по другому 11 == 18.9. Многие языки программирования уже с таким версионированием, теперь java тоже.
подробнее http://www.oracle.com/technetwork/java/eol-135779.html
#java
java 8 будет поддерживаться до 2022
а вот java 9 до выхода java 10, т.е. до текущего релиза)
А вот LTS релизом будет только java 11, которая должны выйти в сентябре 2018. И у нас ещё изменение, теперь версии будут записывать по другому 11 == 18.9. Многие языки программирования уже с таким версионированием, теперь java тоже.
подробнее http://www.oracle.com/technetwork/java/eol-135779.html
#java
Oracle
Oracle Java SE Support Roadmap
Oracle Java SE Support Roadmap.
Сегодня я немножко про java
Основная ветка разработки JDK сейчас в OpenJDK, всё основное движение происходит здесь http://openjdk.java.net
Как появляются новые фичи в java и кто решает их добавлять?
Есть такое понятие: JEP что значит JDK Enhancement Proposal. Это предложения по изменению JDK, содержит подробное описание зачем это нужно и как это может быть добавлено. Каждый новый JEP просматривают люди из сообщества, в конце концов выносится решение, стоит добавлять это или нет. Ознакомиться со списком открытых предложений можно здесь http://openjdk.java.net/jeps/ . Обратите внимание, как подробно расписывается любое предложение.
Многие фичи очень значительно изменяют JDK, и не могут быть добавлены быстро, как правило разработка может продолжаться годы. Каждое такое изменение выносится в отдельный проект, когда он будет готов, его начнут вливать в основную ветку.
Активные проекты можно найти здесь http://openjdk.java.net/projects/
Выделю несколько проектов:
http://openjdk.java.net/projects/valhalla/ - сколько бы не спорили нужны value types или нет, на практике есть задачи где их очень нехватает. Так же java часто критикуют за довольно слабую реализацию дженериков. Valhalla как раз для решения этих проблем, с резилом этого проекта в java будут полноценные value types и улучшенные дженерики (например сейчас нельзя использовать дженерики для примитивов)
http://openjdk.java.net/projects/panama/ - бывают ситуации когда нужно вызывать нативный код. Например вы хотите ускорить программу и написать модуль на c++, но вот не задача, существующий JNI вносит значительные накладные расходы на вызовы нативного кода. Этот проект, про то, как сделать интеграцию с нативным кодом эффективнее.
http://openjdk.java.net/projects/shenandoah/ - в java много сборщиков мусора, вот ещё один. Самые используемые сейчас CMS и G1 умеют параллельно выполнять операцию mark, shenandoah добавит параллельных compact. Посмотрите доклад Алексей Шепелёва https://www.youtube.com/watch?v=JBaZ4lK6OBk
Там ещё много интересных проектов, некоторые уже давно в стабильной версии java. Ну а если чего-то не хватает, вы всегда можете предложить улучшение.
#java #jdk
Основная ветка разработки JDK сейчас в OpenJDK, всё основное движение происходит здесь http://openjdk.java.net
Как появляются новые фичи в java и кто решает их добавлять?
Есть такое понятие: JEP что значит JDK Enhancement Proposal. Это предложения по изменению JDK, содержит подробное описание зачем это нужно и как это может быть добавлено. Каждый новый JEP просматривают люди из сообщества, в конце концов выносится решение, стоит добавлять это или нет. Ознакомиться со списком открытых предложений можно здесь http://openjdk.java.net/jeps/ . Обратите внимание, как подробно расписывается любое предложение.
Многие фичи очень значительно изменяют JDK, и не могут быть добавлены быстро, как правило разработка может продолжаться годы. Каждое такое изменение выносится в отдельный проект, когда он будет готов, его начнут вливать в основную ветку.
Активные проекты можно найти здесь http://openjdk.java.net/projects/
Выделю несколько проектов:
http://openjdk.java.net/projects/valhalla/ - сколько бы не спорили нужны value types или нет, на практике есть задачи где их очень нехватает. Так же java часто критикуют за довольно слабую реализацию дженериков. Valhalla как раз для решения этих проблем, с резилом этого проекта в java будут полноценные value types и улучшенные дженерики (например сейчас нельзя использовать дженерики для примитивов)
http://openjdk.java.net/projects/panama/ - бывают ситуации когда нужно вызывать нативный код. Например вы хотите ускорить программу и написать модуль на c++, но вот не задача, существующий JNI вносит значительные накладные расходы на вызовы нативного кода. Этот проект, про то, как сделать интеграцию с нативным кодом эффективнее.
http://openjdk.java.net/projects/shenandoah/ - в java много сборщиков мусора, вот ещё один. Самые используемые сейчас CMS и G1 умеют параллельно выполнять операцию mark, shenandoah добавит параллельных compact. Посмотрите доклад Алексей Шепелёва https://www.youtube.com/watch?v=JBaZ4lK6OBk
Там ещё много интересных проектов, некоторые уже давно в стабильной версии java. Ну а если чего-то не хватает, вы всегда можете предложить улучшение.
#java #jdk
Некоторое время назад был на конференции Voxxeddays, в основном вокруг java технологий, вот нашёл время сделать небольшую заметку.
Из того, что запомнилось:
GraalVM (https://www.graalvm.org/) - круто, если нужно выжать из java максимум производительности. К слову грааль не только про java, вот python интересно посмотреть https://www.graalvm.org/docs/reference-manual/languages/python/
Bayesian Optimization - twitter успешно использует BO для тюнинга параметров JVM
https://projectreactor.io/ - с усложнением про реактивное программирование (https://www.reactivemanifesto.org/) слышно всё чаще. Project Reactor очень простой в использовании фреймворк, направленный на максимальную эффективность (по умолчанию запускается на https://netty.io/ сервере)
http://rsocket.io/ - ещё одна технология, которую взял на заметку, опять связана с реактивным программированием и призвана решить проблемы https://grpc.io/.
Было на самом деле много интересного про сериализацию, облачные технологии, kubernetes, но про это я рассказывать не буду.
#java #conference
Из того, что запомнилось:
GraalVM (https://www.graalvm.org/) - круто, если нужно выжать из java максимум производительности. К слову грааль не только про java, вот python интересно посмотреть https://www.graalvm.org/docs/reference-manual/languages/python/
Bayesian Optimization - twitter успешно использует BO для тюнинга параметров JVM
https://projectreactor.io/ - с усложнением про реактивное программирование (https://www.reactivemanifesto.org/) слышно всё чаще. Project Reactor очень простой в использовании фреймворк, направленный на максимальную эффективность (по умолчанию запускается на https://netty.io/ сервере)
http://rsocket.io/ - ещё одна технология, которую взял на заметку, опять связана с реактивным программированием и призвана решить проблемы https://grpc.io/.
Было на самом деле много интересного про сериализацию, облачные технологии, kubernetes, но про это я рассказывать не буду.
#java #conference
www.graalvm.org
GraalVM
GraalVM is an advanced JDK with ahead-of-time Native Image compilation.