Обновить
156.61

Java *

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

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

IntelliJ IDEA 10

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


Сегодня состоялся релиз новой версии IntelliJ IDEA 10 — самой умной среды разработки для Java. Основной акцент при разработке «десятки» был сделан на удобстве использования и производительности продукта. Из конкретных улучшений в этой области — новый автоматический code completion, возможность выносить окна редактора на второй монитор, вдвое ускоренное построение индексов и многое другое.

Конечно же, прибавилось и более крупных фич — таких как поддержка Mercurial, AspectJ, новых технологий Spring, редактор таблиц баз данных и т.д.

IntelliJ IDEA выпускается в двух версиях — коммерческая Ultimate и опен-сорсная Community Edition. В «десятке» из коммерческой версии в бесплатную переехали два больших плагина — поддержка Android, а также менеджмент задач и интеграция с issue trackers.

Ознакомиться с полным списком нововведений и скачать IntelliJ IDEA 10 можно на сайте jetbrains.com.

Генерация кода с jamon

Время на прочтение8 мин
Охват и читатели3.3K
Генерация кода

В нескольких проектах на разных местах работы я использовал генерацию кода. Зачем?
Чаще всего этим достигается сохранение правильности кода при изменениях. Например при добавлении еще одного типа данных в модель предметной области надо добавить класс на Яве, класс на С ++, код преобразования между ними и значение в Enum. Без генерации кода и работы ручками много, и всегда есть шанс что то из этого забыть.
Иногда reflection может быть заменой генерации кода, но даже тогда такой код будет менее читабельный чем шаблон для генерации.
Исходная информация для генерации кода может выглядеть очень по разному — это может быть Ява класс, у которого через reflection считываем свойства и генерим класс на C++, или csv файл, или XML, или еще что нибудь.

Попробую рассказать как я генерирую код в maven проектах с помощью фреймворка jamon.

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

Как обновить статус в Facebook, LinkedIn & Twitter при помощи spring-social

Время на прочтение9 мин
Охват и читатели6.7K
Не так давно я уже писал о новом проекте SpringSource: spring-social. Сегодня я хочу рассказать (вернее показать на примере) как можно данную библиотеку использовать. В качестве примера используется простейшее приложение, которое позволяет залогиниться во все три сервиса и обновлять статус одновременно во всех трех (осторожно — под катом много букв и кода и совсем нет картинок).
imageimageimageimage
Читать дальше →

Разговор с Brian Goetz о будущем Java

Время на прочтение5 мин
Охват и читатели6.6K
Два дня назад на конференции в Нидерландах мне посчастливилось поговорить с Brian Goetz, делавшим доклады о будущем Java, Project Coin, параллелизме, Fork-Join и лямбда-выражениях. Я задал ему вопросы о поглощении Sun Oracle-ом, мобильной Java и о том, что за давление идёт в прессе на Oracle в последнее время. Ниже — краткое описание того, что я узнал в этот интересный день.
Читать дальше →

Два в одном: spring-mobile & spring-android

Время на прочтение2 мин
Охват и читатели11K
Продолжая тему новых проектов SpringSource хотел бы в одном посте рассказать сразу о двух новых проектах: Spring Mobile & Spring Android.
image
Читать дальше →

Задача по Java Core

Время на прочтение1 мин
Охват и читатели8.8K
В продолжение к хорошей задаче, опубликованной не так давно на хабре, хотелось бы предложить ещё одну задачу.
Смысл, конечно, именно в решении задачи в голове, не используя спец. редакторы и компилятор.

Дан код на Java:
public class HelloWorld {
  public static void main(String... args) {
    http://habrahabr.ru;
    System.out.println("Hello World!");
  }
}


Вопрос: скомпилируется или нет?
Читать дальше →

Интеграция с «Социальными» сервисами при помощи Spring-Social

Время на прочтение2 мин
Охват и читатели6.9K
image
Не так давно копилка проектов SpringSource пополнилась еще одним проектом — Spring-Social, который призван упростить создание приложений интегрированных с различными социальными сетями. Данный проект никак не засветился на Habr-е, попробую восполнить этот пробел.
Читать дальше →

[Перевод] Java Best Practices. Преобразование Char в Byte и обратно

Время на прочтение4 мин
Охват и читатели37K
Сайт Java Code Geeks изредка публикует посты в серии Java Best Practices — проверенные на production решения. Получив разрешение от автора, перевёл один из постов. Дальше — больше.

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

[Перевод] Разделение JVM на платную/бесплатную версии: истерия, начавшаяся с поста в твиттере

Время на прочтение2 мин
Охват и читатели1.1K
В продолжение топика Oracle намеревается разделить JVM На платную/бесплатную версии

pelegri, редактор известнейшего блога о Java и иже — The Aquarium, отписался про ту истерии, которая началась после заявления представителя Oracle относительно Premium-версии JVM.

Мой вольный перевод со вставками необходимых ссылок ниже.

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

C Java в Mac OS X не все так печально

Время на прочтение1 мин
Охват и читатели7.7K
картинка, чтобы не было скучноНе так давно стало известно, что Apple прекращает развитие своей собственной версии JVM. Это событие вызвало широкий резонанс, и было воспринято большинством как однозначный признак заката Java. Да, у платформы сейчас не лучшие времена, разработка новой версии идет не так быстро, как хотелось бы, но умирать еще рано.
И этому появилось подтверждение, снова от Apple: компания активно подключается к проекту OpenJDK c целью создания полноценной открытой Java-машины для Mac OS X.
Если вспомнить, что IBM также подключилась к проекту (покинув Apache Harmony), то можно предположить, что все происходящее — вовсе не закат, а новая жизнь для Java. Ведь JVM прекрасно существует под Windows, не будучи разработанной Microsoft и включенной в поставку системы.

5 вещей, которых вы не знали о многопоточности

Время на прочтение10 мин
Охват и читатели298K
Хоть от многопоточности и библиотек, которые её поддерживают, отказываются немногие Java-программисты, но тех, кто нашёл время изучить вопрос в глубину ещё меньше. Вместо этого мы узнаём о потоках только столько, сколько нам требуется для конкретной задачи, добавляя новые приёмы в свой инструментарий лишь тогда, когда это необходимо. Так можно создавать и запускать достойные приложения, но можно делать и лучше. Понимание особенностей компилятора и виртуальной машины Java поможет вам писать более эффективный, производительный код.

В этом выпуске серии «5 вещей …», я представлю некоторые из тонких аспектов многопоточного программирования, в том числе synchronized-методы, volatile переменные и атомарные классы. Речь пойдет в особенности о том, как некоторые из этих конструкций взаимодействуют с JVM и Java-компилятором, и как различные взаимодействия могут повлиять на производительность приложений.
Читать дальше →

Первый взгляд на Activiti

Время на прочтение4 мин
Охват и читатели22K
activiti
На этой неделе пришлось столкнуться с Activiti — новым workflow движком для Java, и так как тема эта еще не обсуждалась на Хабре, решил поделиться впечатлениями. Сразу скажу — впечатления немного печальные, но об этом под катом

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

Gradle: Tasks Are Code

Время на прочтение5 мин
Охват и читатели48K
В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

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

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

Gradle: Better Way To Build

Время на прочтение5 мин
Охват и читатели115K
Ни один проект с использованием платформы Java (и не только) не обходится без инструментов сборки (если только это не «Hello, world!»). Рано или поздно, но собирать дистрибутив руками надоедает. Да и компилировать из консоли было бы неплохо, если в проекте используется несколько разных IDE. А перед сборкой дистрибутива было бы здорово проставить номер версии в его имени. И unit тесты прогнать — не зря же Kent Beck книжки пишет. А там и Continues Integration на горизонте маячит. И здорово было бы научить CI сервер это все делать самостоятельно. Одним словом, есть уйма задач.

Раз есть задачи, то есть и решения. Думаю, большинство разработчиков хоть раз, но сталкивались с Ant. Очень многие используют Maven. Есть другие, не такие распространённые инструменты: GAnt, Buildr, и др. Каждый из них обладает набором своих плюсов и минусов, но сегодня я хочу представить вам кое-что новенькое. Gradle.
Читать дальше →

Почему Gradle?

Время на прочтение7 мин
Охват и читатели103K
Если вы еще не знаете, что такое Gradle, то о нём можно почитать в предыдущих двух обзорах:
  1. Gradle: Better Way To Build
  2. Gradle: Tasks Are Code

Не так давно c Maven на Gradle была переведена сборка Hibernate Core. На что информационное сообщество отреагировало неоднозначно. Я хочу представить вашему вниманию перевод статьи, посвященной миграции сборки Hibernate. В статье раскрываются причины принятия такого решения, описываются преимущества Gradle и проблемы с Maven2. Дальнейшее повествование ведётся от лица Steve Ebersole.
Читать дальше →

Джеймс Гослинг: почему Applе отказывается от JVM

Время на прочтение2 мин
Охват и читатели2.7K
Как известно, несколько дней назад компания Apple фактически отказалась от дальнейшей разработки Apple JVM. Прошло более десяти лет с тех пор как Стив Джобс со сцены конференции JavaOne 2000 заявлял, что сделает «лучшую на планете платформу для Java прямо из коробки».

В далёком 2000 году Sun занимала 150-е место в списке крупнейших корпораций Америки, опережая Oracle и Apple, не говоря уже о стартапе Google, который вошёл в список Fortune 500 только в 2005 году.

Что и говорить, времена изменились.
Читать дальше →

Отличный Java MVC фреймворк — Play Framework

Время на прочтение2 мин
Охват и читатели50K
Добрый день!

Не так давно, мне потребовался инструмент или фреймворк, для того чтобы в краткие сроки, создать небольшой сайт — витрину. Особых требований не было. Собственно, сама витрина и простейшая админка, с возможностью подредактировать параметры публикуемого контента. Главным требованием была скорость. Нужно было сделать это все за 1-2 дня, с учетом необходимости верстки дизайна.
Читать дальше →

Apple объявляет Java для Mac OS X 10.6 устаревшей

Время на прочтение1 мин
Охват и читатели3.2K
Java для платформы Mac OS X 10.6 портированная Apple объявлена устаревшей.

Другими словами компания Apple больше не будет поддерживать Java для своей операционной системе на прежнем уровне и возможно ее удаление из поставки будущих версий Mac OS X.

Ситуацию ухудшает отсутствие официальной версии Java SE для Mac OS X от Oracle.
image

Amino — новый UI toolkit для десктопных Java приложений

Время на прочтение3 мин
Охват и читатели3.7K
image
Хочу представить вам Amino — графическую библиотеку и очень классный UI toolkit. Изначально библиотека разрабатывалась Leonardo Sketch как вспомогательная, но теперь становится самостоятельным продуктом. Сейчас Amino находится в состоянии ранней alpha-версии и является 100% open source Java библиотекой, которая обладает следующими преимуществами:

  • 2D/3D сценография на различных движках (Java2D, JOGL и многие другие);
  • множественные UI контролы, синование с помощью CSS;
  • разнообразные утилиты, для ускорения процесса разработки;
  • протестирован до мелочей;
  • является 100% бесплатной (BSD);
  • 100% Java, готова к использованию на различных можно использовать в разных языках, портированных под JVM (Groovy, JRuby, Jython, JavaScript, JavaFX Script и так далее)

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

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