Компания Oracle в очередной раз не укладывается (http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-Septemb...) в сроки подготовки JDK 9. Если изначально релиз JDK 9 был запланирован на 22 сентября 2016 года, а затем перенесён (https://www.opennet.ru/opennews/art.shtml?num=43437) на 23 марта 2017 года, то теперь разработчики просят сдвинуть релиз ещё на 4 месяца, т.е. смогут выпустить его только в июле 2017 года. Задержка главным образом связана с потребностью в дополнительном времени на доработку и тестирование реализации системы Jigsaw, предлагающей принципиально новые для Java средства разбиения программ и JDK на модули.Основные новшества JDK 9:
- Поддержка модульной структуры, реорганизация кода JDK в модули, усовершенствование системы сборки для поддержки компиляции модулей, раздельная обработка модулей на этапе сборки. Реструктуризация структуры бинарных образов JDK и JRE для поддержки модулей и увеличения производительности, безопасности и удобства сопровождения.- Легковесный JSON API для обработки и генерации данных в формате JSON;
- Новый API HTTP-клиент, идущий на замену HttpURLConnection и поддерживающий HTTP/2.0 и websockets;
- Улучшенный API для управления процессами на уровне операционной системы;
- Улучшение работы блокировок для конкурирующих Java-объектов, позволившие повысить производительность в условиях, когда разные нити одновременно пытаются получить доступ к объектам;
- Сегментирование кэша JIT-компилятора, позволяющее повысить производительность длительно выполняемых программ, сократить фрагментацию и время запуска;
- Появление в компиляторе sjavac (Smart Java compiler) средств параллельной и раздельной сборки, внесение улучшений для обеспечения сборки JDK и крупных проектов.URL: http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-Septemb...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45149
Ух заживем с девятой джавой!
> Ух заживем с девятой джавой!Когда Java превратится в Scala - вот тогда заживём.
Да что java, что scala, всё равно религия "ООП во все дыры".
Раcскажите, пожалуйста, как в жабе обстоят дела с iqueryable/linq. А то ни одной дельной статьи
Для коллекций - Stream API, для SQL - jOOq/Jinq/QueryDSL/что угодно, для XML - не нужно.
> Для коллекций ..., для SQL ..., Для XML...То ли дело методы расширения для IEnumerable/IQueryable: единая точка входа ко всему, что можно перечислять
Просто откройте для себя Scala - это один сплошной LINQ к Джаве, по сути, только круче и быстрее.
А быстрее то за счёт чего? ( и быстрее чего? )
Вот только LINQ используется почти исключительно для операций над коллекциями, как и Stream API в Java.
Например в c# я могу использовать Count() или First() как для массива, коллекции, стека, словаря, так и в качестве запроса в базу
Вы можете этого не знать, но во-первых, массив, стек и словарь - это все коллекции в терминологии C#, а во-вторых, что более существенно, почти всегда SQL-запросам, формируемым автоматически из LINQ, предпочитают сохраненные в базе данных процедуры, оптимизированные по производительности.
Скорость LINQ to SQL хромает. LINQ to SQL годится для мелких проектов, и хоть LINQ сам по себе - отличная идея, так получилось, что фактически он используется только для операций над коллекциями, как набор аналогов традиционных для функциональных языков примитивов вроде map (Select), fold (Aggregate), filter (Where) и тому подобных.
Они реализованы в Java в виде Stream API.
> фактически он используется только для операций над коллекциямидействительно, либо у нас проект считается мелким, либо наш код не работает.
Скорее всего им никто не пользуется, кроме 3,5 анонимусов от заказчика.
>> фактически он используется только для операций над коллекциями
> действительно, либо у нас проект считается мелким, либо наш код не работает.Возможно у вас большой проект с малыми объёмами данных в часто используемых таблицах БД, идеология построения запросов к БД(особенно если она не MSSQL) и вытягивания данных не позволяет работать "как о том рассказывает микрософт", так как основные потери времени уходят на пересылку данных, из-за этого приходится пистать оптимизированные "запросы с параметрами", что приводит к краху части идеологии MS.
> Например в c# я могу использовать Count() или First()А если у вендузятник-сишарпокодера нету cunt, он использует ass.
про GraalVM даже не упомянули ((
Ну новость же про Java 9, причём тут Грааль?
Вот если бы про Java 17 новость была...
Лучшая кроссплатформенная платформа на данный момент как для веба так и для десктопа.
В подтверждению этому мощнейшее ПО разработанное и развивающее семимильными шагами
Кривая и тормознутая, но фактически единственная на сегодня действительно кроссплатформенная система разработки.
Тормознутый только Swing - гуй для Java. Безгуйные Java-приложения вполне себе сравнимы по скорости с С++ (всего в 1,5 раза медленнее, зато скорость разработки существенно выше, да и сопровождать их гораздо легче).
> всего в 1,5 раза медленнееЯ сравнивал geany и eclipse с отключенными автодополнениями и пр. geany существенно быстрее и памяти ест на порядок меньше.
А вы как сравнивали?
Ну, текстовый редактор с подсветкой синтаксиса и простейшей структурой файла в боковой панельке наверняка выиграет в скорости целой IDE, из которой принципиально нельзя сделать "просто текстовый редактор", сколько бы фич ты у нее не отключал. Отключить всплывающее автодополнение - не значит вырубить сам анализатор кода. (Не путать с примитивной подсветкой синтаксиса и запуском по таймауту внешней утилиты/библиотеки для генерации дерева структуры файла.) Тем более про уникальную в Java-мире тормознутость Swing уже писалось выше.
"Я сравнивал geany и eclipse"Всё в мире относительно. Я вот сравнивал функционал Intellij Idea Ultimate и остальных IDE и теперь мне всё остальное не надо, пусть хоть на ассемблере напишут. Да, она местами "не летает", но на 10летнем core2duo 2.9ГГЦ + 4ГБ ОЗУ совершенно юзабельно. Что ещё надо?
Поначалу vim + javac использовал. Вот уж всем извращениям извращение, особенно по эффективности проганья :)
>> всего в 1,5 раза медленнее
> А вы как сравнивали?У нихЪ естЬ http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan... Performance Game же. Оне игривые ребяты.
Ага на LMAX биржа на Java. Лучшая трейдинговая платформа. Куча наград. В 2011 на один поток 6 000 000 заявок в секунду на ОДИН поток.Сравните с остальными, которые не на Java (обычно несколько сотен тысяч заявок в секунду).
> В 2011 на один поток 6 000 000 заявок в секунду на ОДИН поток.пруф-то можно? или опять в лужу и деру?
Без разницы правда это или нет про 1 поток. Сила пресвятой жабы в спецификациях java EE и лютых серверах приложений, на которых просто и непринужденно делаются 100500 потоков. И пускай каждый из этих потоков на 30% медленнее сишечки, на си 100500поточное приложение никто никогда не напишет. Они ещё и однопоточное не закинчили рефакторить 8)
http://martinfowler.com/articles/lmax.htmlhttps://en.wikipedia.org/wiki/LMAX_Exchange
Кстати, они и их консультанты породили открытые проекты на основе своих наработок.
JRE не особо-то большая, по нынешним меркам, зафига они ее на куски разбирают. Посмотрите на хлам вроде Qt, ничего эта модульность, кроме дополнительного гемора стадии деплоя не добавляет.
> JRE не особо-то большая, по нынешним меркам, зафига они ее на куски
> разбирают. Посмотрите на хлам вроде Qt, ничего эта модульность, кроме дополнительного
> гемора стадии деплоя не добавляет.Просто модульность у них еще была в планах, когда кругом были dial-up соединения ))
>> JRE не особо-то большая, по нынешним меркам, зафига они ее на куски
>> разбирают. Посмотрите на хлам вроде Qt, ничего эта модульность, кроме дополнительного
>> гемора стадии деплоя не добавляет.
> Просто модульность у них еще была в планах, когда кругом были dial-up соединения ))Когда кругом были dial-up соединения, не было ни zip-, ни jar-архивации, Java 1.0 обходилась .class-файлами. Они-то и есть модули! Запущенный в браузере IE3.0 апплет буквально по кусочкам вытягивал себя с сайта поставщика, причём загружались только востребованные .class-файлы, а ненужный код не загружался. Теперь это же хотят повторить спустя 20 лет. Вот дебилы!!!
> Когда кругом были dial-up соединения, не было ни zip-, ни jar-архивации, Java
> 1.0 обходилась .class-файлами. Они-то и есть модули! Запущенный в браузере IE3.0
> апплет буквально по кусочкам вытягивал себя с сайта поставщика, причём загружались
> только востребованные .class-файлы, а ненужный код не загружался.Судя по сегодняшнемо состоянию - весь код оказался ненужным.
>> Когда кругом были dial-up соединения, не было ни zip-, ни jar-архивации, Java
>> 1.0 обходилась .class-файлами. Они-то и есть модули! Запущенный в браузере IE3.0
>> апплет буквально по кусочкам вытягивал себя с сайта поставщика, причём загружались
>> только востребованные .class-файлы, а ненужный код не загружался.
> Судя по сегодняшнемо состоянию - весь код оказался ненужным.+100500
Наконец-то начало доходить.
Повзрослевшие дети хотят повторить славу отцов, но пока не знают как.
Да как-будто не было midp cldc и etc