Обновить
256K+

Java *

Объектно-ориентированный язык программирования

299,92
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Необычное поведение generics

Время на прочтение1 мин
Охват и читатели6.2K
Случайно обнаружил нетипичную проблему с параметризацией и наследованием в Java.
Сразу оговорюсь, что все это представляет только академический интерес. В реальной жизни так криво писать никто не будет. Но формально такого быть не должно:
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)

Перевод манов с оффсайта Sun. Часть 1

Время на прочтение3 мин
Охват и читатели2.2K
Еще в сентябре прошлого года, начиная изучение Java я наткнулся на подкаст Голодного «The Art Of Programming». В одном из них он прославлял мануалы? расположенные на оффсайте Sun. Достаточно долгое время проведя со словарем и IDE, я добился некоторого результата.
Недавно пришла мысль, что люди, не сильно владеющие английским языком не могут использовать этот ресурс, каким бы хорошим он ни был.
Ниже последует перевод первой статьи (она небольшая), а к хабралюдям есть вопрос: как вы оцениваете качество/целесообразность подобного перевода?

P.S. Публикую в блоге JAVA, потому что никак не получается опубликовать в «Стартап Программист»
P.P.S. За дельный совет в переводе спасибо miravingin


Читать дальше →

Parse it!

Время на прочтение4 мин
Охват и читатели8.2K
Какое-то время назад мне по работе пришлось провести небольшое исследование. Суть его состояла в поиске наилучшего pdf-парсера реализованного на java.

Немного о проекте. В нем реализована система пересылки внутренних сообщений, к которым могут быть прикреплены файлы. Также есть поиск, который должен осуществляться по содержимому аттачментов. Большую часть подобных аттачментов составляют pdf-ки.
Собственно работа механизма довольно проста: при отсылке сообщения данные аттачмента парсятся и по ним стороится индекс.

Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
Читать дальше →

Анонсирован план развития 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. Будущие релизы получили свои имена в честь рыцарей круглого стола короля Артура, в частности именно Галахад по легенде нашёл священный Грааль.

Прорыв в программировании

Время на прочтение1 мин
Охват и читатели2.9K
image
Сегодня компания JetBrains выпустила революционный плагин для своей Java IDE IntelliJ IDEA — это Voice Control plugin Теперь кодирование станет еще быстрее и, главное, больше никаких клавиатур и мышек!!! Что умеет плагин:
— Создание класса, конструктора, полей, переменных, параметров
— Навигация по коду
— Рефакторинги
— Вызов компиляции и деплоймент
— Дебаггинг (и всё это с помощью голоса!!!)
— Возможность парного программирования
— Поддерживаются любые языки (вы обучаете плагин)

Подробнее можно узнать по ссылке выше и там же можно посмотреть демку плагина.
P.S. так же обновлены продукты TeamCity, ReSharper и т.д. можно посмотреть на сайте ;)

Отладка Java-сервлетов

Время на прочтение2 мин
Охват и читатели8.1K
Несмотря на то, что я пишу на Java уже 2 месяца (о да, это срок :) ), я ни разу не запускал remote debugger. При разработке на GWT этого делать и не нужно — оно как-то само всё это делает. :) Но вот настала весна, моё GWT приложения распустилось, и хочет, чтобы я его выложил на сервер. Но вдруг выяснилось, что просто так оно работать не захотело. А почему, я понять не могу. И значит мне нужен дебагер.

Принцип работы наверное любого удалённого отладчика (remote debugger) прост — контейнер (это может быть и какой-либо сервлет-контейнер, и php-интерпритатор. Полагаю, что интерпритаторы Ruby, Perl, Python работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
Читать дальше →

Создание демон-процесса на Java

Время на прочтение6 мин
Охват и читатели36K
Доброго всем времени суток.

Недавно, по долгу службы, появилась необходимость написать background process для IBM AIX 5.2 на Java с контролирующим shell скриптом.

Раз работа проделана, документация поднята, код написан, почему бы не поделиться с общественностью? По сему, переходим к делу.

читать дальше ...

IntelliJ IDEA 8.1 released

Время на прочтение2 мин
Охват и читатели2.8K
imageСегодня вышла обновленная версия идеевской «восьмерки». Помимо баго-фиксов в 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

Интервью с Ken Russel по поводу нового Java плагина

Время на прочтение5 мин
Охват и читатели1.1K
Ну что же, как я и обещал, в дополнение в моему посту habrahabr.ru/blogs/java/49989
Небольшое интервью с человеком который внес большой вклад в разработку нового плагина от Sun
Плоды труда этого человека использует каждый разработчик который пишет на платформе Java, и зовут его Ken Russell (http://research.sun.com/minds/2008-0811/)

Прошу учесть что интервью проведено в первых числах декабря, поэтому некоторые события могут говорится в будущем времени хотя они уже наступили.
Читать дальше →

java.io.Serializable и наследование

Время на прочтение2 мин
Охват и читатели26K
Что такое сериализация можно почитать в отличной статье Евгения Матюшкина.

Я же отмечу случай с этим чудом техники в аспекте наследования классов. Интерфейс Serializable не требует от разработчика никаких действий, однако важно помнить, что внутренний механизм сериализует лишь поля этого класса и поля наследников, а поля родителя будут инициализированы с помощью конструктора без параметров.

Читать дальше →

Родилась задачка

Время на прочтение1 мин
Охват и читатели1.1K
Возникла у меня одна задумка, которая может мне приятно облегчить программирование некоторых штук (в реальном проекте).
Но будет ли это работать, я не знал. В результате чего я накидал маленький тест чтобы проверить свои догадки.
После написания этого теста, обнаружил, что этот примерчик может быть вполне интересной и познавательной java-задачкой.
Вот такая задачка получилась

Applets reloaded

Время на прочтение6 мин
Охват и читатели2.4K

Applets reloaded



предисловие


Ни для кого не секрет что Adobe Flash полноценно занял свою позицию в интернете. По общей статистики почти у 98% пользователей интернета установлен Flash плагин. Главное назначение которого — реализация «rich UI»(англ: богатый пользовательский интерфейс), проще говоря — красивый, динамический интерфейс. Однако в последнее время два гиганта решили пошатнуть его позицию — Microsoft и Sun. Microsoft выпустила технологию Silverligth, а Sun — решила нанести более серьезный удар. Выпустив сразу несколько продуктов с общей и довольно явной целью — пошатнуть Flash/Flex.

Читать дальше →

Ближайшие события

Конференция devnexus 2009

Время на прочтение1 мин
Охват и читатели744
Читая утреннюю прессу, наткнулся на новость о том, что открыта регистрация на конференцию devnexus 2009, которая пройдет 10-11 марта 2009 г. в Атланте.

Билет стоит $185 ($150 если регистрироваться до 1 февраля или группой от пяти человек). Он включает в себя пропуск на оба дня и питание.

Список тем (под хабракатом) выглядит интересным, в связи с чем у меня несколько вопросов.
  1. У кого есть опыт подобных конференций? Стоит ли туда ехать?
  2. Может, кто-то уже туда собрался?

Список тем

Как подружить Java и C++. Часть первая

Время на прочтение5 мин
Охват и читатели103K
Здравствуйте.

Как вы, наверное, уже догадались, речь пойдет о JNI. Для тех, кто не знает что это, объясняю: JNI (или java native interface) — это такая штука, которая позволяет делать вызовы нативного кода из java машины и наоборот.

Зачем это может потребоваться? Есть несколько причин: необходимость использовать код, который уже написан для нативной платформы, необходимость реализовать что-то такое, что невозможно сделать с помощью одной JVM (например, работа с какими-нибудь специфическими железками), ну и ускорение выполнения критических кусков кода (правда, это весьма спорный момент).

Так как же им пользоваться?

Spring IoC Annotation-based configuration, часть 2

Время на прочтение4 мин
Охват и читатели45K
В предыдущей статье я рассказал об основных аннотациях Spring IoC, однако есть еще несколько интересных вещей, о которых хотелось бы поведать.
Для, тех, кто не в курсе, что такое Spring Framework предлагаю почитать вот эту статью.

Читать дальше →

Вышло долгожданное обновление Velocity: шаблонить стало немного проще

Время на прочтение4 мин
Охват и читатели8.6K

Обзор новых возможностей шаблонного движка


Первого декабря 2008 г. Apache объявила о выпуске новой версии давно не обновлявшегося шаблонного движка Velocity, за номером 1.6, а еще двумя неделями позже появился апдейт со свежими фиксами, Velocity Engine 1.6.1. Те, кто используют Velocity в своих проектах, будут рады узнать о новых возможностях, появившихся в новой версии. Те же, кто Velocity не используют, возможно, откроют для себя новый полезный инструмент.
Читать дальше →

JavaFX — «пластилиновая ворона»

Время на прочтение2 мин
Охват и читатели3.5K
Как уже известно Java программистам (и не только) на днях состоялся официальный релиз JavaFX. Я периодически проявлял интерес к данному направлению. Пришло время конкретно пощупать что ж это за «зверь» такой с модными буквами FX. Программировать что попало (т.е. тренироваться на кошках) конечно не интересно. Соответственно с пользой для дела написал компонент для веб сервиса загрузки файлов
Читать дальше →

Processing

Время на прочтение1 мин
Охват и читатели3.5K
Sun недавно выпустила JavaFX, от которого я далеко не под впечатлением, ведь я видел, на что в действительности способна Java в плане визуализации. А видели ли вы?
Читать дальше →

Официальный релиз JavaFX

Время на прочтение1 мин
Охват и читатели2.1K


Всем привет! Как-то тут на хабре мимо прошла новость, что 4 декабря вышел долгожданный официальный релиз JavaFX. Напомню, что JavaFX — это семейство продуктов для разработки многофункциональных Интернет приложений (rich internet applications) с мощной поддержкой для мультимедиа и разнообразного информационного наполнения. JavaFX является прямым конкурентом таких технологий как Flash и Silverlight.

Читать дальше →