Добрый день, господа!
Спешу сообщить, что настают последние дни.
Кажется, мир Java развился до такой степени, что то ли мы теперь можем спокойно использовать Rust вместо Java, то ли Java вместо Rust.
Кровавые подробности ждут вас под катом.
Читать полностью »
Рубрика «JDK» - 3
Новый GC Epsilon. У джавы может не быть сборки мусора. Шок. Сенсация
2017-02-14 в 20:26, admin, рубрики: garbage collector, gc, java, JDK, openjdkПошаговая инструкция: сборка JDK9 из исходников на Windows 10
2017-01-07 в 13:23, admin, рубрики: java, java 9, java9, JDK, JDK 9, jdk9В последнее время со сборкой JDK в Windows всё стало хорошо и приятно, поэтому поделюсь радостью и распишу, как это делается.
Читать полностью »
[Питер] Дмитрий Чуйко — JEP 295: Ahead-of-Time компиляция для HotSpot
2016-12-15 в 8:22, admin, рубрики: ahead-of-time, AOT, java, java9, JDK, JUG, jug.ru, jvm, Блог компании JUG.ru Group
В четверг 22 декабря в 20:00 в петербургском офисе компании Oracle состоится встреча JUG.ru c Дмитрием Чуйко, инженером Oracle из Java SE Performance Team. Тема встречи — Ahead-of-Time компиляция для HotSpot JVM.
Существуют различные реализации платформы Java. В некоторых из них есть Ahead-of-Time (AOT) компиляторы, причём подход к решению различный, да и постановка задачи разная. В данный момент в HotSpot есть JIT‑компиляция, но нет стандартного AOT. Не обязательно, что так будет всегда.
Читать полностью »
Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N
2016-09-12 в 15:05, admin, рубрики: android n, Android sdk, cmd, helloworld, Jack Toolchain, java, JDK, jdk 8, windows, разработка мобильных приложений, Разработка под androidДва с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.
Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.
Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Читать полностью »
Несовместимость метода String.split в Java 8 и Java 7
2014-10-29 в 6:32, admin, рубрики: java, JDK, String.split, совместимостьЭто заметка о проблеме, с которой я столкнулся в процессе перевода проекта с Java 7 на Java 8. Случилось это уже около полугода назад, но написать решил сейчас, потому что неожиданно про нее(проблему) вспомнил.
Итак, с места в карьер.
Читать полностью »
Ахаха, HotSpot, что ты делаешь, прекрати!
2014-08-19 в 6:20, admin, рубрики: grep, hotspot, java, JDK, Mercurial
Как вы наверняка уже знаете, скоро в Питере пройдёт очередная конференция Joker. Я собираюсь сделать на ней доклад о том, как расследовать поведение JVM, кажущееся поначалу таинственным и загадочным. Этот пост — тизер, предназначенный для того, чтобы дать вам возможность понять, чего ждать от доклада.
Предположим, что к вам вдруг приходит информация о проблеме: при сборке мусора отображаются причины «Last Ditch Collection» и «No GC», и поиск в интернете не даёт ничего вразумительного. К счастью, HotSpot практически полностью собирается из OpenJDK, и потому, как минимум в теории, мы можем найти ответы на все интересующие нас вопросы прямо в исходниках. Чем мы и займёмся!
Обновление инструментов Java-разработчика для Windows Azure
2014-02-11 в 7:16, admin, рубрики: eclipse, glassfish, java, JDK, openjdk, windows azure, Блог компании Microsoft, Облачные вычисления, метки: Eclipse, glassfish, java, JDK, openjdk, windows azure, облачные вычисленияMicrosoft Open Technologies анонсировали выпуск февральского обновления инструментов Windows Azure Toolkit for Eclipse, которые представляют собой набор инструментов с интеграцией в Eclipse для разработки Java-приложений для размещения их в облачном окружении Windows Azure.
В этом выпуске представлены следующие нововведения и обновления: поддержка SSL и SSL offloading, расширенная поддержка последних версий GlasFish и пакета Azul Zulu OpenJDK, новая опция для выбора экземпляров ролей A5, выбор Windows Server 2012 R2, улучшения в меню и новые опции. Ниже вы найдете описание этих новинок.
Поддержка SSL
Вместо требования к пользователю вручную конфигурировать каждый экземпляр Java-сервера для обработки SSL-сертификатов в Windows Azure, команда MS Open Tech разработала и предложила механизм SSL Offloading, который предлагает переложить работу с SSL на облачное окружение и компоненты виртуальной машины (IIS и ARR). Таким образом, после расшифровки запроса к вашему Java-серверу придет обычный HTTP-запрос, который после отправки будет зашифрован автоматически. Этот подход работает и со sticky-сессиями и с аутентификацией через ACS.
Читать полностью »
Путь к автоматизации удаления Java (JDK и JRE) в Windows
2013-11-14 в 10:17, admin, рубрики: java, JDK, windows, метки: java, JDK, windows Здравствуйте.
Где-то полгода-год назад я помогал человеку с проблемой: он хотел автоматически удалить всё, что относится к Java, с компьютера под управлением Windows.
Для начала я поискал, есть ли у установщика какой-то ключ, который поможет это сделать.
Уже не помню точно, кажется я таки отыскал его, но функционал был сломан, инсталлятор не выполнял нужной функции.
Дополнительными вариантами я нагуглил всяческие VB-решения, или требующие .NET, как JavaRa.
В конце концов я наткнулся на обсуждение, в котором нашёл одну заветную строчку с полезной командой wmic, и в итоге решение проблемы выродилось в очень небольшой батник, который использует только средства системы, чтобы выполнить то, для чего написаны длиннющие скрипты.
Команда является частью WMI, и присутствует в Windows 2000 и выше.
Читать полностью »
Настройка JavaCV в Windows 7
2013-08-14 в 16:22, admin, рубрики: eclipse, java, JDK, opencv, path, windows 7, Работа с видео, метки: Eclipse, java, JDK, opencv, path, windows 7Инструкция применима также для 2.4+ версии OpenCV и JavaCV
Я искал библиотеки для обработки изображений в Java. Мои поиски остановились на JavaCV.
JavaCV предоставляет оболочки для OpenCV, так что вы можете напрямую использовать OpenCV функции в Java.
Определим пару шагов, которые следует выполнить чтобы установить JavaCV в Windows 7.
Читать полностью »
Тонкости оператора switch
2013-03-26 в 8:07, admin, рубрики: java, JDK, jit, performance, switch, метки: java, JDK, JIT, performance, switchДа, это целая статья по самому обычному switch в JDK 7. Бывает так, что накопленный материал кажется интересным и малоизвестным, а потом оказывается, что любая бабка у подъезда уже 50 лет знает об особенностях реализации switch. Но я попробую. Для затравки, предлагаю 3 вопроса:
- (Простой) Каков результат работы этого кода?
switch(5){ default: System.out.print(0); case 1: System.out.print(1); break; case 4: System.out.print(4); case 2: System.out.print(2); }
- Следующие 2 варианта практически одинаковы. Немного отличаются литералами.
//Вариант 1 switch("BBBBBB"){ case "AaAaAa": break; case "AaAaBB": break; case "AaBBAa": break; case "AaBBBB": break; case "BBAaAa": break; case "BBAaBB": break; case "BBBBAa": break; case "BBBBBB": break; }
//Вариант 2 switch("BBBBBB_8"){ case "AaAaAa_1": break; case "AaAaBB_2": break; case "AaBBAa_3": break; case "AaBBBB_4": break; case "BBAaAa_5": break; case "BBAaBB_6": break; case "BBBBAa_7": break; case "BBBBBB_8": break; }
Почему первый switch выполняется в несколько раз медленнее, по крайней мере, с отключенным JIT (-Djava.compiler=NONE)? Сами проверьте в цикле! JIT таким кодом не проведешь, но если немного пошаманить, то небольшая разница будет заметна.
- Какова вычислительная сложность алгоритма нахождения совпадающего значения среди n case-ов (по крайней мере, в JDK 7)?