DevBug blog

О Linux, Java, разработке ПО и не только

1000+ часов видео по Java на русском

Один из пользователей Хабра на своем хабра блоге собрал воедино список различных видео курсов по Java с кратким описанием каждого. Дабы эот полезный список не потерялся - оставлю уго тут. Ссылка на хабр со список видео курсов.

Java: отладка приложений для начинающих

Данное видео знакоимт начинающих Java разработчиков с отладкой Java приложений в среде разработки Intellij IDEA. В видео рассмотрены примеры отладки простого консольного Java приложения, веб-приложения, запущенного из IDE, а также веб приложения, запущенного на удаленном веб-сервере.

Java: делаем удаленную отладку jar-файла.

В данной статье речь пойдет об удаленной отладке исполняемых jar-файлов. Представим себе такую ситуацию: у нас имеется какое-то приложение, написанное на Java, и работает данное приложение на удаленной машине. Вдруг, по каким-то причинам необходимо отладить данное приложение. Для этого при запуске jar-файла нужно добавить следующие параметры: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xdebug включает опцию отладки; -Xrunjdwp подгружает реализацию Java Debug Wire Protocol (JDWP) с указанием параметров: transport=dt_socket - тип подключения к JVM:address=8000 - порт по которому отладчик будет подключаться к удаленной JVM;suspend=y - говорит JVM ждать и не исполнять запущенное для отладки приложения до  подключения отладчика;Таким образом для запуска исполняемого jar-файла, например, remotejardemo. Читать далее...

Tomcat: запускаем веб-приложение в режиме отладки.

Для отладки веб-приложений, запущенных удаленно (либо локально) под управлением Tomcat, необходимо внести некоторые изменения в скрипт запуска томката:открываем startup.sh для Linux либо startup.bat для Windows и в самом конце данного файла находим строчку вида:exec "$PRGDIR"/"$EXECUTABLE" start "$@"и приводим ее к виду:exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"Особое внимание стоит обратить на то, что между словом EXECUTABLE с кавычкой и словом jpda обязательно должен быть пробел.Файл startup.sh или startup.bat может быть найдет по пути вида:для Linux путь может быть таким:/home/my_user_name/apache-tomcat/bin/startup. Читать далее...

Intellij IDEA: исправляем шрифты в Ubuntu.

Как-то давно столкнулся с проблемой отрисовки шрифтов в некоторых IDE: Netbeans, а позже и в Intellij IDEA. В Netbeans данную проблему можно было решить путем изменения внешнего вида со стандартного на Nimbus, но тем не менее, шрифты в редакторе оставляли желать лучшего.  В IDEA долгое время работать было некомфортно из-за той же проблемы. Но обратившись за помощью к Google нашел решение проблемы. Для решения проблемы сглаживания шрифтов в Java-приложениях нам необходимо установить специальную пропатченную версию open-jdk, добавив ppa-репозиторий: no1wantdthisname/openjdk-fontfix. Читать далее...

Java: выводим на консоль список всех доступных временных зон (TimeZones)

Для реализации задуманного нам потребуется класс TimeZone и его метод getAvailableIDs(). Решение задачи реализуем в методе main(): public static void main(String[] args) { String[] allTimeZones = TimeZone.getAvailableIDs(); Arrays.sort(allTimeZones); for (int i = 0; i < allTimeZones.length; i++) { System.out.println(allTimeZones[i]); } } Как видно из кода в начале мы получаем строковый массив всех доступных временных зон, затем сортируем полученный массив, затем выводим на консоль каждый элемент отсортированного массива.

Java: очищаемм содержимое StringBuilder/StringBuffer

Для сложения большого количества строк гораздо эффективнее использовать объект StringBuilder (в многопоточной среде StringBuffer). Но иногда возникает необходимость в очистке содержиммого StringBuilder-а. К сожалению данный класс не имеет метода, который бы очищал его содержимое. Но выход из ситуации есть: можно воспользоваться методом delete(int start, int end) класса StringBuilder, который удаляет строчки начиная с позиции start до позиции end. В качестве начальной позиции необходимо указать 0, в в качестве конечной позиции - длинну содержимого StringBuilder-а. Читать далее...
Старые записи