LINUX.ORG.RU

Новости «Java»

Мини-новость: Анонсирован проект Corretto (48 комментариев)
Мини-новость: Проект Valhalla достиг третьей фазы развития (31 комментарий)

Первый релиз Java 11

Группа Java

Сегодня состоялся первый релиз Java 11. Это первая LTS (Long Time Support) версия Java, после изменения политики выпуска новых версий начиная с Java 9. Публичные обновления Java 11 будут выпускаться до сентября 2023 года.

В JDK 11 внесены следующие изменения:

  1. Стек развёртывания апплетов и WebStart-приложений, объявленный устаревшим в Java 9, теперь удалён окончательно. Вместе с удалением стека развёртывания исчез список поддерживаемых браузеров.
  2. Удалено автоматическое обновление JRE и сам JRE для Windows и MacOS.
  3. Вместо JRE и Server JRE предлагается использовать утилиту jlink для создания меньших кастомных рантаймов.
  4. JavaFX более не является частью JDK, а поставляется отдельно из openjfx.io.
  5. Java Mission Control, поставлявшийся вместе с JDK 7, 8, 9, 10 также перестал быть частью JDK и поставляется отдельно. ]*] Формат обновлений для Windows переведён с tar.gz на zip, как на более часто используемый в этой операционной системе.
  6. Формат обновлений для MacOS переведён с .app на .dmg, как на более соответствующий стандартам этой операционной системы.

Изменения в JDK:

  1. JEP 327 Unicode 10 включая 16018 новых символов среди которых:
    а. 19 новых символов для 4K TV стандарта
    б. символ Биткоина
    в. 128 эмоджи-символов
    г. 10 новых алфавитов, среди которых: албанский, брахманский (11-го века) и прочая экзотика.
    д. 18 новых блоков символов для новых и существующих алфавитов, среди которых Cyrillic Extended-C.
  2. JEP 321 HTTP Client (Standard) стандартизирован и переведён из jdk.incubator.http в java.net.http.
  3. В интерфейс Collection добавлен toArray(IntFunction<T[]>) Default Method, перегружающий toArray(T[]). Это привело к несовместимости со старым кодом, в котором есть вызов toArray(null). Теперь такой вызов приводит к ошибке компиляции и должен быть изменён на аналогичный с переводом null в требуемый тип.
  4. Обновлены локали для Unicode CLDR v33
  5. Добавлена возможность ленивого создания потоков компиляции. Включается опцией -XX:+UseDynamicNumberOfCompilerThreads.
  6. Добавлен новый экспериментальный Scalable Low-Latency Garbage Collector, известный под именами Z и ZGC. Включается одновременным использованием опций -XX:+UnlockExperimentalVMOptions и -XX:+UseZGC.
  7. JEP 318 Epsilon, A No-Op Garbage Collector новый ничего не освобождающий сборщик мусора, предназначенный для тестирования.
  8. JEP 331 Low-Overhead Heap Profiling - поддержка низкозатратного профилирования выделения памяти в куче. Доступно через JVMTI.
  9. JEP 329 ChaCha20 and Poly1305 Cryptographic Algorithms.
  10. Системные свойства java.home, user.home, user.dir и user.name теперь неизменяемы

И ещё много других изменений. Также можно упомянуть удаление поддержки CORBA и мониторинга JVM через SNMP. Из JDK удалены модули, связанные с Java EE. По умолчанию используется не GTK2, а GTK3. Расширено использование нового ключевого слова var, которое теперь может использоваться при объявлении параметров лямбд. При этом все параметры таких лямбд обязаны быть var. Удалены фонты Lucida. Плагин javax.imageio больше не поддерживает JPEG с альфа каналом, судя по всему из-за проприетарности старой реализации.

JDK 11 можно скачать тут. Также следует обратить внимание на то, что изменена лицензия Oracle JDK. Теперь она GPL+CE, как и у OpenJDK.

Для переходящих на Java 11 LTS с Java 8 такой переход добавит ещё и массу новшеств Java 9 и Java 10, перечислять которые тут излишне.

>>> Подробности

 , , , ,

bbk123 ()

Большой релиз LanguageTool 4.0

Группа Java

LanguageTool — это свободная система для проверки грамматики, стиля, пунктуации и орфографии. LanguageTool может использоваться как независимое приложение или как расширение LibreOffice/OpenOffice. Созданы расширения для браузеров Mozilla Firefox, Google Chrome. Для мобильных устройств разработан сервис проверки грамматики и орфографии LanguageTool proofreader для Android.

В новой версии:

  • Обновлены модули проверки для английского, португальского, польского, немецкого, украинского, каталанского, французского, галисийского, нидерландского и русского языков.
  • Теперь программа работает и на Java 9, но рекомендуется для использования Java 8.
  • Создан модуль для сборки пакетов RPM с независимой версией.
  • Для английского, немецкого и португальского языков реализована новая языковая модель поиска пар похожих слов с использованием нейросети — word2vec. Использование этого метода для поиска пар похожих слов требует дополнительного файла word2vec.tar.gz для работы нейросети.
  • Добавлены новые правила поиска межъязыковых омонимов.

Изменения в русскоязычном модуле:

  • Созданы новые и улучшены существующие правила для проверки пунктуации и грамматики.
  • Добавлены новые слова для проверки орфографии в независимой версии.

>>> Подробности

 , , , ,

Yakov ()

Clojure 1.9

Группа Java

Clojure 1.9 наконец-то вышел.

Версия 1.9 содержит две главные новые возможности — интеграция с spec и cli-утилиты.

spec — это библиотека для описания структур данных и функций с поддержкой валидации, деструктурирования, документации, отчета об ошибках, генерации тестовых данных и обобщенной генерации тестов.

spec интегрируется в Clojure через две новые библиотеки:

Такая модуляризация облегчает обновление spec независимо от релиз-цикла Clojure.

Инструменты командной строки предоставляют быструю и лёгкую установку, Clojure REPL (!!!), использование Maven и локальных зависимостей, функциональный API для управления classpath.

Полный список изменений можно найти тут.

>>> Оригинал новости

 , ,

slaykovsky ()

Главная Java-конференция в России — Joker 2017

Группа Java

3—4 ноября в Санкт-Петербурге состоится большая хардкорная Java-конференция Joker 2017. Для всех, кому до Питера не добраться, будет онлайн-трансляция.

Как всегда, будет тёплая ламповая атмосфера, хардкорные доклады, крутые спикеры, жаркие дискуссии и холивары c коллегами и многое другое.

Что будем обсуждать:

  • JVM/JDK под капотом (Runtime, GC, OpenJDK);
  • Java Performance;
  • высоконагруженные системы;
  • языки программирования для JVM;
  • распределенные системы.
  • архитектуры Java-проектов;
  • инструменты разработчика;
  • хранилища данных (SQL/NoSQL/Cloud);
  • фреймворки (Spring, Spark, Hibernate и др);
  • Java 9 / Java 10 и будущие версии;
  • DevOps, CD, CI;
  • Data Science / ML;
  • Java EE;
  • Puzzlers!

Программа полностью готова, среди спикеров конференции — Алексей Шипилёв (Red Hat), Александр Борисов (Google), легенда Хабра Сергей Абдульманов (Мосигра), Alvaro Hernandez (8Kdata), Тагир Валеев (JetBrains), Николай Алименков (XP Injection), Барух Садогурский (JFrog) и другие звёзды.

Это будет пятый по счёту Joker: с каждым годом он растёт, становится всё интереснее и хардкорнее. Ежегодно конференция собирает более 1000 участников. Все доклады конференции — только про востребованные в Java технологии.

«Изюминка» конференции — дискуссионные зоны, куда направляются после докладов все спикеры для живого общения. Учитывая, что почти все посетители — Java-разработчики уровня Senior и Middle, можно с уверенностью утверждать, что там, в кулуарах, рождается будущее.

>>> Подробности и регистрация на сайте конференции Joker 2017

 , , ,

stevejobs ()

Релиз Java SE 9

Группа Java

21 сентября вышел очередной релиз платформы Java SE. С выхода предыдущего релиза Java SE 8 прошло три с половиной года.

Самым главным глобальным нововведением является Java Platform Module System — поддержка концепции модулей на уровне языка и JVM. Теперь сама стандартная библиотека JDK разбита на модули, а Java-разработчики имеют возможность создавать собственные модули, определять зависимости между ними, а также управлять видимостью пакетов в модуле для других модулей.

Подробнее про систему модулей Java 9 можно прочитать в книге Java 9 Modularity.

Другие важные нововведения:

  • Команда jshell — функциональность REPL (read-eval-print loop) для платформы Java.
  • Multi-Release JAR Files — возможность объединять в одном JAR-файле разные версии классов и ресурсов для разных версий Java.
  • jlink — инструмент для создания собственных сборок JRE под конкретную программу, включающих только нужные для запуска модули.
  • Браузерный плагин Java Plug-in и технология апплетов теперь помечены как устаревшие. Де факто апплеты уже не поддерживаются в современных браузерах.
  • Небольшие изменения в синтаксисе языка Java; например, в интерфейсах теперь поддерживаются private-методы.
  • Новый API для управления процессами (ProcessHandle).
  • Новый API для прохода по стеку вызовов (StackWalker).
  • Различные мелкие улучшения стандартной библиотеки, например, синтаксис для создания неизменяемых коллекций (List.of, Set.of, Map.of) и новые методы в API Stream и CompletableFuture.
  • Новые возможности ECMAScript 6 (let, const, for..of и т. д.) в JavaScript-интерпретаторе Nashorn, а также новый API для синтаксического анализа JavaScript (Parser).
  • Поддержка HiDPI для приложений AWT и Swing под Windows и Linux.
  • Поддержка GTK3 как альтернативы GTK2 для создания окон AWT, Swing и JavaFX под Linux. По умолчанию используется GTK2, либо, если он недоступен, GTK3.

>>> Список изменений

>>> Скачать

 ,

anonymous ()
Мини-новость: IBM выложила cвою реализацию Java на Eclipse.org (68 комментариев)
Мини-новость: Eclipse IDE 4.7 (Oxygen) (62 комментария)

NetBeans IDE 8.2

Группа Java

NetBeans — это удобная кроссплатформенная интегрированная среда разработки с открытым исходным кодом, позволяющая создавать настольные, мобильные и веб-приложения на различных языках программирования: Java, PHP, JavaScript, C, C++ и других. Графический интерфейс переведён на несколько языков, среди которых есть и русский.

Сегодня стала доступна версия 8.2. В этом выпуске появилась долгожданная мультикурсорность в редакторе, а большая часть функциональных изменений коснулась поддержки JavaScript.

( читать дальше... )

>>> Скачать NetBeans

>>> Полный перечень изменений

 ,

CARS ()
Мини-новость: Прекращается поддержка OpenJDK 6 (28 комментариев)

Релиз LanguageTool 3.5

Группа Java

LanguageTool — свободный (GNU LGPL v2.1 или новее) инструмент, позволяющий проверить тексты на 30 различных языках на соответствие правилам грамматики, стиля, пунктуации и орфографии. Программа может использоваться как независимое приложение или как расширение LibreOffice/OpenOffice. Для работы требуется Java 8.

( читать дальше... )

>>> Подробности

 , , ,

Yakov ()

Oracle открывает код JDK 9 для ARM

Группа Java

Как известно, в 2006 году Sun Microsystems открыла исходные коды реализации Sun Java под лицензией GPL, основав проект OpenJDK. При этом реализация виртуальной машины HotSpot была открыта только под архитектуры x86, x86_64 и sparc. Реализация для ARM осталась закрытой.

Прошло 10 лет, за это время многое изменилось в проекте OpenJDK. В частности для архитектуры ARM64 (AArch64) усилиями компаний Red Hat и Linaro была разработана полноценная реализация HotSpot. Эта реализация была принята в апстрим OpenJDK 9 и сейчас доступна в OpenJDK 8 в Fedora/RHEL.

Для ARM32 (AArch32) до недавнего времени сборки OpenJDK использовали интерпретатор Zero VM, отличающийся крайне низкой производительностью. Осенью 2015 года усилиями компаний Azul и Linaro в рамках проекта aarch32-port началась разработка полноценной VM для ARM32. В настоящее время предварительные версии openjdk-aarch32 доступны в Fedora.

Учитывая сложившуюся ситуацию с OpenJDK на ARM-архитектурах, тем более неожиданным выглядит опубликованное сегодня решение Oracle об открытии исходных кодов их собственной реализации HotSpot для ARM32 и ARM64. На текущий момент неясно, будет ли реализация от Oracle сливаться с существующими реализациями от Red Hat/Azul или будет развиваться отдельно от них.

Одним из основных направлений по применению Java на ARM-архитектурах аналитики называют использование технологии JavaFX на мобильных платформах iOS и Android.

>>> Подробности

 , , , ,

anonymous ()

Eclipse 4.6.0 Neon

Группа Java

Вышла новая версия Eclipse 4.6.0 Neon. Eclipse — многофункциональная IDE (и платформа для таковой), на базе которой работает большое количество различных инструментов для разработки на разных языках программирования. Лицензия — EPL.

( читать дальше... )

>>> Подробности

 ,

Yilativs ()

Java Microbenchmark Harness 1.12

Группа Java

В Maven Central появился патч-релиз JMH 1.12. Несмотря на кажущийся минорным номер версии, он добавляет несколько важных улучшений, добавляющих совместимость с JDK 9 Early Access с интегрированным Jigsaw.

JMH - Java Microbenchmark Harness - это оснастка Java для сборки, запуска и анализа нано/микро/милли/макро-бенчмарков, написанных на Java и других языках с целевой платформой JVM. Один из наиудобнейших инструментов, которые приятно иметь под рукой.

Project Jigsaw - это проект, посвященный реализации способности платформы Java SE и JDK масштабироваться на небольшие устройства и повышению управляемости кода, что достигается реализацией модульной системы, модуляризацией JDK, итп. Так как имеет насущный смысл прямо сейчас, пока не поздно, тестировать свои проекты на совместимость с JDK9+Jigsaw, смотреть что отвалилось, и писать отчеты разработчикам, инструменты типа JMH могут оказаться весьма полезными.

Судя по ченжлогу, за выпуск новой версии JMH надо благодарить Алексея Шипилёва (Shade), который работает на позиции Java Performance Engineer в Oracle.

Исходники проекта можно посмотреть в меркуриале: http://hg.openjdk.java.net/code-tools/jmh

Добавлены следующие изменения:

  • Компиляция на 9b111 падает с CNFE: javax.annotation.Generated. Возможно, это проблема в JDK, но мы нашли, как ее обойти. (кому интересно, могут глянуть связанный баг): https://bugs.openjdk.java.net/browse/CODETOOLS-7901643
  • Профилировщик GC падает на 9b111, которая форсирует более строгие настройки доступа до MXBeans. Мы переписали это более безопасным способом, и в качестве дополнительной плюшки получили исправление нескольких ошибок с JDK 6: https://bugs.openjdk.java.net/browse/CODETOOLS-7901645
  • Выхлоп JSON теперь показывает размер батчей, если эти данные вдруг понадобятся для SingleShot прогонов: https://bugs.openjdk.java.net/browse/CODETOOLS-7901649
  • Уже некоторое время, прогоны без форка (-f 0) стали рискованными с точки зрения корректности. Они оставлены для продвинутых пользователей и для отладки. Теперь мы будем более явно напоминать об этом: https://bugs.openjdk.java.net/browse/CODETOOLS-7901650

>>> Подробности

 ,

stevejobs ()

Релиз LanguageTool 3.3

Группа Java

LanguageTool умеет проверять грамматику, стиль, пунктуацию и орфографию. Программа может использоваться как независимое приложение, либо как расширение LibreOffice или Apache OpenOffice. LanguageTool может работать и в режиме сервера. Для работы программы требуется Java 8.

В этом выпуске:

  • Расширены модули для проверки грамматики следующих языков: английского, русского, немецкого, французского, украинского, датского, каталанского, португальского, греческого, польского, эсперанто.
  • В программу включены новые словари проверки орфографии для немецкого языка.
  • Улучшен HTTP-сервер.
  • Внесены изменения в API.
  • Исправлены баги.
  • Обновлена встроенная библиотека Morfologik до версии 2.1.0.

Появилась бета-версия LanguageTool для Android, которая использует сервер LanguageTool.org для проверки орфографии и грамматики при вводе текста. Программа работает в режиме сервиса. Установить LanguageTool proofreader для Android можно с сайта Google Play. После установки программы необходимо зайти в настройки Android: «Настройки» -> «Язык и ввод» -> «Проверка правописания» и выбрать «Корректор LanguageTool».

>>> Официальный сайт программы

 , , , ,

Yakov ()

Вышел Kotlin 1.0

Группа Java

После многих лет разработки вышла стабильная версия языка Kotlin 1.0.

Kotlin — это язык программирования, разрабатываемый компанией JetBrains, компилируемый в JVM байткод. Язык комбинирует ОО и функциональные подходы, и фокусируется на интероперабельности c Java, безопасности, ясности кода и инструментальной поддержке.

Kotlin является языком общего назначения и работает везде, где работает Java: серверные приложения, мобильные приложения (Android), десктопные приложения.

От себя можно добавить что Kotlin это «улучшенная Java», язык вобравший в себя полезные элементы из других языков (таких как C#). При переходе на Kotlin, существенно уменьшается объем «java лапши» в коде.

Исходный код проекта доступен на github.

Попробовать язык без установки можно здесь.

>>> Подробности

 , ,

qrck ()
Мини-новость: Шестая встреча Java-разработчиков Екатеринбурга JUG.EKB (13 комментариев)

Релиз LanguageTool 3.2

Группа Java

LanguageTool умеет проверять грамматику, стиль, пунктуацию и орфографию. Для работы этой версии требуется Java 8. LanguageTool работает с текстами на более чем 20 языках. Программа может использоваться как независимое приложение, либо как расширение LibreOffice или Apache OpenOffice. На сайте https://www.languagetool.org/ есть интерактивная форма проверки текста. LanguageTool является свободным программным обеспечением и распространяется по лицензии LGPL версии 2.1 или новее.

В новом выпуске:

  • В программу включены новые словари проверки орфографии для белорусского и датского языков.
  • Обновлены модули для проверки следующих языков: русского, английского, французского, эсперанто, немецкого, украинского, датского, каталанского, португальского.
  • Внесены изменения в API, удалены устаревшие методы.
  • Улучшен синтаксис правил.
  • Исправлены баги.

Кроме того, создано расширение для проверки грамматики LanguageTool, которое работает в браузере Google Chrome!

Расширение для проверки текста использует сервер LanguageTool.

>>> Официальный сайт программы

 , , , ,

Yakov ()
Мини-новость: LanguageTool 3.1 — новая версия приложения для проверки грамматики и стиля (26 комментариев)