
256K+
Охват за 30 дней
Java *
Объектно-ориентированный язык программирования
299,92
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Необычное поведение generics
1 мин
6.2KСлучайно обнаружил нетипичную проблему с параметризацией и наследованием в Java.
Сразу оговорюсь, что все это представляет только академический интерес. В реальной жизни так криво писать никто не будет. Но формально такого быть не должно:
MyClass is not abstract and does not override abstract method test(java.lang.Class)
Сразу оговорюсь, что все это представляет только академический интерес. В реальной жизни так криво писать никто не будет. Но формально такого быть не должно:
Компилятор выдает ошибку:Interface.java
public interface Interface {
void test(Class<Object> clazz);
}
BaseClass.java
public abstract class BaseClass<T> implements Interface {
abstract public void test(Class<Object> clazz);
}
MyClass.java
public class MyClass extends BaseClass {
public void test(Class<Object> clazz) {
}
}
MyClass is not abstract and does not override abstract method test(java.lang.Class)
+19
Перевод манов с оффсайта Sun. Часть 1
3 мин
2.2KЕще в сентябре прошлого года, начиная изучение Java я наткнулся на подкаст Голодного «The Art Of Programming». В одном из них он прославлял мануалы? расположенные на оффсайте Sun. Достаточно долгое время проведя со словарем и IDE, я добился некоторого результата.
Недавно пришла мысль, что люди, не сильно владеющие английским языком не могут использовать этот ресурс, каким бы хорошим он ни был.
Ниже последует перевод первой статьи (она небольшая), а к хабралюдям есть вопрос: как вы оцениваете качество/целесообразность подобного перевода?
P.S. Публикую в блоге JAVA, потому что никак не получается опубликовать в «Стартап Программист»
P.P.S. За дельный совет в переводе спасибо miravingin
Недавно пришла мысль, что люди, не сильно владеющие английским языком не могут использовать этот ресурс, каким бы хорошим он ни был.
Ниже последует перевод первой статьи (она небольшая), а к хабралюдям есть вопрос: как вы оцениваете качество/целесообразность подобного перевода?
P.S. Публикую в блоге JAVA, потому что никак не получается опубликовать в «Стартап Программист»
P.P.S. За дельный совет в переводе спасибо miravingin
+24
Parse it!
4 мин
8.2KКакое-то время назад мне по работе пришлось провести небольшое исследование. Суть его состояла в поиске наилучшего pdf-парсера реализованного на java.
Немного о проекте. В нем реализована система пересылки внутренних сообщений, к которым могут быть прикреплены файлы. Также есть поиск, который должен осуществляться по содержимому аттачментов. Большую часть подобных аттачментов составляют pdf-ки.
Собственно работа механизма довольно проста: при отсылке сообщения данные аттачмента парсятся и по ним стороится индекс.
Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
Немного о проекте. В нем реализована система пересылки внутренних сообщений, к которым могут быть прикреплены файлы. Также есть поиск, который должен осуществляться по содержимому аттачментов. Большую часть подобных аттачментов составляют pdf-ки.
Собственно работа механизма довольно проста: при отсылке сообщения данные аттачмента парсятся и по ним стороится индекс.
Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
+38
Анонсирован план развития Grails
1 мин
954Пока что разработчики сообщили о двух версиях:
Grails 1.2 «Bedivere» обещает быть релизом направленным на стабильность: обновление основных компонент(в том числе Spring до версии 3.0), переход с Jetty на Tomcat, выделение WebFlow в отдельный плагин, а так же GSP в самостоятельное решение. Релиз ожидается в июне 2009 года.
Grails 2.0 «Galahad» ставит свой целью упор на модульность плагинов с помощью технологии OSGi.
Параллельно с этими релизами будет вестись активная работа над плагинами для работы с JPA, JCR, Portlet & Flex.
P.S. Будущие релизы получили свои имена в честь рыцарей круглого стола короля Артура, в частности именно Галахад по легенде нашёл священный Грааль.
Grails 1.2 «Bedivere» обещает быть релизом направленным на стабильность: обновление основных компонент(в том числе Spring до версии 3.0), переход с Jetty на Tomcat, выделение WebFlow в отдельный плагин, а так же GSP в самостоятельное решение. Релиз ожидается в июне 2009 года.
Grails 2.0 «Galahad» ставит свой целью упор на модульность плагинов с помощью технологии OSGi.
Параллельно с этими релизами будет вестись активная работа над плагинами для работы с JPA, JCR, Portlet & Flex.
P.S. Будущие релизы получили свои имена в честь рыцарей круглого стола короля Артура, в частности именно Галахад по легенде нашёл священный Грааль.
+2
Прорыв в программировании
1 мин
2.9K
Сегодня компания JetBrains выпустила революционный плагин для своей Java IDE IntelliJ IDEA — это Voice Control plugin Теперь кодирование станет еще быстрее и, главное, больше никаких клавиатур и мышек!!! Что умеет плагин:
— Создание класса, конструктора, полей, переменных, параметров
— Навигация по коду
— Рефакторинги
— Вызов компиляции и деплоймент
— Дебаггинг (и всё это с помощью голоса!!!)
— Возможность парного программирования
— Поддерживаются любые языки (вы обучаете плагин)
Подробнее можно узнать по ссылке выше и там же можно посмотреть демку плагина.
P.S. так же обновлены продукты TeamCity, ReSharper и т.д. можно посмотреть на сайте ;)
+19
Отладка Java-сервлетов
2 мин
8.1KНесмотря на то, что я пишу на Java уже 2 месяца (о да, это срок :) ), я ни разу не запускал remote debugger. При разработке на GWT этого делать и не нужно — оно как-то само всё это делает. :) Но вот настала весна, моё GWT приложения распустилось, и хочет, чтобы я его выложил на сервер. Но вдруг выяснилось, что просто так оно работать не захотело. А почему, я понять не могу. И значит мне нужен дебагер.
Принцип работы наверное любого удалённого отладчика (remote debugger) прост — контейнер (это может быть и какой-либо сервлет-контейнер, и php-интерпритатор. Полагаю, что интерпритаторы Ruby, Perl, Python работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
Принцип работы наверное любого удалённого отладчика (remote debugger) прост — контейнер (это может быть и какой-либо сервлет-контейнер, и php-интерпритатор. Полагаю, что интерпритаторы Ruby, Perl, Python работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
+4
Создание демон-процесса на Java
6 мин
36KДоброго всем времени суток.
Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.
Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.
Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.
Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.
+31
IntelliJ IDEA 8.1 released
2 мин
2.8K
Сегодня вышла обновленная версия идеевской «восьмерки». Помимо баго-фиксов в 8.1 есть новые вещи, которые считаю уместным упомянуть в двух словах. 1. Idea Server. У каждой более менее-сложной программы, а идею безусловно можно причислить к сложной программе, существует такая вещь как настройки. Каждый раз, когда мы запускаем программу «не_со_своего_компьютера», а другими словами просто в другой конфигурации (или программа только что установлена) мы первым делом лезем в настройки и меняем их на свой лад. Например, я это делаю постоянно с Total Commander'ом, выставляя свои любимые настройки: как быстро искать, как сжимать, что показывать и т.д. IntelliJ IDEA, как и любая другая IDE, программа примерно эдак в 1000 раз сложнее чем вышеописанный пример. И настроек там так много, что всех их не упомнишь. Это и шрифты, и цвета, настройки инспекций (некоторые можно отключать), и, самое главное, это кастомные шорткаты. Согласитесь, каждый раз выставлять эти настройки заново не очень то удобно. Чтобы решить эту проблему, в IDEA появилась новая фича — Idea Server. Все очень просто. Вы регистрируетесь один раз на сервере идее и настройки вашей IDE хранятся удаленно. Когда Вы запускаете IDE, то можете залогиниться под вашим аккаунтом и настройки загрузятся сами с сервера. На мой взгляд, любители кастомных настроек оценят эту вещь по достоинству. Я, если честно, использую настройки по умолчанию.
2. Мощный апдейт VCS функциональности. Во-первых, появилась интеграция с Git, который становится все более популярным. Во-вторых, появилась интеграция с TFS (Team Foundation Server).
3. Для любителей SQL поддержан Оракловый диалект.
4. Интеграция с Resin AppServer
5. Появилась поддержка копирайтов. Для меня это существенный плюс. Т.к. я часто коммичу в open-source communities, то проверка копирайта занимает какое-то время. Если Вы правите чужой код с копирайтом, то нужно не забыть изменить год на новый и т.д. Сейчас все это (вставка или правка копирайта) можно делать прямо из диалога коммита. Удобно.
Так же произведена работа над улучшением перфоманса. В частности, убыстрен стартап, убыстрена работа с кэшом компилятора, что значительно уменьшает время компиляции. Подробнее тут http://www.jetbrains.com/idea/features/newfeatures.html
+35
Интервью с Ken Russel по поводу нового Java плагина
5 мин
1.1KНу что же, как я и обещал, в дополнение в моему посту habrahabr.ru/blogs/java/49989
Небольшое интервью с человеком который внес большой вклад в разработку нового плагина от Sun
Плоды труда этого человека использует каждый разработчик который пишет на платформе Java, и зовут его Ken Russell (http://research.sun.com/minds/2008-0811/)
Прошу учесть что интервью проведено в первых числах декабря, поэтому некоторые события могут говорится в будущем времени хотя они уже наступили.
Небольшое интервью с человеком который внес большой вклад в разработку нового плагина от Sun
Плоды труда этого человека использует каждый разработчик который пишет на платформе Java, и зовут его Ken Russell (http://research.sun.com/minds/2008-0811/)
Прошу учесть что интервью проведено в первых числах декабря, поэтому некоторые события могут говорится в будущем времени хотя они уже наступили.
+4
java.io.Serializable и наследование
2 мин
26KЧто такое сериализация можно почитать в отличной статье Евгения Матюшкина.
Я же отмечу случай с этим чудом техники в аспекте наследования классов. Интерфейс Serializable не требует от разработчика никаких действий, однако важно помнить, что внутренний механизм сериализует лишь поля этого класса и поля наследников, а поля родителя будут инициализированы с помощью конструктора без параметров.
Я же отмечу случай с этим чудом техники в аспекте наследования классов. Интерфейс Serializable не требует от разработчика никаких действий, однако важно помнить, что внутренний механизм сериализует лишь поля этого класса и поля наследников, а поля родителя будут инициализированы с помощью конструктора без параметров.
+5
Родилась задачка
1 мин
1.1KВозникла у меня одна задумка, которая может мне приятно облегчить программирование некоторых штук (в реальном проекте).
Но будет ли это работать, я не знал. В результате чего я накидал маленький тест чтобы проверить свои догадки.
После написания этого теста, обнаружил, что этот примерчик может быть вполне интересной и познавательной java-задачкой.
Но будет ли это работать, я не знал. В результате чего я накидал маленький тест чтобы проверить свои догадки.
После написания этого теста, обнаружил, что этот примерчик может быть вполне интересной и познавательной java-задачкой.
+3
Applets reloaded
6 мин
2.4KApplets reloaded
предисловие
Ни для кого не секрет что Adobe Flash полноценно занял свою позицию в интернете. По общей статистики почти у 98% пользователей интернета установлен Flash плагин. Главное назначение которого — реализация «rich UI»(англ: богатый пользовательский интерфейс), проще говоря — красивый, динамический интерфейс. Однако в последнее время два гиганта решили пошатнуть его позицию — Microsoft и Sun. Microsoft выпустила технологию Silverligth, а Sun — решила нанести более серьезный удар. Выпустив сразу несколько продуктов с общей и довольно явной целью — пошатнуть Flash/Flex.
+57
Ближайшие события
Конференция devnexus 2009
1 мин
744Читая утреннюю прессу, наткнулся на новость о том, что открыта регистрация на конференцию devnexus 2009, которая пройдет 10-11 марта 2009 г. в Атланте.
Билет стоит $185 ($150 если регистрироваться до 1 февраля или группой от пяти человек). Он включает в себя пропуск на оба дня и питание.
Список тем (под хабракатом) выглядит интересным, в связи с чем у меня несколько вопросов.
Билет стоит $185 ($150 если регистрироваться до 1 февраля или группой от пяти человек). Он включает в себя пропуск на оба дня и питание.
Список тем (под хабракатом) выглядит интересным, в связи с чем у меня несколько вопросов.
- У кого есть опыт подобных конференций? Стоит ли туда ехать?
- Может, кто-то уже туда собрался?
+3
Как подружить Java и C++. Часть первая
5 мин
103KЗдравствуйте.
Как вы, наверное, уже догадались, речь пойдет о JNI. Для тех, кто не знает что это, объясняю: JNI (или java native interface) — это такая штука, которая позволяет делать вызовы нативного кода из java машины и наоборот.
Зачем это может потребоваться? Есть несколько причин: необходимость использовать код, который уже написан для нативной платформы, необходимость реализовать что-то такое, что невозможно сделать с помощью одной JVM (например, работа с какими-нибудь специфическими железками), ну и ускорение выполнения критических кусков кода (правда, это весьма спорный момент).
Как вы, наверное, уже догадались, речь пойдет о JNI. Для тех, кто не знает что это, объясняю: JNI (или java native interface) — это такая штука, которая позволяет делать вызовы нативного кода из java машины и наоборот.
Зачем это может потребоваться? Есть несколько причин: необходимость использовать код, который уже написан для нативной платформы, необходимость реализовать что-то такое, что невозможно сделать с помощью одной JVM (например, работа с какими-нибудь специфическими железками), ну и ускорение выполнения критических кусков кода (правда, это весьма спорный момент).
+37
Вышло долгожданное обновление Velocity: шаблонить стало немного проще
4 мин
8.6KОбзор новых возможностей шаблонного движка
Первого декабря 2008 г. Apache объявила о выпуске новой версии давно не обновлявшегося шаблонного движка Velocity, за номером 1.6, а еще двумя неделями позже появился апдейт со свежими фиксами, Velocity Engine 1.6.1. Те, кто используют Velocity в своих проектах, будут рады узнать о новых возможностях, появившихся в новой версии. Те же, кто Velocity не используют, возможно, откроют для себя новый полезный инструмент.
+30
JavaFX — «пластилиновая ворона»
2 мин
3.5KКак уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов
+35
Processing
1 мин
3.5KSun недавно выпустила JavaFX, от которого я далеко не под впечатлением, ведь я видел, на что в действительности способна Java в плане визуализации. А видели ли вы?
+20
Официальный релиз JavaFX
1 мин
2.1K
Всем привет! Как-то тут на хабре мимо прошла новость, что 4 декабря вышел долгожданный официальный релиз JavaFX. Напомню, что JavaFX — это семейство продуктов для разработки многофункциональных Интернет приложений (rich internet applications) с мощной поддержкой для мультимедиа и разнообразного информационного наполнения. JavaFX является прямым конкурентом таких технологий как Flash и Silverlight.
+26