Pull to refresh

Comments 25

Спасибо Вам и собеседнику, интересный подкаст о внутренностях JVM.
Круто. Спасибо.
Может сделаете серию вебкастов или подкастов по всем аспектам Java и JVM? А то очень заинтриговали 6 сборщиков мусора и внутренняя реализация.
Очень заинтересовали эти темы!
Поддерживаю!
Буду очень рад послушать, интересуюсь этой темой.
Последние 3 года на Техдейз есть доклыда про сборщики мусора, два года назад был доклад Игоря Вересова, год назад Катерины Павловой про Garbage First, в этом году тоже были доклады про Garbage First. Слайды точно должны быть доступны, а вот видеозаписи — не уверен.
Можно, кстати, спросить у разработчика планируют ли они вводить unsigned типы ) Думаю, тема наболевшая у многих работающих с байтиками людей
Это не вопрос виртуальной машины, а спецификации языка. Unsigned опустили умышленно, зачем — это длинная тема. С другой стороны, виртуальная машина исполняет байткоды, а не исходный код. Байткод может быть получен и из другого языка, не только java, например scala, JRuby, etc… Недавно добавилась новая инструкция invokedynamic, которая помогает работать с языками без статической типизации.
UFO landed and left these words here
UFO landed and left these words here
А про единственного русского Java Licensee — Excelsior, ничего не сказал в начале =(
Вскользь упомянулась тема, которая не дает мне покоя уже многие годы. Когда загружается java приложение выполняется загрузка и валидация байткода, линковка методов, профайлинг кода и компиляция кода. Все это делается очень и очень долго, и именно поэтому джава до сих пор носит ярлык тормозной платформы. Было бы разумным хранить метаданные линковки, профайлинга и скомпилированный код между запусками jvm. И якобы из соображений безопасности этого не делают (хотя я навскидку могу предложить 10 secure способов хранения данных между запусками).

Кроме того, подобную вещь можно сделать для runtime library — заранее прекомпилировать частоиспользуемые методы и загружать в память уже native-код. Все современные ОС используют профайлинг апликаций для ускорения запуска, а Win7 даже предзагружает в бекграунде частоиспользуемые апликации. Если бы приложение запускалось 0.5 секунд вместо 10-15, то Java быстро нашла бы своих поклонников на десктопах.
UFO landed and left these words here
добавлю к словам TheShade следующее:

1. для сокращения издержек на верификацию (там требуется итеративный потоковый анализ) в классфайлы стали включать т.н. StackMaps.

2. На Sun/Oracle HotSpot JVM свет клином не сошелся. Уже упомянутый мной выше Excelsior (Российская контора расположенная в Новосибирском Академгородке) разработала с нуля собственную JVM, во главу которой положена AOT-компиляция, т.е. приложение компилируется в бинарный код один раз и в таком виде распространяется. Так вот такая «превентивная» компиляция вместе с некоторыми трюками (переупорядочение секций в бинарнике на основе предварительно собранного профиля) позволяет достичь существенного (заметного на глаз ускорения) старта приложения.
Странно, а сайт называется excelsior-usa.com. Очень давно смотрел один из первых компиляторов эксельсиора, и он как ни странно, уступал в произвоительости Sun JRE. Как технология он хорош, можно использовать для клепания десктопных апликаций, но есть существенный недостаток: имеет свой платформно зависимый формат распространения. То есть все стандартные джавовские штуки типа Webstart отпадают. Интересней бы было иметь именно JVM со встроенным компилятором, которая бы компилировала апликацию в бекграунде на клиентской машине и в таком виде использовала бы. То есть распространяются универсальные jar-ы, а вся оптимизация идет у клиента.
>> Странно, а сайт называется excelsior-usa.com.

Есть excelsior.ru =) Видимо excelsior.com был кем-то раньше куплен, чем появилась компания…

>> Очень давно смотрел один из первых компиляторов эксельсиора, и он как ни странно, уступал в произвоительости Sun JRE.

Ну с тех пор много воды утекло, я думаю. Я правда не в курсе последних сравнений.

Но вот публичные замеры двухгодичной давности: www.stefankrause.net/wp/?p=9
Можно кстати еще использовать GCJ порт для Windows через MinGW. Хоть полностью Java RT он не поддерживает, но все-равно полезен, если нужен именно native-код.
Жаль не спросили темп развития java после покупки Oracle.
Как им у нового хозяина работается и т.д.
Всё равно один из лучших выпусков если брать из последних, спасибо.
Жизнь продолжается. Инженеры, в том числе и из Петербургского офиса, продолжают заниматься любимым делом :)
У меня тут несколько вопросов есть именно по этому подкасту, ответите? :)

Чем занимается Питерский офис Sun? На самом деле, в питерском офисе пишутся какие то Core технологии? В том числе даже и JVM? Насколько сложно попасть в группы, занимающиеся такими вещами?
Точно знаю, что в Петербургском офисе ведётся разработка JavaFX, адаптирование JVM & libraries под различные платформы, в том числе видеоприставки, поддержка и тестирование Sun/Oracle технологий.
Пишутся конечно
Они много чем занимаются +) например, virtualbox.
Раньше сидели команды разработчиков jme, нетбинса и Sun Studio (если я не ошибаюсь).

Напишите резюме +)

Спасибо! Учту, мб и напишу)
Надеюсь, в ближайшем будущем сделаете подкаст о Java EE 6. Очень жду…
Only those users with full accounts are able to leave comments. Log in, please.