Разработка ждёт балета
1.65K subscribers
510 photos
5 videos
15 files
1.55K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://xn--r1a.website/+e2ND1tAa0lU2ZTli
Download Telegram
Чуваки написали 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