Java дайджест #37: релиз Flyway 5.0.0 и новая жизнь JEE (EE4J)

💡 Усі статті, обговорення, новини про Java — в одному місці. Приєднуйтесь до Java спільноти!

Ссылки, на которые лучше таки нажать (по мнению автора), отмечены знаком (!)

Java Next

(!) Java 10 — The Story So Far. Интересно узнать, что из этого дойдет до релиза 10-ки.

Design of Java Value Types Makes Progress

(!) JEP draft: Switch Expressions for the Java Language

Что-то вроде новостей

(!) Вышел Flyway 5.0.0. На мой взгляд, более приятный тул для миграции, чем Liquibase.

Вышел Spring REST Docs 2.0.0.RELEASE. Основное нововведение — это работа со Spring 5.

Hazelcast Joins Eclipse Foundation to Collaborate on Open Source Enterprise Java

Почитать и посмотреть

What’s new in the Groovy language: 2018 roadmap. На DOU нет выделенного Groovy-дайджеста, но если у вас есть интересные материалы по тому, что происходит с этим языком, внизу указано, куда вы их можете отправить.

JUnit4, JUnit5, and Spock: A Comparison. Самое важное в этой статье — Spock еще жив, оказывается.

Оказывается, в 2018-м году люди все еще пользуются Eclipse-ом. Более того, все еще обсуждают на DOU и в юзер-группах Eclipse vs Intellij Idea. И это в то время, как все прогрессивное человечество переезжает (но никак не переедет) на VS Code.

Spring Cloud Stream and Apache Kafka based Microservices on Oracle Cloud ... скачать бесплатно без-смс. Тут важно узнать, что у Оракла тоже есть свой клауд.

This Year in Spring — 2017. Описание того, что случилось в Spring в предыдущем году.

Getting Started with Microservices in SpringBoot. Мало ли, может кто еще не читал подобных статей.

(!) The First Nine Projects Proposed for EE4J. JEE дружно переезжает под крыло Eclipse.

Payara Server and Payara Micro in 2018

Eclipse Vert.x meets GraphQL. Почему-то хайп по GraphQL как-то обходит Java-мир. Пытались ли вы использовать его в своих проектах? Как ощущения?

Aphyr проанализировал Hazelcast 3.8.3. Если кратко, то «все пропало».

Psychosomatic, Lobotomy, Saw: What a difference a JVM makes?. Немного непотребств в новом году.

(!) Shenandoah: сборщик мусора, который смог от Алексея Шипилёва.

(!) Серия статей JVM Anatomy Park от Алексея Шипилёва.

Разное

Resilience4j — альтернатива Hystrix


Предложения и пожелания все еще принимаются или через завсклад и товаровэд администрацию DOU, или через твиттер @_silverwolf. Также можно оставлять комментарии в специально выделенной теме на форуме.


← Предыдущий выпуск: Java дайджест #36
Следующий выпуск: Java дайджест #38

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn



24 коментарі

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

В 2018 в джаву наконец завезли var. Еще немного и даже async/await будет через лет 10

async/await

Уже давно есть, только используются не языковые конструкция а библиотека языка — CompletableFuture.
Если нужно еще больше сахара, можно использовать Kotlin/Scala
async { doSomething(foo) ... }
При это async, не ключевое слово, а библиотечная функция
Довольно не удачный наезд на Java, со стороны многопоточности, где .NET платформа, в качестве догоняющего

И что такого есть в Java, чего нету в .Net в плане многопоточности?

Тоже интересно узнать, чего такого нет в .NET, что есть в джаве в плане многопоточности
И я говорил про чисто джаву, скала и котлин по сравнению с ней — отличные языки, где нет сто и одной приблуды сверху, который доподключать надо

@Oleksii Kraieviy @Stanisav Silin
Я изначально не правильно выразился. Изначально я имел ввиду JVM, а не Java.
Один из самый простых аргументов, это то что в JVM вложили намного больше времени и усилий в отличии от CLR. Возможно в скором времени благодаря .NET Core все изменится.
Другой момент, вытекает из первого, возможность работы на linux открывает более широкие возможности, за примером далеко ходить не нужно, тот же NETTY, при запуске на linux позволяет более тесно интегрироватся и использовать нативные возможности linux.
Так что ни кого не хотел обидеть, в плане языка C# имеет куда более интересные возможности и плюшки, но вот что касается виртуальных машин исполнения )

The CLR has coroutines (implemented with the C# ’yield’ keyword). The JVM does not.

мне все таки кажется, что асинхронные операции ближе к операционным системам. Смешивать ключевое слово языка, виртуальные машины в данном контексте — очень странно

arguably a JAR (i.e. Java ARchive) as evidenced by being able to specifiy a jar in the classpath and have it treated like a folder of code.

О какой JVM говорит автор ? Здесь важно учитывать что JVM это спецификация, следуя которой вы можете написать свою виртуальную машину и после сертификации от oracle называть ее JVM. Так вот одна из jvm под названием Excelsior JET компилирует java классы в исполняемый бинарник.
Можно комментировать и другие цитаты автора, но отличия конечно же будут. Но я не говорил что лучше а что хуже...

Не туда вы смотрите, главными плюшками будут следующие:

The CLR allows user code to define new value types (structs), whereas the JVM provides a fixed collection of value types (byte, short, int, long, float, double, char, boolean) and only allows users to define new reference-types (classes).
In Java, generic types are a purely a compiler trick. The JVM has no notion of which classes have type-arguments, and it’s unable to perform parametric specializations at runtime.

С ними можно добиться существеного буста перфоманса за счет избегания боксинга..

С ними можно добиться существеного буста перфоманса за счет избегания боксинга..

1. Автор ничего не писал про боксинг
2. Укажите мне связь между возможности создавать struct и боксинга ?)
Если первое про использование памяти, а второе про проблемы примитивных типов и их reference реализаций в мире jvm)

In Java, generic types are a purely a compiler trick. The JVM has no notion of which classes have type-arguments, and it’s unable to perform parametric specializations at runtime.

И здесь имеется ввиду. Что дженерики в jvm не совсем честные. Они есть только на этапе компиляция для проверки типов. В рантайме есть только мета информация
И если вас уже так сильно цепляет проблема боксинга, то есть JEP 169
openjdk.java.net/jeps/169 где решается проблема и возможность писать «List [int]»
С вашего позволения я бы все таки прекратил бы этот спор.

В джаве с боксингом не все так печально, как в дотнете: JVM vs CLR (Саша Голдштейн и Алексей Шипилёв).И, скорей всего, в 10 джаве они наконец-то добавят value типы (Valhalla Wiki, Value Types). И, в отличие от детнета, они будут неизменяемые.

И, скорей всего, в 10 джаве они наконец-то добавят value типы

Вот в этом списке:
openjdk.java.net/projects/jdk/10
нет ни 169-го, ни 218-го

И, в отличие от детнета, они будут неизменяемые

В «детнете» value types могут быть неизменяемыми. Конечно это только сахар, но он проверяется компилятором.

Плюс послушал подкаст, сложилось впечетление, что джависты превозносят фичи jvm, которых нету в .net. Хотя там подобных проблем лобо вовсе нету, либо они решены на других уровнях абстракции.

(!) JEP draft: Switch Expressions for the Java Language

ошибка 404, но есть обсуждение на реддите. И есть вот такой JEP, наверное, в рамках его имплементации и будут реализованы switch выражения.

вот новый JEP, который основан на старом JEP 305
openjdk.java.net/jeps/325

ошибка 404

Я так понимаю что когда драфт становится ДжЕПом, то ссылка на него пропадает. Речь шла не о 305-ом, а о 325-ом.

Что реально кто-то переезжает с idea на VS Code?

Ну я например, уже пол-года как перехожу. Успехи пока не очень :)

Для фронтенда и всяких скриптов уже год как перешел — очень удобно и с каждым релизом все лучше и лучше.
Для джавы\котлина конечно идея лучшая ... пока

Самое важное в этой статье — Spock еще жив, оказывается.

А разве он собирался умирать? Я просто не в курсе, недавно наткнулся на него и пришел в полный восторг.

А разве он собирался умирать?

Проблема в том что про ниго ничего не слышно уже пару лет. Про ДжЮнит 4-5 часто появляются статьи, доклады — видно что кто-то использует. А про Спок даже упоминания вспомнить не могу, к сожалению.

редко, но есть на девоксах всяких .... когда-то среди грувистов была дискуссия в духе что им пользуются успешно, но тихо без хайпа и от этого страдает популярность -> меньше комьюнити -> медленнее развитие .... и что-то не радужные перспективы у груви и следовательно спок пострадает ... а так юнит 5 неплох (хотя тот же спок использует юнит ранеры и обсуждали что с 5-м будет еще легче ... но все медленно) :( а жаль — спок очень удобен (особенно для тех кто RSpec рубистский использовал)

Flyway 5.0.0.

с Вертикой он так и не заработал, а потому ее подержку и «выпилили» из текущего релиза. :)

Підписатись на коментарі