Разработка ждёт балета
1.66K subscribers
508 photos
4 videos
15 files
1.54K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://t.me/+e2ND1tAa0lU2ZTli
Download Telegram
Тут вот про потенциальную утечку памяти из-за какого-нибудь new HashMap<>() {{ ... }} в Java коде. Хорошее дело. Кажется, когда-то мне такие и у нас приходилось чинить.

#java #memory #leak
👍5
Тут на последнем пирлабе зашла речь про неблокирующий I/O. Ну и кто-то поделился ссылкой про io vs. nio в Java.

#java #io #nio
🔥3
Тут конечно сами себе палки в колёса вставляют, но очень интересно. Чел ломает java.lang.String. Чтобы строка не была .equals самой себе и всё в таком духе. И совсем не больно!
Только представьте, какая красота будет, если злонамеренно такое пропихнуть в какую-то популярную либу и сломать всем интернированную, скажем, "id".

#java #string
🔥121
Чел написал игрушечную JVM на Rust в учебных целях. По ссылке - серия постов, где он разбирает .class файлы, байткод и разные другие детали своей погремухи.

#java #jvm #rust
👍10🔥31
Недавное видели игрушечную JVM на Rust. Нашёлся более амбициозный проект - пишут JVM на Go. Тут пост про то, как машинка находит методы классов. А тут несколько ссылок, если захочется больше деталей.

#jvm #go #java
🔥2
Тут ничего и не добавишь, заголовок говорит сам за себя: A one-sentence summary of each new JEP from JDK 21

#java #jdk
👍1
Feature freeze для JDK 22 выглядит прямо прикольно. Много интересных приятных изменений. Прямо разворошили этот улей за последние несколько лет.

#java #jdk
👍7
Чуваки написали JVM на Java с фокусом на portability. Определённое подмножество Java уровня 1.5 они транспилируют в кучу других языков, опираясь, например, на их GC. Это всё позволяет, в том числе, запускать Swing приложения прямо в браузере (наконец-то!)
Тут можно почитать чуть детальнее, а тут можно потыкать браузерные демки.

#java #jvm #vm
👍1
Тут некогда студентка рассказывает, как ей работалось над кодом, который старше, чем она сама, в US National Ignition Facility. Код с кусками из Java 4, много миллионов строк, не очень много тестов. Я бы подсветил две вещи:
- Что там за код, мы не знаем, может просто какой-то advanced калькулятор, от багов в котором учёным не поплохеет.
- Показывает всю мощу Java. Четвёртая, восьмая, одиннадцатая, всё переварится.

#code #programming #java
👍3
Тут чуваки прямо стараются, чтобы Java в браузере через WASM запускалась. Прямо без рекомпиляции, обычные .jar кушает. У них там и Minecraft уже работает, и IDEA (вроде как). Swing можно прямо на страничке потыкать. Красота! Make Applets Great Again!

#java #wasm #web
🤯6👍3🔥2
Супер поучительная история. Чел работал над гигантской кодобазой на Java, заоптимизированной донельзя. Система работала на огромном кол-ве машин, поэтому каждый процентик экономии имел большой смысл. Наш протагонист нашёл пространство для ещё одной оптимизации: маршалинг long'ов в VarInt байты. Героически покоряя JIT и извергая ASM инструкции, он добился 4-х кратного ускорения этой небольшой функции. Раскатывает на прод - 0 эффекта. Копает, в чём дело, и, внезапно, facepalm. Никто особо не маршалит настолько больших чисел, чтобы оптимизация дала эффект. Мораль: не надо бенчмаркать на рандомных данных.

#optimize #java #benchmark
😢12😁31👏1
В докладе объясняют, почему final в Java всё ещё не совсем честное immutability, как рантайму приходится с этим мириться, и какие изменения грядут, чтобы final наконец стал настоящим.

#talk #java #jvm
2🤝1