Обновить
151.96

Java *

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

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

Улучшаем документацию Java

Время на прочтение1 мин
Охват и читатели1.3K
В MSDN Library мне нравились пометки вида «Overrides Foo.bar()», «Inherited from Xyzzy» в обзорной таблице методов класса.

Решив, что документация должна быть удобной, я сделал пользовательский скрипт Obvious Overrides, который привносит подобные удобства в документацию Java.

До и после

Проверено в Firefox 3.5, Opera 9.6, Google Chrome.

Continuous integration and code metrics

Время на прочтение7 мин
Охват и читатели8.1K
В этой статье рассматривается настройка continuous integration процесса с метриками кода. Предполагается работа с java кодом и библиотеками: junit, cobertura, findbugs. В качестве системы сборки используем ant, а сам процесс будет управляться из cruise control. В качестве scm будет немного git'а.

Что мы получим в итоге? Ява проект с ant'овским сценарием сборки. Итогом сборки будет откомпилированный проект и набор метрик: отчеты по junit тестам, процент покрытия кода тестами и отчет о потенциальных ошибках. В дополнение, весь процесс сборки будет проходить ежедневно в автоматическом режиме и вся история метрик сохраняется для групповых отчетов.
image
Читать дальше →

32-bit Java 6 для Mac

Время на прочтение1 мин
Охват и читатели1.4K
image
По словам очевидцев в Snow Leopard появится 32-битная версия Java 6. На данный момент обладатели Intel Core Duo(в том числе и я =) могли довольствоваться только 5 версией Java, либо BSD-портом OpenJDK.

Самые глупые вещи, которые я сделал будучи программистом

Время на прочтение2 мин
Охват и читатели8.8K
Оригинальное название статьи: «The * stupidest things I’ve done in my programming job», поэтому перевод названия статьи не очень точен, однако то, что автор имел ввиду под "*" мы опустим — мы ведь не знаем наверняка :)

Я больше не стыжусь своих грешков, так что — вперед:

1. ORM


Глупость

Создал собственную ORM (Object Relational Mapping) библиотеку

Следствие

Неразбериха в проекте после двух лет поддержки, в следствие хаков-обходов моей ORM библиотеки для запуска прямых SQL запросов

Что я должен был сделать

Использовать Hibernate, iBATIS, Cayenne или нечто подобное.

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

Java по-русски. Часть вторая: интернет-ресурсы

Время на прочтение3 мин
Охват и читатели206K
В продолжение первой части. Сегодня будем рассматривать ресурсы о Java в интернете, которые подразделим на 4 части: вендоры, JUG, форумы, новости. А заодно подведём итоги.

Вендоры


Sun Microsystems

image
Основной сайт компании Sun содержит чисто рекламную информацию, поэтому рассматривать мы будем Сеть Разработчиков. Итак, что же здесь есть:
  • JavaFX — хит сезона. В рамках продвижения Sun проводит конкурсы по этой технологии, ещё вы можете найти документацию на русском языке и даже Wiki.
  • Академические программы — информация об образовательных программах. В основном это курсы для преподавателей и учебные материалы — лекции, написанные в рамках грантов.
  • Java SE, Java EE, Java ME, JavaCard за 2009 год не содержат практически никаких обновлений, а за предыдущие года есть разве что переводы некоторых статей.
  • Форум довольно мёртвый, за исключением раздела о JavaFX.
  • Ещё есть переводы англоязычных блогов The Aquarium и The Planetarium, посвящённых новостям о Java EE и Java для всех других платформ(SE, ME, FX, etc...) соответственно.

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

Другие возможности Java

Время на прочтение4 мин
Охват и читатели6.9K
Я продолжаю переводить источник первой статьи. Всё больше очевидных вещей, не смотря на это я все же решил, что повторение — не такое плохое занятие.

И коли источник исчерпыет себя — призыв к хабра-java-сообществу: «Don’t be jealous!», дополните этот список в комментариях, поделитесь опытом. А пока — продолжение предыдущей статьи, после монтажа, дубляжа и разбавления собственным опытом:

JDK tools


Почти все в курсе, что в поставку JDK входит внушительное число tools’ов. Однако в повседневной работе, думаю, многие кроме как java, javac, jar не используют. Что же ещё можно взять из папки bin:
Читать дальше →

Книжная полка: Java

Время на прочтение6 мин
Охват и читатели109K
По мотивам «JAVA → Java по-русски. Часть первая: Книги» habrahabr.ru/blogs/java/66568


Добрый день, уважаемые хабровчане!
В предыдущем обзоре Java книг, проведенном пользователем Scala, было рассказано о «практических» книгах, вышедших на рынок в последние три года. Я же хочу рассказать об этих и других книгах с несколько иного ракурса: попытаться выделить ценность информации книг.
Я не любитель читать с монитора, и предпочитаю книги покупать в бумажном варианте. Чтобы сделать осознанный выбор, следует отдавать себе отчет в том, что книга несет некие фундаментальные знания, но никак не сборник «последние фишки». Также в данной статье я хочу упомянуть о других известнейших трудах, не касающихся Java напрямую. Посмотрим, что лучше всего выбрать для обучения языку?
Читать дальше →

Особенности обработки исключений

Время на прочтение5 мин
Охват и читатели14K
Некоторые вещи иногда работают не так, как подсказывает интуиция. Это утверждение можно отнести к обработке исключений в Java. Далее — ситуации и примеры кода, которые отражают некоторые имеющиеся нюансы.

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

SpringSource приобрёл CloudFoundry, Terracotta наняла разработчика Ehcache

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

Не успели утихнуть разговоры о покупке SpringSource компанией VMware, как к этим двум «дочкам» EMC присоединилась компания CloudFoundry. Она занимается услугами хостинга Java-приложений на платформе Amazon EC2, предоставляя сконфигурированную свзяку CentOS + Apache HTTPD + Apache Tomcat + MySQL + Hyperic и Web-интерфейс для мониторинга и управления приложениями. Часть проекта доступна в виде OpenSource. Вместе с недавним понижением цен на зарезервированные сервера EC2 хостинг Spring, Grails и других Java приложений становится всё доступнее.

image

Другая OpenSource компания Terracotta, занимающаяся разработкой и поддержкой библиотеки для распределённого кеширования Java-приложений(в частности Spring, Hibernate) наняла разработчика Ehcache и теперь планирует интегрировать эту библиотеку в свой проект.

Нетривиальные возможности Java

Время на прочтение4 мин
Охват и читатели17K
Java — язык простой. И после года активного использования для Вас не остаётся секретов. Совершенно случайно я обнаружил, что на stackoverfow люди решили поделиться скрытыми возможностями (Hidden Features of Java). Вышло очень занимательно, получился своеобразный рейтинг нетривиальных возможностей, который я далее запротоколирую в вольном переводе на русский.

double brace


С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода — 
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.

далее еще 10 пунктов!

Sun Java Runtime Environment 6.0 Update 16

Время на прочтение1 мин
Охват и читатели972
Как быстро от 15 пришли к 16 =)

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

JDK 6 Update 16
This release is Windows 7 support-ready and includes support for Internet Explorer 8, Windows Server 2008 SP2, and Windows Vista SP2. New features include the G1 garbage collector, plus performance and security enhancements.

java.sun.com/javase/downloads/index.jsp

Узнаем параметр Generic-класса в Java

Время на прочтение9 мин
Охват и читатели117K
Если вы не очень часто программируете на Java, то этот топик скорее всего будет для вас бесполезен. Не читайте его :)

Недавно понадобилось решить следующую задачу: определить класс, которым параметризован generic-класс.

Если кто-то сталкивался с подобной задачей, то наверное также сразу попробовал написать что-то вроде этого:
public class AbstractEntityFactory<E extends Entity> {
  public Class getEntityClass() {
    return E.class;
  }
}

Увы, IDE либо компилятор сразу укажут вам на ошибку («cannot select from a type variable» в стандартном компиляторе): " E.class" — не является допустимой конструкцией. Дело в том, что в общем случае во время исполнения программы информации о реальных параметрах нашего generic-класса может уже и не быть. Поэтому такая конструкция в Java не может работать.
Читать дальше →

Более правильный способ тестирования Java программистов

Время на прочтение1 мин
Охват и читатели2.7K
Многие тесты на сертификацию Java программистов содержат большое количество вопросов с вариантами выбора. От таких тестов толку немного: многие вещи, касающиеся API можно быстро узнать чтением документации или исходников. При этом, умение программировать, которое состоит по большей части из умения правильно сформулировать алгоритм и логически мыслить, совершенно не тестируется.

Компания betterprogramming.com из Сан-Франциско решила исправить эту проблему. Тест, находящийся на их сайте, вместо множества вопросов предлагает решить несколько задач. Задачи заключаются в реализации несложных алгоритмов (уровня районной олимпиады по программированию, первого тура ACM ICPC или легких задач в topcoder). Текст программы, написанный разработчиком исполняется на сервере, и по его результатам а также по времени, ушедшем на прохождения теста, выставляется оценка.

Попробовать этот тест можно здесь: www.betterprogrammer.com

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

Java по-русски. Часть первая: Книги

Время на прочтение2 мин
Охват и читатели498K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →

Ошибки 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 мин
Охват и читатели800
image


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

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

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

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

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

Вклад авторов