Вот тут можно посмотреть, что сейчас происходит с Project Loom в Java (это то, что сначала называлось fibers, а теперь зовётся virtual thread). Это всё про те же легковесные потоки, которые бегут не поверх OS threads, а userspace JDK.
А вот тут чувак немного поэкспериментировал со всем этим богатством.
#java #loom #coroutine
А вот тут чувак немного поэкспериментировал со всем этим богатством.
#java #loom #coroutine
Habr
Project Loom: виртуальные потоки в Java уже близко
Несколько дней назад Ron Pressler разродился статьей State of Loom , которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь...
Черновик JEP’а про Primitive Objects.
Если упрощать, то это такие неизменяемые классы, с объектами которых можно работать, как с обычными примитивами. При копировании такого объекта получается объект, полностью идентичный оригинальному. И в планах даже сделать примитивными объектами
#java #jep #primitive
Если упрощать, то это такие неизменяемые классы, с объектами которых можно работать, как с обычными примитивами. При копировании такого объекта получается объект, полностью идентичный оригинальному. И в планах даже сделать примитивными объектами
int
, boolean
, и т.п., и обновить должным образом дженерики. Всем по List<int>
!#java #jep #primitive
А вот тут Тагир наш Валеев здорово рассказал про анбоксинг в последних версия Java. Не так страшен
#java #unboxing #jvm
Chort<Integer>
, как его малюют!#java #unboxing #jvm
Хабр
Анбоксинг в современной Java
Сейчас новые версии Java выходят раз в полгода. В них время от времени появляются новые возможности: var в Java 10, switch-выражения в Java 14, рекорды и паттерн...
А вот интересный замес: Брюс Эккель (наверняка его все знают, как минимум за книжку “Философия Java”) пожурил Gradle за всякое разное, а Седрик Шампо (делал Groovy, делает Gradle) аккуратно прошёлся по его тезисам и постарался их развалить. Ням!
#gradle #java #groovy
#gradle #java #groovy
Bruceeckel
The Problem with Gradle
Тут в Git mailing list создатель JGit интересно расписал, с чем приходится сталкиваться, чтобы ускорить Git, написанный на чём-то более высокоуровневом (Java в его случае), чем C, и всё равно быть более медленным.
#git #c #java
#git #c #java
Внимание! Из психиатрической больницы им. Кащенко сбежала группа джавистов. На попытки заговорить отвечают предложениями использовать checked exceptions в качестве union types. Не пытайтесь их понять, это опасно! Ни в коем случае не пытайтесь их переубедить - они агрессивны! За помощь в поимке вознаграждение гарантируем!
#java #exception #type
#java #exception #type
Java, SQL and jOOQ.
Java’s Checked Exceptions Are Just Weird Union Types
This fun fact has been on my mind for a while, and a recent reddit thread about “Smuggling Checked Exceptions with Sealed Interfaces” made me write this post here. Namely, Java had unio…
Java Generics are Turing Complete.pdf
481.1 KB
JEP 430: String Templates, дамы и господа! Прошу любить и жаловать!
В Java решили сделать что-то типа string interpolation, но чтобы было ЛУЧШЕ, чем у всех остальных.
Получилось, впрочем, как обычно:
#java #language #jep
В Java решили сделать что-то типа string interpolation, но чтобы было ЛУЧШЕ, чем у всех остальных.
Получилось, впрочем, как обычно:
String s = STR."\{x} + \{y} = \{x + y}";
#java #language #jep
Новая билд система для Java, на Java. Хотят, чтобы всё было прямо, как железная дорога, без магии. Название доставило: bld. "БЛД, почему не собирается?" "Почему, БЛД, так медленно?"
#build #java #tool
#build #java #tool
foojay
Introducing Bld: A New Pure Java Build System
We created bld because we're not really interested in build tools. We use them because we have to, but we'd rather just get on with coding.
Тут вот про потенциальную утечку памяти из-за какого-нибудь
#java #memory #leak
new HashMap<>() {{ ... }}
в Java коде. Хорошее дело. Кажется, когда-то мне такие и у нас приходилось чинить.#java #memory #leak
Тут на последнем пирлабе зашла речь про неблокирующий I/O. Ну и кто-то поделился ссылкой про io vs. nio в Java.
#java #io #nio
#java #io #nio
Тут конечно сами себе палки в колёса вставляют, но очень интересно. Чел ломает
Только представьте, какая красота будет, если злонамеренно такое пропихнуть в какую-то популярную либу и сломать всем интернированную, скажем,
#java #string
java.lang.String
. Чтобы строка не была .equals
самой себе и всё в таком духе. И совсем не больно! Только представьте, какая красота будет, если злонамеренно такое пропихнуть в какую-то популярную либу и сломать всем интернированную, скажем,
"id"
.#java #string
Недавное видели игрушечную JVM на Rust. Нашёлся более амбициозный проект - пишут JVM на Go. Тут пост про то, как машинка находит методы классов. А тут несколько ссылок, если захочется больше деталей.
#jvm #go #java
#jvm #go #java
Тут ничего и не добавишь, заголовок говорит сам за себя: A one-sentence summary of each new JEP from JDK 21
#java #jdk
#java #jdk
Feature freeze для JDK 22 выглядит прямо прикольно. Много интересных приятных изменений. Прямо разворошили этот улей за последние несколько лет.
#java #jdk
#java #jdk
Чуваки написали JVM на Java с фокусом на portability. Определённое подмножество Java уровня 1.5 они транспилируют в кучу других языков, опираясь, например, на их GC. Это всё позволяет, в том числе, запускать Swing приложения прямо в браузере (наконец-то!)
Тут можно почитать чуть детальнее, а тут можно потыкать браузерные демки.
#java #jvm #vm
Тут можно почитать чуть детальнее, а тут можно потыкать браузерные демки.
#java #jvm #vm
Тут некогда студентка рассказывает, как ей работалось над кодом, который старше, чем она сама, в US National Ignition Facility. Код с кусками из Java 4, много миллионов строк, не очень много тестов. Я бы подсветил две вещи:
- Что там за код, мы не знаем, может просто какой-то advanced калькулятор, от багов в котором учёным не поплохеет.
- Показывает всю мощу Java. Четвёртая, восьмая, одиннадцатая, всё переварится.
#code #programming #java
- Что там за код, мы не знаем, может просто какой-то advanced калькулятор, от багов в котором учёным не поплохеет.
- Показывает всю мощу Java. Четвёртая, восьмая, одиннадцатая, всё переварится.
#code #programming #java
Mirawelner
The Codebase of a National Lab I Worked At
A look into the quality (or lack therof) of the code in a very high-stakes facility.