Как стать автором
Поиск
Написать публикацию
Обновить
175.76

Java *

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

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

По следам поста «Быстрая разработка веб-приложений на Java»

Время на прочтение2 мин
Количество просмотров8.5K
image
Мотивом написания данной статьи послужило прочтение поста «Быстрая разработка веб-приложений на Java» и небольшой когнитивный диссонанс, возникший после прочтения и вопрос, который продолжает попрежднему мучать меня — Зачем такие сложности? Если есть WTP!

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

Библиотека рефлексивной генерации Swing-форм

Время на прочтение5 мин
Количество просмотров3.7K
Некоторое время назад мне в голову пришла мысль создать библиотеку для быстрой генерации форм на Java Swing. Расскажу, как я к этому пришел.
Читать дальше →

Знакомство с Netbeans Platform

Время на прочтение4 мин
Количество просмотров24K
Netbeans Platform — это фреймворк основанный на Swing, с помощью которого возможно создание больших десктоп приложений. Одноименное Netbeans IDE созданно, как раз, на базе Netbeans Platform. В нём содержится множество API для более легкой работы с окнами, действиями, файлами и т.п.
Читать дальше →

Быстрая разработка веб-приложений на Java

Время на прочтение7 мин
Количество просмотров132K
Как вы разрабатываете веб-приложение на Java?
После каждого изменения, как вы его запускаете и проверяете? Сколько времени занимает редеплой приложения и рестарт контейнера?

Мне довелось видеть разные варианты: от полной пересборки WAR-файла до использования плагинов для IDE типа MyEclipse, WTP и «коннекторов» для сервлет-контерйнеров. У некоторых из них есть явные недостатки, другие вполне работают — но есть способ проще!

Запускалка


Этот способ разработки позволяет максимально просто и гибко настроить приложение с минимальным временем редеплоя. Вам надо всего лишь написать один простенький Java-класс с main-методом, который запустит сервер Jetty сразу с нужными приложениями (т.н. Embedded Mode).

под катом - примеры кода и обзор альтернативных решений

Вызов Lua скриптов из Java и наоборот

Время на прочтение6 мин
Количество просмотров16K
image
Недавно столкнулся с такой проблемой и был крайне удивлен, что в сети материалов по ней очень мало, учитывая популярность Lua. Как выяснилось, существует довольно много библиотек для работы с Lua-скриптами из java, но все они имеют свои нюансы. Лучше всего, как выяснилось, использовать библиотеку LuaJava от тех же разработчиков, что написали Lua.
Читать дальше →

Akka для Java разработчика (часть 1)

Время на прочтение5 мин
Количество просмотров80K
В последнее время появилось довольно много языков программирования, которые используют для JVM как платформу для выполнения. Одним из наиболее «горячих» тем для обсуждения в последнее время является Scala. В этой статье я не буду рассматривать заслуженно это или нет, просто хочу рассказать как можно использовать средства этого языка используя Java и не написав ни одной строчки на Scala.
Итак, что такое actor и почему akka?

Не используйте Java7 ни для чего

Время на прочтение1 мин
Количество просмотров11K
Java 7 вышла не так давно, но за 5 дней до её релиза было обнаружено несколько ужасных ошибок в горячей оптимизации циклов, которая включена по умолчанию и приводит Java Virtual Machine к краху (в лучшем случае).

Эти ошибки ([1],[2],[3]) заметили пользователи и разработчики Apache Lucene/Solr ([4],[5]). Их обещали устранить в Java 7 Update 2 ([6]).
Замечание: эти ошибки также могут проявляться в Java 6, если включён один из флагов оптимизации: -XX:+OptimizeStringConcat или -XX:+AggressiveOpts у JVM.

Итог: не используйте Java 7 ни для чего, за исключением тех случаев, когда ваша программа не содержит циклов.



Upd thx: OLS, WebSpider.

the Da Vinci Machine Project в Java 7 и борьба с велосипедами

Время на прочтение4 мин
Количество просмотров1.4K
   Добрый день, уважаемые хабражители!

   Совсем недавно вышла ожидаемая многими Java 7. К сожалению, многих разочаровал состав нововведий, так как в него не попали различные очень ожидаемые вкусности вроде Project Lambda. Однако нововведений всё же много и сегодня я хотел бы немного остановиться на одном из важнейших — the Da Vinci Machine Project, который позволяет пользоваться динамическими языками на JVM более эффективно. Если говорит точнее, то рассматривать мы будем одну из частей the Da Vinci Machine Project — method handle. До конца проникнуться концепциями этой части языка я ещё не успел, но большинство людей вообще не понимают, зачем оно надо :) В статье я рассмотрю один use case, который Java-программистам знаком не по наслышке и родил, думаю, наибольшее число велосипедов ever. Он, конечно, касается перегрузки методов и передачи параметров по интерфейсу.
Читать дальше →

Работа с Java в командной строке

Время на прочтение11 мин
Количество просмотров660K
Сейчас уже никто не создает программы в консоли. Используя любимую IDE, разработчик чувствует себя неуютно за чужим компьютером, где её нет.
Решив разобраться в работе Ant и Maven, я поймал себя на том, что не смогу собрать приложение без них в консоли.
В данной статье я постарался уместить все этапы проектирования демонстрационного приложения, чтобы не искать справку по каждой команде на просторах Интернета.
Читать дальше →

Java SE 7 Released

Время на прочтение1 мин
Количество просмотров2.5K
Сегодня, после множества переносов, официально состоялся релиз Java SE 7.
В него вошли:
Project Coin
• The Fork/Join Framework
• The New File System API (NIO.2)
• InvokeDynamic
Скачать можно здесь.

Управляем таблицами шедулера WebSphere Application Server из Java

Время на прочтение3 мин
Количество просмотров2.7K
Теория

WebSphere — крутой сервер приложений, с кучей плюшек, но как IBM старательно все это скрывает от масс любопытных разработчиков сильно удивляет. В этой статье освещается процесс контроля таблиц внутреннего планировщика заданий прямо из кода java-приложения.
Читать дальше →

Сравнение потребления памяти у разных структур хранения данных

Время на прочтение2 мин
Количество просмотров26K
Различные структуры в Java потребляют разное количество памяти. Поэтому для нас очень важен выбор наиболее эффективного метода хранения данных.

Какая будет разница по потреблению памяти между конструкциями `new int[1024]` и `new Integer[1024]`?

int[] ints = new int[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Integer[] ints = new Integer[1024];
for (int i = 0; i < ints.length; i++) ints[i] = i;

Узнать

Регистрация глобальных нажатий клавиш с использованием JNA

Время на прочтение15 мин
Количество просмотров12K
Здравствуйте, в этой статье я расскажу вам как регистрировать глобальные нажатия клавиш из Java под Windows, Linux, BSD и Mac OSX с использованием отличной библиотеки JNA.

Для чего нужен JNA


Java с десктопом дружит сложно, для некоторых вещей нужно писать мосты для взаимодействия с операционной системой. Одной из таких функциональностей являются глобальные хоткеи, весьма популярные в аудио плеерах, когда даже в скрытом состоянии программой можно управлять с помощью определенных сочетаний клавиш или медиа-кнопок. На помощь приходит JNA — надстройка над jni и libffi для вызова нативных библиотек, она поддерживает почти все популярные платформы, разрабатывается уже долгое время и весьма стабильна.

Для джавы уже есть несколько достаточно стабильных библиотек для всех платформ: JIntelliType для Windows, которая даже поддерживает медиа-кнопки, JXGrabKey для систем Linux, и ossuport-connector для Mac OSX. Однако, все они используют jni, имеют разный интерфейс, и с библиотеками на jni не всегда удобно работать, потому что нужно прописывать пути к нативным библиотекам, разбираться с разрядностью системы и пр. Плюс это будет интересным упражнением по использованию JNA, потому что эту задачу можно сделать полностью на java достаточно малыми усилиями и получить легко поддерживаемый кроссплатформенный код.
Читать дальше →

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

Запуск кода под другим пользователем в Windows из Java

Время на прочтение7 мин
Количество просмотров4.9K
Добрый день! Сейчас я расскажу вам, как запускать код под учётной записью другого пользователя в Windows из Java с помощью JNA.
Читать дальше →

Использование MongoDB в Java EE 6

Время на прочтение4 мин
Количество просмотров27K


MongoDB — документо-ориентированная NoSQL СУБД, не требующая описания схемы таблиц. Больше о ней можно узнать на оф. сайте, а в данной статье я опишу пример использования MongoDB в Java EE 6 приложении.
Читать дальше →

Работа с commons-cli 1.2

Время на прочтение5 мин
Количество просмотров21K
В процессе работы на одним проектом, возникла необходимость разработать консольное приложение для удаленного доступа к системе. За подобное взялся впервые в таких масштабах, раньше все было на окошках или если консоль, то точно известно число, тип и порядок передаваемых параметров. А здесь возникла необходимость в большом количестве команд, каждая со своими параметрами, или вовсе без них, соответственно для обеспечения гибкости возникла потребность в парсере, переданных параметров.

Дабы не изобретать велосипед, решил взять готовую библиотеку. Выбор остановил на commons-cli, для нее удалось найти пару примеров и использование ее казалось не очень уж сложны.

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

Использование Play! framework в Gedit

Время на прочтение1 мин
Количество просмотров1.6K
Последнее время Play! framework набирает особую популярность среди Java разработчиков. Конечно все мы мечтали о таком фреймворке для Java и вот он наконец появился.

Одной из фишек фреймворка является компиляция на лету, эту фичу они взяли и eclipse(jdt). Благодаря этому отпадает нужда в IDE и всяких ant'ах. Можно программировать в простом текстовом редакторе типа Gedit. Хотелось бы поделится с вами портом Play! framework Textmate бандла для Gedit. Проект выложен на github'е и базируется на gmate, списке плагинов и тем делающий Gedit схожим с Textmate. Буду рад вашей помощи в добавлении новых возможностей.

P.S. Скоро будет добавлен ppa для пользователей ubuntu.

Функциональное программирование в Java

Время на прочтение5 мин
Количество просмотров65K
Эта статья о:
  • О применении функционального стиля программирования в языке Java.
  • О некоторых базовых паттернах для работы с коллекциями данных из функционального программирования в примерах на Java.
  • Немного о библиотеке Google Collections.

Если вы программируете на языках Java, C#, C++, PHP, или любом другом ОО языке, хотели бы познакомиться с функциональным программированием, но не имеет возможности/желания изучать Haskell/Scala/Lisp/Python, — эта статья специально для вас.

Тем, кто знаком с функциональным программированием, но никогда не применял его в Java, думаю, это будет тоже интересно.
Читать дальше →

Получаем доступ из Java в JavaScript через swt браузер

Время на прочтение3 мин
Количество просмотров2.7K

Хоббит или туда и обратно


Некоторое кол-во времени назад мне срочно потребовалось найти возможные способы получения переменных из js и браузера, чтобы передать их значение в моем приложении на java. К сожалению, на хабре данный вопрос не был раскрыт или возможно сила покинула меня и поиск дается уже не так легко.
Как бы то ни было сегодня я постараюсь в какой то мере пролить свет на данный вопрос. Итак приступим!
Читать дальше →

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