Java по-японски

Мир Java воистину безграничен. Изучая возможности запуска Java-приложений под ОС Windows Mobile (Pocket PC), обнаружил еще одну реализацию — Mysaifu JVM. На уже знакомый читателям Мтааламу Asus A620 продукт установился на ура. Для пробы подготовил типичный «Hello, World». Программа запустилась без проблем. Особо порадовало то, что подошли классы, скомпилированные стандартным JDK. Это выгодно отличает данную реализацию от JavaME, для которой откомпилировать классы и запаковать их в архив — целое мероприятие. Еще один плюс — несмотря на то, что данную JVM писал японец, кириллические буквы там прекрасно поддерживаются, в полном соответствии с идеологией Java (замечу, что в JavaME с кириллизацией всё совсем не просто).

Но полноценную JRE, занимающую в распакованном виде под сотню мегабайт, конечно же, не уместить в скромные объемы наладонного компьютера. Поэтому, хотя Mysaifu JVM и претендует на звание полноценной реализации Java, набор классов и пакетов в ней, все-таки, особенный. Конечно же, автор этой JVM не писал базовые классы самостоятельно. Такая задача непосильна для одного человека. Он взял готовое решение — GNU Classpath. Ныне этот проект заброшен, т.к. вытеснен могучим OpenJDK, но наработки содержит очень мощные, вплоть до стыковли Java с Qt. Кроме того, GNU Classpath был первым заметным движением в направлении освобождения Java от лицензионных ограничений и до сих пор считается важной вехой в Java-движении. Так что в архив этот проект сдавать рано.

Богатыми возможностями GNU Classpath, реализованными на компактном устройстве, попользоваться очень заманчиво. Одна беда — нет готовой документации на эти пакеты. Она зашита в исходники и предполагается, что девелопер может извлечь ее оттуда самостоятельно. Человеку непривычному сделать это непросто, поэтому публикую небольшой алгоритм.

1) Скачать тарбол GNU Classpath.
2) Распаковать и перейти в получившийся каталог.
3) Собрать в едином файле (например, packages.lst) список пакетов, начинающихся с префикса gnu:

find . gnu/** | egrep -e 'java$' | egrep -o -e '^gnu(/[a-z]+)+' | sort | uniq | sed -e s/\\//\./g > packages.lst


4) Сгенерировать документацию:

mkdir doc
javadoc -sourcepath . -d doc/ @packages.lst


Теперь можно познакомиться с возможностями пакетов GNU Classpath и написать для Windows Mobile что-нибудь посложнее, чем Hello, World.
  • +4
  • 14 июня 2011, 01:10
  • yababay

Комментарии (2)

RSS свернуть / развернуть
+
0
Неплохой проект, но последнее обновление было год назад.
avatar

Sergei_T

  • 14 июня 2011, 13:16
+
0
Да, проект пока в анабиозе, зато качество — японское в лучшем смысле этого слова. Проникся к автору этой виртуальной машины искренним уважением, хотя имени его так и не нашел ни на сайте, ни в Википедии.
avatar

yababay

  • 14 июня 2011, 13:43

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.