All articles, tagged with “java”

JDK 7: Возможность отказа от Quicksort для сортировки массивов

По наводке от shodan: dual-pivot quicksort обратил внимание на очень интересное обсуждение Replacement of Quicksort in java.util.Arrays with new Dual-Pivot Quicksort в списке рассылки JDK.

Кратко суть происходящего можно описать следующим образом: Vladimir Yaroslavskiy, сотрудник SUN, предложил заменить алгоритм сортировки Quicksort на Dual-Pivot Quicksort для массивов.

Для меня вся соль момента заключается в публичном обсуждении изменения кода в самом сердце языка Java.
В качестве ревьюверов кода выступали Joshua Bloch и Jon Bentley.
Также очень интересно было читать само письмо Владимира. Очень подробно описаны причины почему он предлагает заменить Quicksort, дана оценка производительности, описан процесс оптимизации алгоритма с точки зрения внутренностей Java. При этом обсуждение продолжается и похоже что помешать принятию этого патча могут только политические моменты.

Tomcat 7 уже в разработке

Сегодня обнаружил что ASF обновила свои планы относительно разработки следующей вресии Apcahe Tomcat. Все известно что текущей рекомендованной для использования веткой является 5.x, в разработке и уже объявлена стабильной ветка 6.0.x. Данная ветка предоставит разработчикам поддержку спецификаций Servlet 2.5 and JSP 2.1. При этом после 6.0.x разработка будет вестись сразу в 2х ветках 6.2.x и 7.0. При этом все новшества 6.2 будут переноситься в 7.0.

К сожалению разработчики не делятся подробными планами нововведений в новых версиях, но известно что 6.2 будет направлена на устранение ошибок, улучшение производительности и стабильности, а также совместимсоти с другими серверами, а вот в 7.0 нас скорее всего будет ожидать поддержка Servlet 2.6, JSP 2.2.

Как ни странно — разговора о реализации Servlet 3.0 пока не ведется, хотя возможно в Tomcat 7.0 будет реализована именно Servlet 3.0, а не 2.6.

О портировании Python framework’ов на Jython

В последнее время в интернете все чаще встречается информация о попытках запустить и использовать различные frameworkи Python’а на Jython. Это является одной из сторон активного развития Jython. Несколько проектов GSoC 2008 были посвящены доработке популярных Python фреймворков (Django, TurboGears, Zope) для работы на Jython:

Многие из этих проектов используют подход снизу-вверх. В этом случае определяется минимальный список зависимостей переносимого приложения и выполняется их портирование. При этом в процессе портирования участвуют обе стороны — и разработчики Jython и разработчики портируемой библиотеки. И конечно выигрывают обе стороны:

  • Jython — получает поддержку новых библиотек и функций, повышается переносимость других программ на Python, улучшается дизайн кода, находятся и исправляются ошибки в реализации Python библиотек
  • разработчики библиотек — получают сообщения об ошибках которые часто всплывают в процессе портирования, решение проблем с плохо переносимыми участками кода

Основными проблемами которые возникают при подобном портировании:

  • Расширения Python написанные на C. Т.к. такие расширения требуют отдельного портирования на Jython
  • Отсутствие конкретного функционала из Python
  • Использование низкоуровневых возможностей CPython

И постепенно все больше и больше популярных библиотек успешно работают на Jython. Главным видимым результатом этого лета стал успешный запуск Django на Jython. Работа над запуском TG тоже идет полным ходом, но не все библиотеки удалось еще портировать. Информацию о статусе Zope on Jython мне найти не удалось. В результате всех этих событий популярность Jython значительно увеличивается, также обнодеживают вести из компании Sun, которая не просто спонсирует разработку Jython а наняла на работу одного из ведущего разработчика проекта.

Fresh Air в Самаре

Сегодня с утра совершенно неожиданно для себя узнал что в Самаре проводится конференция по RIA технологиям (как потом выяснилось — уже не в первый раз). Заодно узнал что проводится она сегодня вечером, да еще и моим коллегой из соседнего проекта — вот вам и обмен опытом внутри компании. Поэтому уже через час в нашем проекте была организована инициативная группа, которой удалось зарегистрировать по чистому блату:) И хотя проекту нашему RIA еще ой как не грозит — для общего развития IMHO очень полезно. Про конференцию могу сказать что в первую очередь поражает качество организации — выше всяких похвал. В холле встречают, на регистрации все готово и очереди нет, зал оборудован всем необходимым, начало практически без задержек, докладчики подготовлены и компетентны. Даже в перерыв между докладами предлагается небольшой фуршет (особенно учитывая что уже 7 часов вечера и кушать после работы хочется).

Про содержание презентации можно сказать что она нацелена на интересующихся разработчиков, а не на людей которые применяют RIA на практике. И наверно это все-же правильно, я не знаю что было на подобной встрече 3 месяца, но людей занимающихся RIA у нас в городе — единицы, а вот интересующихся — много. Презентация была разбита на 2 части — в первой вводный рассказ о RIA и его реализациях Java FX, Flex & AIR, SilverLight. Пи этом стоит отметить что про Java FX и SilverLight было рассказано постольку-поскольку. Но все-равно хорошо что не было не скрытого однополяного пиара. Рассказ о технология включал показ демок от производителя с некоторым количеством комментариев. Также давали потрогать руками. Потом был более подробный рассказ про Flex и AIR и что из этого можно сделать. Также показывались демки о совместной работе с acrobat.com. Честно говоря в слова о том что все это работает кроссплатформенно — я не поверил. Демки красивые и выполняют свое назначение — убедить разработчика — что это то что ему нужно. Хочется отдельно отметить что большинство вопросов о реализации этого чуда закрывались с комментариями — либо adobe это не раскрывает, либо мы расскажем об этом во второй части доклада.

Между первой и второй презентацией был перерыв с фуршетом. И опять организация на высоте — еда вкусная и в достаточном количестве, толкучки практически нет. Есть возможность закусив бутерброд пообщаться в неформальной обстановке с представителями конкурентов или докладчиками.

Вторая часть презентации была посвящена серверной части Flex’а и новому Adobe Flash 10. К сожалению про серверную часть Flex’а информации практически не было, в основном только по материалам Adobe и блогов интернета. Ну и показали пару демок из поставки Blaze DS. Про Adobe FLash 10 нам просто пересказали и показали то что Adobe показывал и рассказывал всем. Конечно это лучше услышать от человека который этим интересуется, чем прочитать на сайте или блоге. Но нового ничего нет.

На этом официальная часть презентации была завершена и в качестве бонуса нам показали работу ребят из группы Alternativa Platform. Это ребята из Перми, которые на базе Flash создали полнофункциональный 3D Toolkit с качеством графики уровня Quake 1.

В завершении хочу отметить минусы, хотя их и было очень мало. — Вопросы из зала задавали без микрофона, поэтому не всегда было слышно. — Большая часть представляемых демок и фич — были частью официального пиарного компании разработчиков. Единственный независимый проект — Alternativa Platform. — Так и не было рассказано о реальных применениях новых технологий в проектах на территории России.

Но все эти минусы ничтожны по сравнению с плюсами конференции. Организаторы молодцы, спонсорам спасибо (их деньги не потрачены зря).