Обновить
512K+

Java *

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

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

Ошибки out of perm gen space в программах на Java

Время на прочтение2 мин
Охват и читатели14K
Часто при передеплое java приложений, случается ошибка OutOfMemory: PermGenSpace. Давайте разберемся что это такое, отчего она бывает, и как с этим бороться.
Читать дальше →

Sun Java Runtime Environment 6.0 Update 15

Время на прочтение1 мин
Охват и читатели2.5K
Компания Sun Microsystems, Inc. выпустила пятнадцатое по счету обновление для шестой версии средств разработки и исполнения приложений, написанных на языке Java.
Это снова сервисный выпуск, которые включает обновленные сертификаты безопасности, а также исправляет около десяти ошибок (подробнее). Полный перечень нововведений детально описан в этом файле.
Скачать можно на официальном сайте. Кроме того, обновиться можно и через встроенную систему. Это позволит сэкономить трафик, так как будут скачаны только обновленные компоненты.

UPG
С java.sun.com/javase/downloads/index.jsp почему то убрали 15 версию. Хотя народ уже успел скачать:
Java Runtime Environment 6.0 Update 15 (15.9 MB, Windows 9x/2000/XP/2003/Vista x86)
Java Runtime Environment 6.0 Update 15 (16.7 MB, Windows XP/2003/Vista/x64)

Сортировка больших объёмов данных, реализация на Java

Время на прочтение15 мин
Охват и читатели17K
Недавно на Хабре была статья Сортировка миллиона 32-битных int'ов в 2 мегабайтах памяти на Питоне. Заинтересовался, попробовал реализовать на Java.

Конечно, 32 строчки не получилось. Получилось 235.
Но мне показалось, что результат вполне можно использовать в качестве первого поста — не судите строго ;)
Читать дальше →

Обновился сайт web-фреймвока Grails

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


Напомним, что не так давно компания SpringSource приобрела компанию G2One, занимавшуюся разработкой Groovy & Grails. Кроме нового приятного дизайна, появились ссылки на сайт с коммерческой информацией и обновился раздел плагинов, который получил более удобную навигацию.

Для тех, кто впервые слышит о Grails, пара слов о его особенностях:
  • Для разработки используется динамический язык Groovy, который является расширением языка Java в сторону Smalltalk, Ruby и работает поверх JVM
  • Фреймворк не написан с нуля, а представляет собой скорее DSL поверх Spring & Hibernate
  • Первые два пункта дают простую интеграцию с множеством библиотек и проектов на Java
  • Поддержкой проекта занимается компания SpringSource — один из технологических лидеров в Java-индустрии

Автоматический контроль качества Java-кода

Время на прочтение7 мин
Охват и читатели25K
Код, который пишет программист, должен быть рабочим – самое первое правило успешной работы, с которым согласится и сам программист, и все его начальники. Но, кроме того, что код должен просто работать, часто к нему предъявляются повышенные требования – наличие комментариев (внутренней документации), читаемость, быстроту внесения изменений, совместимость с явными и неявными стандартами. Всё то, что можно назвать качеством кода.

Однако, в отличие от работоспособности кода, которую можно оценить с помощью выполнения проверочных тестов, качество кода не является простой оценкой TRUE или FALSE. Более того, под качеством кода понимается набор субъективных оценок восприятия кода другим человеком. Однако давайте всё-таки попробуем как-то формализовать задачу оценки качества, и, при возможности, дать способ автоматического выполнения этой задачи.
Читать дальше →

Абсолютная загадка наследования в Java

Время на прочтение4 мин
Охват и читатели29K
Почему эта загадка абсолютная? По двум причинам:
• Она касается основ языка Java, а не какого-то малоизвестного нюанса API.
• Она расплавила мой мозг, когда я на нее наткнулся.
Если вы хотите проверить себя перед дальнейшим чтением, пройдите этот тест.
Читать дальше →

Транзакции в Spring

Время на прочтение5 мин
Охват и читатели38K
Статья описывает пример по работе с транзакциями в популярном framework Spring. Статья предполагает, что вы знакомы с java и spring. Рабочий пример кода можно скачать с sf

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

NetBeans в Java Real-Time

Время на прочтение2 мин
Охват и читатели5.3K
nb
NetBeans — очень удобная для разработчика среда, обычно отпугивающая своей тормознутостью, т.к. громоздка и написана на Яве. Что ж, будем надеятся, что однажды все наладится, а пока посмотрим, как эту ситуацию может исправить Real-Time Java.

Запуск NetBeans в JavaRTS

Учимся проектировать на основе предметной области (DDD: Domain Driven Design)

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

1. Введение



В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).


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

Oracle обещает много инвестировать в Java

Время на прочтение1 мин
Охват и читатели723
Директоры компаний Oracle и Sun — Ларри Эллисон и Скотт Макнили — совместно выступили на конференции JavaOne, где рассказали о будущем активов Sun, которые перешли к новому владельцу. Нужно заметить, что это первое публичное выступление Эллисона с момента покупки Sun, которое произошло 20 апреля.

Эллисон предпочёл умолчать об аппаратной части, ничего не сказали о серверах, процессорах, системах хранения данных, сетевом оборудовании и тонких клиентах. Зато подробно рассказал о будущем технологии Java. Оно обещает быть светлым.

Эллисон напомнил, что именно его компания и раньше была главным инвестором в Java-технологии, у них всё middleware на 100% работает на Java. В будущем Oracle обещает продолжить эти инвестиции в полном объёме. Следующее поколение бизнес-приложений Oracle (Fusion Suite) полностью будет построено на Java. И это будет первый в мире пакет ERP и CRM, построенный на стандартной платформе.

Более того, Эллисон сообщил, что Oracle займётся даже разработкой нетбуков и мобильных телефонов под Java! Хотя это звучит просто невероятно, но таким образом Oracle собирается вступить в конкуренцию с Hewlett-Packard, Acer, Lenovo, Dell и другими компаниями на рынке нетбуков.

via eWeek

Face Detection на джаве — это просто!

Время на прочтение1 мин
Охват и читатели29K
Спешу поделиться с вами своею радостью :) Столкнулся я тут недавно с задачкой — нужно было определить местонахождения лиц на картинке.

Зачем это нужно — другой вопрос: мне, лично, понадобилось для создания модели распределения внимания по картинке, а кому-то, может быть, нужно для того, чтобы людей как в фейсбуке автоматически на групповой фотографии выделять.

Алгоритмы, в принципе, неплохо известны. Одним из лучших является алгоритм Viola & Jones, но поиск готовых имплементаций результатов не принёс. Было расстроился, но обратил внимание на замечательную нативную библиотеку — OpenCV. Библиотека ценна не только реализацией основных алгоритмов компьютерного зрения, но тем, что встречается решительно на всех платформах.

И что же вы думаете? Одним из первых в гугле выпадает вот такой замечательный проект JNI интерфейса к OpenCV!

Несколько минут закачки, десяток минут чтения документации с установкою программы, и ещё десяток — написание теста. А потом, и вот этими четырьмя строчками, просто берём и распознаём на картинке лица!

OpenCV cv = new OpenCV();
cv.loadImage("test.jpg", 300, 400);
cv.cascade("haarcascade_frontalface_default.xml");
Rectangle bounds[] = cv.detect();

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

Сериализация в Java

Время на прочтение7 мин
Охват и читатели380K
Сериализация это процесс сохранения состояния объекта в последовательность байт; десериализация это процесс восстановления объекта, из этих байт. Java Serialization API предоставляет стандартный механизм для создания сериализуемых объектов. В этой статье вы увидите как сериализовать объект, и почему сериализация иногда необходима. Вы узнаете об алгоритме сериализации используемом в Java и увидите пример, который иллюстрирует сериализованый формат объекта. В конце у вас должно сложиться чёткое представление о том, как работает алгоритм сериализации, а так же каким образом представлены части объекта в сериализованном виде.
Читать дальше →

SpringSource Tool Suite бесплатно, ROO и спецификация DI совместно с Google

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

На прошедшей конференции SpringOne Europe компания SpringSource сделала несколько объявлений:
  • SpringSource Tool Suite, плагин для Eclipse, упрощающий разработку Spring-приложений становится бесплатным. В ближайшее время ожидается прогресс в поддержке других продуктов SpringSource: Groovy & Grails.
  • Spring ROO — фреймворк для увеличения производительности Java-разработчиков при написании Spring-приложений путём использования Code Generation и Aspect Oriented Programming.
  • Партнёрство с Google для создания единой спецификации по Dependency Injection.

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

Необычное поведение 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 мин
Охват и читатели951
Пока что разработчики сообщили о двух версиях:

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 работают аналогичным образом), который выполняет приложение настраивается таким образом, что при запуске приложения он либо начинал слушать определенный порт, либо сам пытался коннектиться куда-либо.
Читать дальше →