Планетарий

           Java для всех платформ: Java SE, Java ME, JavaFX и JavaCard

Всем, кто интересуется тем, как можно использовать JVM для запуска языков отличных от Java, или кто пробовал разобраться с тем, как виртуальная машина общается с родной для неё Java и, безусловно, всем инженерам, кто хоть раз занимался разработкой языков программирования, в обязательном порядке нужно посетить ежегодный саммит JVM Language.

Не знаете о чём будут говорить на Саммите? В прошлом году обсуждались следующие темы: использование языка Clojure, запуск PHP на JVM, сложности использования Ruby в рамках JVM, а также JVM и процедуры Замыкания. Несложно догадаться о том, что ни на одной конференции, посвящённой данной сфере IT индустрии, Вы не сможете встретить такого количества экспертов.

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

Вы всё ещё сомневаетесь в полезности Саммита? Перестаньте! Ибо John и в этом году ограничить число участников числом 100. Поэтому - скорее регистрируйтесь здесь.

Многонациональный состав нашей команды, ведомый Главным Лектором, занимается разбором корреспонденции, скопившейся за время их (чудесно совпавших по времени) отпусков, возле дверей Планетария. А, пока это происходит, Нашим Читателям предлагается краткий обзор событий, произошедших в каждом из Java миров.

Ну, во-первых, JDK 7 добрался до своего четвёртого питстопа, самым главным нововведением стала реализация новой версии Аннотации Типов, а также портирование в ветку JDK 7 всех обновлений из Java SE 6u10+, которые сделали наш любимый язык ещё более изящным и ещё более дружелюбным по отношению к браузерам.

Новости мобильного мира, команда JavaFX порадовала нас выпуском версии номер 1.2 SDK для платформы Windows Mobile. Вы можете взглянуть как Terrence, рассказывает об этом событии здесь.

Продолжая разговаривать о JavaFX 1.2, не можем не отметить выход NetBeans 6.7'точка что-то там', который теперь полноценно поддерживает JavaFX 1.2, (вах!), и содержит ряд исправлений, которые, безусловно, порадуют поклонников IDE.

Также пришли новости с фронтов многоязыковой поддержки: Charlie и команда распрощались с Sun, но при этом не перестали работать над JRuby, так что ищите их на весьма успешном саммите, посвященном языкам JVM, в этом году.

JDK 7: Проект Jigsaw и classpath

Категории: java jdk on вторник авг 04, 2009

Из года в год разработчики, при попытке использовать Java classpath, сталкиваются с проблемами, решение которых будет равносильно решению старой задачи о квадратуре круга. Сначала всё не так уж и плохо - мы имеем дело со вполне линейной зависимостью. Но, со временем, наше приложение становится всё больше и больше, оно уже использует несколько библиотек, которые используют другие библиотеки, а те зависят от ещё одних библиотек... и тут наступает хаос.

Как хорошо, что был создан проект Jigsaw. Дождитесь JDK 7 и Вам станет доступна более адекватная модель использования библиотек, она убережет Вас от попыток найти решение неразрешимого.

А межу тем, на странице Joe Вы сможете прочесть великолепную заметку о трёх составляющих Java classpath.

JDK 7: Что нового в языке Java

Категории: jdk jdk7 on вторник авг 04, 2009


Со времен  J2SE 5.0, вышедшей в далёком 2004, в языке Java не было изменений. Но в грядущей версии JDK 7 программистов ожидает ряд сюрпризов, сегодня мы попробуем собрать все слухи в одной статье.

1) Поддержка модульности. Исторически названные - superpackages, хотя на самом деле они ими не являются, используя возможности различных модульных систем, они позволят программистам работать с большими кусками кода более эффективно.

2) Аннотация Типов. Шаг номер три в программе внедрения аннотаций, который ещё больше расширит возможности по подключению мета-данных к Java коду, и теперь разработчики смогут использовать их в самых различных ситуациях.

3) И, конечно же, Проект Coin. Небольшой набор полезных изменений предназначенных для того, что бы сгладить ряд шероховатостей языка. Был выбран ряд наиболее ожидаемых, таких как: использование типа String в switch, улучшенная обработка исключений, ARM, улучшенный вывод типов, Null-safe операторы, и упрощенный вызов varargs методов), также подготавливается к исправлению ещё один набор недостатков языка. Включая один наиболее занчимый для разработчиков, желающих использовать JSR 292 для имплементации динамических языков на JVM.

Некоторые могут быть очень рады этому!

Следим за JDK: Аннотация Типов (JSR 308)

Категории: jdk jdk7 jdkwatch on понедельник авг 03, 2009

В одну из последних ночных сборок JDK 7 был добавлен большой набор изменений: кое-что из обновлений фич Java SE 6uX, патч для Nimbus, исправление для NIO2, и тому подобное. Но наиболее значительным, запланированым ещё в мае, добавлением к другим новинкам языка Java в JDK 7 стала: Аннотация Типов.

Использование аннотаций в Java имело успех со времён их первой имплементации в J2SE 5.0, уже тогда это нововведение позволило самым различным типам информации найти своё место в исходном коде программ. Начиная от возможности информирования о том, что утилиты выполняют ряд различных проверок Ваших методов или классов, заканчивая возможностью частичного исключения использования тяжеловесныхe дескрипторов в Java EE (Между прочим: как быстро всё меняется в этом мире! Главный лектор Планетария помнит ещё те давние, дорелизные времена Java EE, когда в качестве дескрипторов использовались файлы с расширением .property).

В Java SE 6, JSR 269 вводит понятие 'Подключаемых Аннотаций' имеющих собственный API который позволит сторонним утилитам работать с пользовательскими аннотациями так как этого требует дизайн программы.

И теперь, JDK 7 позволит Java Аннотациям шагнуть туда, где ни одна Java Аннотация не могла оказаться прежде. Вся необходимая информация о данном проекте может быть найдена здесь.

Scala: всё только начинается?

Категории: java jdk multilanguage on понедельник авг 03, 2009

Если Вы думаете о том, чтобы пополнить своё резюме ещё одним языком программирования, тогда обратите внимание на эту дискуссию о новом языке Scala, который многие прочат в приемники Java, на InfoQ Вы сможете найти небольшое резюме на эту тему, а уважаемый James Strachan ('Groovy' - мастер) продолжил обсуждение вот здесь.

Scala сочетает в себе преимущества объектно-ориентированного и языка функционального программирования, впрочем, как и многие другие JVM языки. Но, в отличие от многих современных JVM языков, он использует статическую типизацию. Подобный подход реализован на других платформах, таких как .NET, или Android, но изначально его имплементацию можно было увидеть исключительно в виртуальной машине Java SE 6. Со времён своего первого релиза в далёком 2003, язык прошёл через несколько итераций поступательного развития, и, хотя программы на Scala используют API языка Java, уже начали появляться фреймворки раскрывающие преимущества Scala при разработке веб приложений, одни из них - Lift.

Команда NetBeans похоже не собирается отставать от прогрессивного мира, и тоже добавляет поддержку Scala.

Ну, теперь у Вас есть все шансы узнать, сможет ли Scala стать достойным приемником Java.

Самый главный секрет JDK?

Категории: jdk on пятница июл 10, 2009

Если у Вас нет даже самого отдаленного представления о том, что это может быть, Вам следует прочесть эту оду, посвященную VisualVM.

Небольшая заметка, призванная пролить свет на условия использования нового сборщика мусора G1 в Java SE версии 6u14. На текущий момент, в связи с тем, что это совсем сырая и полностью не оттестированная функциональность, возможность использования сборщика мусора выключена по умолчанию и предоставлена лишь для ознакомительных целей. Ну, и как Вы уже знаете, довольно много пользователей уже начали процесс ознакомления. Для того, чтобы включить поддержку G1 используйте следующие параметры командной строки:

   -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

В сети бродит масса странных слухов, которые постоянно опровергаются командой разработчиков (будьте добры - если Вы услышите или прочтёте что-либо несоответствующее сказаному далее: не молчите - расскажите!). G1 будет выпущен, согласно планам, он будет включён в JDK7, и в этой сборке он будет бесплатным - никаких строчек "мелким шрифтом", Вы сможете его использовать на тех же основаниях, что и JDK в целом.

Главному Лектору рассказали о том, что предварительные версии документа "release notes" содержали намёки на то, что вы должны заключить договор о поддержке, если планируете использовать G1. А некоторые товарищи сумели сделать из этих намёков громкие истории!

Наша вина. Поэтому Мы переписали release notes, сделав документ более чётким и однозначным - Вам не нужно делать ничего специального, чтобы поработать с G1. По крайней мере, до тех пор, пока Вам не захочется увидеть "странного" либо в следующем обновлении, либо в JDK 7. В этом случае, у Нас есть славная партнёрская программа, как раз для Вас :)

[Read More]

Конференция GR8 в Копенгагене

Категории: java jdk on пятница май 22, 2009

Вот эта весьма полезная заметка описывающая то, как язык Groovy органично вписывается в Java SE 6, включающая в себя замечательный пример, иллюстрирующий процесс запуска произвольного кода, написанного на Groovy, увидела свет в конце первой конференции GR8, имевшей место в прекрасном городе Копенгаген.

Рассказ о том, как подточить Griffon для своих нужд, также выглядит весьма интересным. А хорошим примером применения этого фреймворка, интегрирующего возможности Groovy в Swing,  будет Twitter клиент, использующий Griffon. Заметка Guillaume о DSL была досконально изучена, и вызвала бурную дискуссию в Twitter-e.

Кто знает, может быть в следующем году будет продолжение ?

Вернувшись из Мексики (без H1N1), Главный лектор с удовольствием погрузился в дела и заботы мира Java-JavaFX.

Как отмечает Remi, invokedynamic, основная часть байткода JSR 292 была добавлена в JDK 7, плюс к этому мы имеем method handles, - хорошая работа, тем более, что эти новвоведения запланированы для M3, который, в свою очередь, войдет в состав релиза для JavaOne. Продолжая тему M3 новинок, SCTP уже доступен в последних еженедельных сборках. Дела налаживаются!

Немного о JavaFX, похоже, что скептицизм, существоваший ранее у некоторых разработчиков постепенно превращается в нечто более оптимистичное, подтвержением тому может служить сторонний обзор враждебных (JavaFX) RIA технологий. Конечно, в последней статье JavaFX сравнивается с технологией Swing 5 летней давности: сейчас дела обстоят иначе. Ну и хочется отметить то, что загадочный и паранормальный проект на JavaFX продолжает жить. Странно всё это.

И в заключении, хотелось бы отметить факт появления блога группы Java ME SDK. Давно пора - уже и очередной майлстоун проекта PhoneME пройден (open source версия для разработчиков Java ME...), и всё-в-одном Java ME SDK 3.0 вышла месяц назад, а новости мы узнавали из сторонних источников.

Кто виноват? Может быть Madonna и Justin Timberlake? Правда ли, что сейчас весь наш жизненный опыт может быть описан всего 160 знаками? А вы тоже делаете свои презентации по схеме Pecha Kucha? Замечали ли Вы, за собой, что длинные URL Вас стали расстраивать? А Вы знаете, к чему это всё может привести? Теперь программированию можно научиться за несколько минут! Собственно, даже нашем блоге Вы можете найти проявление подобной тенденции!

Есть свободные 5 минут? Узнайте, что произошло с Netbeans за прошлые 10 лет, создайте графический редактор на JavaFX, выучите технологию, позволяющую представлять объекты Java в XML формате и наоборот, узнайте, как использовать JNLP, напишите тест для Java Persistence (или... эх, гулять - так гулять: напишите Java EE приложение), в конце концов, Вы можете создать свой собственный медиа плеер на JavaFX.

А если 10? Сайт Devx был создан чтобы помочь Вам их потратить с пользой, нет, Вы, конечно, можете купить книжку, но зачем усложнять себе жизнь? Попробуйте узнать что-то новое более эффективным способом: прочтите о том, как загрузить апплет, используя специальную утилиту, или как использовать log4j в Eclipse, или выучите ant, Python, или же JavaFX, выбрав приемлемый для Вас уровень: азбучные истины, знания о triggers и databinding, использование RESTful веб сервисов.


А потратив драгоценные 15 минут на что-нибудь вроде JavaFX, Вы сможете либо выучить этот язык, либо оценить его графические возможности.

Только представьте себе, сколько всего Вы сможете выучить за одну неделю!

Swing, ImageUploader, JTree

Категории: java javame javase jdk swing on среда апр 15, 2009

Возможно, Вы ещё не видели небольшой проект под названием ImageUploader развивающийся на java.net. Это кросс-платформенное Swing приложение (смотрим скриншоты) позволяющее выбирать изображения для загрузки, поддерживающее: всплывающие подсказки имен файлов; drag and drop функцию, совместимую с системными файловыми менеджерами; визуальные эффекты и функцию предпросмотра. Когда приходит время загружать выбранные файлы, программа передаёт их используя POST методы на конкретный URL, а пользователь наслаждается индикатором процесса загрузки. Проект лицензирован по схеме BSD, и даже Главный Лектор оказался в состоянии выкачать репозиторий, сделать сборку в NetBeans и, что вполне естественно, запустить готовый продукт.

Весьма удобно, особенно если использовать в качестве апплета на Вашем вебсайте.

Конечно, приложение доступно, в адаптированой под JTree, версии. Для того, чтобы получить версию, работающую на мобильных телефонах Вам необходимо добавить в приложение LWUIT, тогда будет сравнительно просто перейти к модели LWUIT composite Container, после чего можно будет сделать сборку модифицированого проекта, собственно здесь всё описано по шагам.

Очень хорошо, что работы над JVM с многоязыковой поддержкой ускорились на столько, что эта фишка успеет войти в состав JDK 7 как раз к JavaOne, так как Roberto уже посылает весточки с блого-фронтов: намечается очередное соревнование знатоков скриптовых языков. В прошлом году бои развернулись вокруг Twitter клиента (победил - JRuby), кто знает, что они затеяли в этом году?

Безусловно Вам будут интересны выступления участников Script Bowl 2009, представляющих такие языки, как - Clojure, Jython, Groovy, JRuby, Scala.

Ну и для того, чтобы лучше разобраться в том, как всё это многообразие можно запустить и главное - заставить работать быстрее на JVM, а также понять связь между Java - 'возрождением' и одноименным периодом в истории Европы 15 века (в те времена ученые были специалистами сразу в нескольких областях знаний, как, к примеру, всем известный Леонардо Да Винчи), John и Brian предлагают Вам поучаствовать в интересной беседе на тему JVM Эпохи Возрождения.

Хотите весело и с песней разобраться с JavaFX? Тогда обратите внимание на эту странную, но весьма занимательную экстра-сенсорную игру, которая определённым образом может воздействовать на ваше сознание. Главный Лектор Планетария оказался недостаточно крут, для того, чтобы полностью разобраться в ней, но можно с уверенностью сказать, что Вам будет необходимо писать JavaFX код, а также надеть прикольную футболку, чтобы понять, что к чему.

Ещё из забавного, попробуйте угадать, кто может похвастаться самым лучшим быстродействием JVM на многоядерных серверах с процессором Intel Nehalem: IBM J9 или же Sun HotSpot и $500 тому у кого самый лучший open source.

И на последок, ожившая история о "Зайце и Черепахе": вот здесь Вы сможете прочесть интересное интервью на тему Java Real Time System.