Битва титанов: Java vs Kotlin

Java, по мнению Amazon, один из оптимальных по энергопотреблению и времени выполнения языков программирования. Он зарекомендовал себя для серверной разработки, на тех платформах, где может работать виртуальная машина. Не зря же…

Управление памятью Java

Это глубокое погружение в управление памятью Java позволит расширить ваши знания о том, как работает куча, ссылочные типы и сборка мусора. Вероятно, вы могли подумать, что если вы программируете на…

Thread’ом Java не испортишь: Callable, Future и друзья

Поток — это Thread, в нём что-то запускается run, поэтому воспользуемся tutorialspoint java online compiler‘ом и выполним следующий код: Единтсвенный ли это вариант запуска задачи в потоке? java.util.concurrent.Callable Оказывается, у…

MyBatis или Hibernate?

Рано или поздно Java-разработчик задаёт себе вопрос: Hibernate или MyBatis? От ответа зависит архитектура проекта, а ответ, в свою очередь, зависит от задачи. Давайте разберёмся, что они такое и когда…

HashMap в Java— что за карта такая?

Сегодня мы поговорим о еще одной структуре данных — Map. Ее официальное русское название — “ассоциативный массив”, но его используют нечасто. Более распространены варианты “словарь”, “карта”, или (чаще всего) —…

Java куки.

Куки представляют простейший способо хранения данных приложения. Куки хранятся в браузере польвователя в виде пары ключ-значение: с каждым уникальным ключом сопоставлется определенное значение. По ключу мы можем получить сохраненное в…

Компилирование и исполнение Java-кода в Runtime

Сегодня я хотел бы поговорить про динамическое компилирование и исполнение Java-кода, подобно скриптовым языкам программирования. В этой статье вы найдете пошаговое руководство как скомпилировать Java в Bytecode и загрузить новые…

Разбираем подробно Java ThreadLocal

Пример локальной переменной потока Java. Java 8 ThreadLocal в примере начального метода, потокобезопасные переменные. Java ThreadLocal используется для создания локальных переменных потока. Мы знаем, что все потоки объекта совместно используют…

Синхронизация потоков. Оператор synchronized

При работе потоки нередко обращаются к каким-то общим ресурсам, которые определены вне потока, например, обращение к какому-то файлу. Если одновременно несколько потоков обратятся к общему ресурсу, то результаты выполнения программы…

Распознавание символов на Java

Распознавание символов методом наименьшего расстояния Левенштейна В последнее время задача распознавания символов в прикладных программах не представляет особой сложности — можно использовать множество готовых OCR-библиотек, многие из которых доведены почти…

Топ-10 лучших фреймворков и библиотек Java

Начиная новый проект, я задумался о том, что, вероятнее всего, я могу упустить важные фреймворки и библиотеки Java из-за того, что я просто никогда с ними не сталкивался. Возможно, мои…

Работаем с базами данных c Java

Работа с БД с помощью JDBC 1. Утверждения (Statements) Взаимодействовать с БД мы можем с помощью трёх интерфейсов, которые реализуются каждым драйвером: Statement – этот интерфейс используется для доступа к БД…

Инструкция по написанию HTTP-сервера на Java

Вы хотите реализовать HTTP-сервер , но не хотите рисковать написанием полноценного HTTP-сервера? Разработка HTTP-сервера с полной функциональностью не является тривиальной задачей. Но у Java есть решение этой проблемы. Java поддерживает встроенный HTTP-сервер. Просто написав 100 строк…

Java погружаемся в потоки.

Вступление Многопоточность в Java была заложена с самых первых дней. Поэтому давайте кратко ознакомимся с тем, про что это — многопоточность. args — это массив входных параметров, передаваемых при…

Java RegEx: применение регулярных выражений в коде

Рассмотрим регулярные выражения в Java, затронув синтаксис и наиболее популярные конструкции, а также продемонстрируем работу RegEx на примерах. Основы регулярных выражений Регулярные выражения в Java Примеры использования регулярных выражений в…