- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
/**
* just to see logs...
* @param context
*/
public void drawPalletes(PYGraphics context){
//log.info(elevatorSimelement.getName()+" -draw Palettes, palettes number is: "+elevatorSimelement.getPalletes().size());
super.drawPalletes(context);
}
Кстати, нормальные люди пишут @Override или я не прав?
Ну да, стоит писать. Какая-никакая страховка от опечаток в имени/списке параметров. К сожалению, емнип, в виде ворнинга, не ошибки.
У меня выставлено ошибка. Не раз выручало.
Знакомым по gcc образом -Werror
Конкретно @Override хз - надо доку читать. В ide выставлено. IDE же дописывает @Override.
А вот люди, наоборот, борются с этим:
http://stackoverflow.com/questions/2335655/why-is-javac-failing-on-override-annotation
Э... мне кажется, или-таки всё же обычно компилирует компилятор?
Примерно как (авто)мейк в сишкомире.
Из среды запускают тестовый код, всякие скриптики, лабы там ну и всё такое.
Это и к вопросу:
>Кому-то он нужен?
Данунахуй ;) У него просто свой инкрементальный компилер в комплекте есть. Его даже из командной строки можно дергать, если зачем-то возникнет такое желание.
> какая-то жавоидная приблуда, которую через апи может запустить или компилятор или IDE
Почему бы не назвать эту поебеньлибу компилятором, а то, что ты назвал "компилятором" - интерфейсом командной строки для компилятора? :)
Да, жабий компилятор очень прост, по сравнению с другими - мало того, что язык сам по себе простой, так еще и оптимизаций никаких он делать не умеет, сваливая их на jit. Да и кодогенератор у него только под jvm, не надо заморачиваться с ассемблерами под разные платформы и т.п.
С хулей?
Низкоуровневой оптимизации там просто нету. Другое дело, что она или не нужна, или ломает весь контроль над статикой. Думать она требует ну никак не больше, чем на сишке.
Алгоритмическая то? :) Ну она и на сишке не помешает, если честно. На одном низкоуровневом байтоёбстве далеко не уедешь. А царские числодробилки на яве и не пишут.
А jit очень даже неплохо оптимизирует, особенно с опцией -server. Просто времени на "прогрев" больше надо, чем для нативного кода. И для одноразовых утилит в стиле запустился-поработал секунду-умер, и при этом требующих перфоманса, жаба совсем не подходит.
>И для одноразовых утилит в стиле запустился-поработал секунду-умер
Для этого подходит только нативный код, все остальное очень сильно тормозит при запуске. Хотя! XBMC стартует плагины на питоне с нуля каждый раз, затупов не заметно.
Зачем коду прогрев-то? Там какие-то ленивые свойства?
Гугли hotspot. Жаборантайм проводит профайлинг и компиляет часто выполняемый байткод в нативный код. То, что выполняется редко, быстрее интерпретировать как байткод, чем генерировать машинные инструкции. У жабомашины один из лучших JIT-компиляторов.
Хотспот я слышал же, но не больше.
>А царские числодробилки на яве и не пишут.
Ну так область применения не та. java все таки создан для удобства написания, а не для сверхбыстрой работы. + у java порог вхождения ниже гораздо, что способствует привлечению молодых быдлокодеров^W умов
на святой воде и магии вуду)
>В яве компилятор - какая-то жавоидная приблуда, которую через апи может запустить или компилятор
хороший пример рекурсии
Починил.
>Eclipse вот вообще работает на одной JRE без компилятора.
facepalm².gif
Перед стартом функции, помеченной таким декоратором, запускается транзакция. При успешном выходе - коммит, при исключении - роллбек.
Тоже вполне так AOP, т.к. добавили новое поведение в готовую функцию.
P.S. Но, имхо, все проблемы AOP'а упираются в состояние. Либо оно глобальное (тот же лог) тогда все просто, но не так уж кошерно. Либо его вообще нет, и тогда никакой интересный аспект не замутить. Либо приходится как-то вытягивать данные у того, к чему аспект прикручивается - а это тоже некошерная зависимость.
Ну вот хотел автор узнать, вызывается метод в конкретном классе или нет. В родительский запихать не получится, т.к. он будет на всех потомков срать в логи. Поэтому он оверрайднул метод, и добавил в него лог ;)
А может быть там что-то еще планировалось помимо лога и вызова родительского метода... просто автор об этом забыл.
достаточно знаний ооп.
>А может быть там что-то еще планировалось помимо лога и вызова родительского метода... просто автор об этом забыл.
заработался, бедняжка)