Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java tools & IDE's > Каким компилятором вы пользуетесь |
Автор: Domestic Cat 27.2.2005, 04:17 |
Голосовал за jikes - работает гораздо быстрее, чем javac. Правда код побольше чуть-чуть, и то не всегда. Сравнил байткоды скомпиленной проги - почти один в один, в основном отличие идет в пуле констант. И стек jikes делает побольше. Легко использовать Антом. Недостаток - при установленной 1.5 не ругается, но 1.5 фичи не компилит ![]() Какие есть мнения? Стоит он того или нет? |
Автор: AntonSaburov 27.2.2005, 14:29 |
Я работал с jikes - мне понравилось, гораздо быстрее работает. Но так сложилось, что сейчас пользую javac |
Автор: batigoal 27.2.2005, 17:01 |
Век живи, век учись. Я думал, все среды используют javac, внешний или встроенный. |
Автор: LSD 27.2.2005, 20:03 |
В основном javac, реже ojc. Я звиняюсь за оффтопик, но у меня возник вопрос: при компиляции некоторых классов с помощью javac, у меня пораждаются анонимные внутренние классы, которые не нигде объявляются и ничего не содержат (совершенно пустые). Их удаление никак не сказывается на работоспособности приложения. Откуда они берутся и зачем нужны? |
Автор: Domestic Cat 27.2.2005, 23:54 | ||
Не помню чтоб такое было ![]() |
Автор: LSD 28.2.2005, 00:34 | ||
Вот код:
При компиляции порождаются 3 класса: A.class, A$1.class, A$ShutdownHook.class. Копилятор из JDK 1.4.2_04. |
Автор: Domestic Cat 28.2.2005, 01:46 | ||||
И javac и jikes производят эти самые три класса, так что дело не в компилере. Декомпилим :
Внутренние классы в Java реализованы как обычные, им только передается ссылка на внешний класс - все это для совместимости с 1.0 как я понимаю. Т.к. класс ShutDownHook приватный, то и конструктор у него должен быть приватным, иначе такой объект любой сможет создать! Но если у него будет приватный конструктор, то как объекты класса А смогут создать объект класса ShutDownHook ? Для этого сделан "спрятанный" конструктор
- он вызывает дефаулт конструктор. Чтобы никто другой не смог воспользоваться этим конструктоором, туда передается этот самый объект типа _cls1.... По крайней мере, по идее. На самом деле передается нулл. Что вообще-то делает внутренний класс доступным для классов данного пакета. ![]() ![]() Вот такие тараканы ![]() |
Автор: Domestic Cat 28.2.2005, 04:56 |
А здесь, чтоп не оффтопить, отдельная темка http://forum.vingrad.ru/index.php?act=ST&f=104&t=43862&st=0#entry338141 |
Автор: snorkee 17.3.2005, 16:57 |
я в Java всего месяц ![]() |
Автор: Tamerlann 19.3.2005, 17:29 | ||
Ещё как стоит. Скорость, с которой он компилирует код это большое примущество. Только на depricated методы он у меня не ругается. ![]() Я использую именно его. НО, ![]() ![]() |
Автор: chipset 19.3.2005, 19:56 |
Eclipse |
Автор: лукашов 13.5.2005, 23:27 |
А как компилировать их вообще?Я новичок в яве.Купил книгу вот прогу совета..вы извините если чёт нетак ![]() |
Автор: Domestic Cat 13.5.2005, 23:33 | ||
|
Автор: Се ля ви 14.5.2005, 21:09 |
В Идее вроде javac используется - значит, его и юзаю. Не могу оригинальностью похвастать... P.S. А кстати, где jikes и саму JVM от IBM скачать мона? Я пол-годика назад искал - не нашёл... ![]() |
Автор: Domestic Cat 14.5.2005, 21:10 | ||
МОжно и jikes проставить в настройках. Добавлено @ 21:11 http://sourceforge.net/project/showfiles.php?group_id=128803 |
Автор: batigoal 14.5.2005, 21:27 |
Я сейчас поставил jikes в Идею - удобно. |
Автор: GooRoo 28.6.2005, 04:19 |
В Java я новичок. Пока юзаю javac. Поставил на закачку Eclipse - посмотрим, че это за пироги... |
Автор: bars_uz 8.9.2005, 10:08 |
Ya polzueus SUNovskim JDK.. Ya starayus priderjivatsa blije k standartu |
Автор: Metal_Heart 28.9.2005, 15:38 |
а у нас стандарт - писать по русски РУССКИМИ буквами, кстати! |
Автор: batigoal 28.9.2005, 16:09 |
Metal_Heart Функция транслита не отлажена ![]() |
Автор: Metal_Heart 28.9.2005, 16:22 |
тогда, bars_uz - прошу простить меня великодушно!!! не знал |
Автор: Nobody 12.3.2006, 00:22 |
После моих развлечений с generics'ами, наш проект перестал собираться с помощью eclipse ![]() |
Автор: x82 18.4.2006, 23:06 |
Пока что мои проекты не настолько велики, чтобы скорость компиляции была критичным моментом. Я пользуюсь javac (Eclipse-3.1.2 + jdk-1.5.0) ![]() |
Автор: Muerto 23.9.2006, 07:34 |
Народ а какое преемущество например эклипс над стандартном,и jikes что дает? |
Автор: batigoal 23.9.2006, 10:34 |
jikes, говорят, побыстрее. Хотя, имхо, для компиляции это не критичный параметр. |
Автор: integral 26.11.2006, 18:24 |
А разве Kiev, pizza и т. д. это не отдельный языки програмирования? |
Автор: Maxim_Kizub 5.6.2007, 15:59 |
Я конечно пользуюсь своим родным kiev. Правда, он всё дальше уходит от совместимости с java. Написать к нему отдельный front-end для явы, что-ли ?.. Хотя если начнут пользоваться расширениями языка - то уже совместимым с javac не будет, а если нужна совместимость с javac - то не будет расширений :( Вот поэтому kiev постепенно эволюционирует в SymADE - чтоб написать программу на SymADE, и потом она сгенерирует исходники для java, кому сильно нужно будет. |
Автор: Samotnik 12.7.2007, 00:08 |
javac ![]() |
Автор: skif18 16.10.2007, 17:57 |
Eclipse, сел прям на него. Теперь не слезу. Нравиться он мне! А насчет скорости так че это важно если чуть медленее откомпилиться? ![]() |
Автор: EfritTitan 10.1.2008, 17:22 |
Eclipse SDK Version: 3.1.1 ![]() |
Автор: powerOn 10.1.2008, 18:09 |
Я вот смотрю на варианты ответов и никак понять не могу, что же такое компилятор "Eclipse"? Он как-то в составе Eclipse IDE идет или иначе? Где про него почитать можно? |
Автор: COVD 10.1.2008, 18:11 | ||
Смена jdk, IDE - это как раз игры для мелких проектов. Все баги устранены, архитектура отполирована до блеска. Чем бы еще заняться? Сменим jdk - вдруг повезет и всплывут новые баги? ![]() |
Автор: Samotnik 10.1.2008, 23:52 |
+1 ![]() Может автор , Котяра ![]() ![]() |
Автор: serger 11.1.2008, 06:32 | ||
Ну вот, например тут сравнение компиляторов: http://voituk.kiev.ua/2007/12/11/eclipse-jikes-javac-performance/ Но здаётся мне, что многие путают среду и компилятор.. ![]() |
Автор: LSD 11.1.2008, 12:11 | ||
http://www.eclipse.org/jdt/core/
|
Автор: powerOn 11.1.2008, 16:43 |
Я так понимаю, что Eclipse Compiler, это просто некая обёртка (в виде API) которую использует Eclipse IDE что бы скомпилировать код с помощью настоящего компилятора (допустим javac). Эта обёртка, например, умеет подменять методы на заглушки, если они не компилируются, что обеспечивает их: |
Автор: serger 11.1.2008, 16:48 |
Тогда он должен был бы компилить медленнее тогоже javac при использовании в связке, хотя это никакого смысла практически не имеет. |
Автор: LSD 11.1.2008, 17:09 | ||
Там же написано:
это собственная разработка, а не обертка. Насколько я знаю, он работает быстрей javac, но жрет больше памяти. |
Автор: Samotnik 11.1.2008, 17:12 |
А зачем? чем стандартные им не покатили, кстати по результатам опроса 33 чела юзают компилятор Eclipse интерестно, .. я про него даже никогда ничего и не слышал ... |
Автор: LSD 11.1.2008, 17:15 |
Быстрее, нет зависимости от JDK (Eclipse может работать используя только JRE). Скорее всего это те, у кого стоит Eclipse (хотя идея тоже может его использовать). |
Автор: Samotnik 11.1.2008, 17:28 |
Подожди, я чет уже вообще ничего не понимаю. т.е. те у кого стоит Eclipse сами того не зная, компилируют Eclipse - ом ??? |
Автор: LSD 11.1.2008, 17:43 | ||
По умолчанию - да. |
Автор: Samotnik 11.1.2008, 17:48 |
![]() А случайно на IDEA нету компилятора IDEA ?? Я просто IDEA юзаю, может я не javac компилирую, а чем - нибудь другим ? |
Автор: Platon 11.1.2008, 18:08 |
голосовал конечно же за sun jdk, то есть javac А интересует меня такой вопрос: что за нативный компилятор? где его достать? не JIT ли это? |
Автор: Samotnik 11.1.2008, 21:46 |
Не, отдельно не ставил, всегда ставлю jdk потом IDEA и все! даже настривать ее не надо, сама jdk находит |
Автор: batigoal 12.1.2008, 00:05 |
Ну вот это и есть - отдельно ![]() |
Автор: alex_nevolin 1.2.2008, 14:38 | ||
Многие у кого стоит Eclipse и Idea пользуются ANT для сборки. А он использует javac как я понимаю. |
Автор: batigoal 1.2.2008, 16:47 |
Это зависит от билд-скрипта. |
Автор: chaos 1.7.2009, 06:37 |
я получается пользуюсь ojc ![]() ![]() |