16.07.2007
После продолжительных поисков IDE своей мечты, похоже я окончательно остановился на Eclipse. Не последним аргументом в его пользу была открытость. Но тут как и с любым open source решением есть ряд подводных камней, одним из которых является банально проблема запуска.
Если просто в лоб установить Eclipse из репозитариев Ubuntu и запустить его из меню, то для запуска будет использована виртуальная машина GCJ. Я плохо разбираюсь в особенностях Java, и не знаю имеет ли эта машина какие-либо преимущества перед другими кроме открытости, но Eclipse под этой VM работает из рук вон медленно и нестабильно. У меня сложилось впечатление, что этот GCJ вообще немного для других вещей предназначен. К щастью это не единственная виртуальная машина в мире.
Для того, чтобы определить VM с помощью которого будет запускаться Eclipse есть 2 пути.
В файле /etc/eclipse/java_home есть список к путей к разным VM. Eclipse воспользуется первой машиной, которую найдёт из этого списка. Значит можно либо отредактировать это список, либо деинсталлировать нежелательную VM (последнее не пробовал и не советую).
В каталоге ~/.eclipse нужно создать файл eclipserc и в нём определить переменную JAVA_HOME:
JAVA_HOME=/path/to/jvm
В репозитариях убунту, кроме GCJ есть ещё три виртуальные машины. Две от Sun и Blackdown:
В документации по Eclipse упоминаются только машины J9 и IBM Developer Kit, Java(TM) Technology Edition VM, а устанавливать софт не из репозитариев я очень не люблю и делаю только в крайнем случае. Поэтому решил сравнить работу под каждой из VM сам. Собственно сравнение по двум параметрам. Объективному (количество потребляемой памяти) и субъективному (скорость). Вот результаты по потреблению памяти:
The GNU compiler for Java(TM) | 131Mb |
Sun Java(TM) Runtime Environment (JRE) 5.0 | 69Mb |
Sun Java(TM) Runtime Environment (JRE) 6 | 71Mb |
Blackdown Java(TM) 2 Runtime Environment, Standard Edition | 66Mb |
Замер производился после запуска, открытия двух проектов PyDev и сканирования PYTHON_PATH. Никаких дополнительных оптимизаций типа подстройки heap не делалось.
GNU Compiller оставлю без комментариев, поскольку говорил о нём раньше. Остальные машины работают примерно одинаково, разница размеров потребляемой памяти в пределах погрешности. Скорость сканирования PYTHON_PATH одинаковая плюс-минус пара секунд.
22.08.07 19:23 n0d комментирует:
я кстати еще с такой проблемой столкнулся.. установил еклипс из репозитория. и при запуске получаю ошибку - An error has occurred. See the log file
~/.eclipse/org.eclipse.platform_3.2.0/configuration/1187810541277.log.
и не запускается воовсе. не встречал?
23.08.07 08:33 uptimebox комментирует:
05.05.08 06:45 devel0per комментирует:
eclipse -vm `java-config –java`
25.05.08 12:53 Anonymous комментирует:
«sudo update-alternatives –config java
и в появившемся меню выбрать
/usr/lib/jvm/java-6-sun/jre/bin/java»
(Ubuntu+Aptana=…)
25.05.08 16:12 Anonymous комментирует:
З. Ы. update-alternatives вообще очень полезная вещь - например выбрать что использовать по умолчанию из php5 и php4 , gcc разных версий и т. д. Ну и True Debian Way :)