Перейти к основному содержимому

1310 записей с тегом "Java"

Посмотреть все теги

· 6 мин. чтения

1. Обзор

В этом руководстве мы собираемся исследовать метод System.gc() , расположенный в пакете java.lang .

Явный вызов System.gc() известен как плохая практика. Давайте попробуем понять, почему и есть ли какие-либо варианты использования, когда вызов этого метода может быть полезен.

2. Сбор мусора

Виртуальная машина Java решает выполнить сборку мусора, когда есть признаки для этого. Эти указания отличаются от одной реализации GC к другой. Они основаны на разных эвристиках. Тем не менее, есть несколько моментов, когда GC будет выполнен точно:

· 7 мин. чтения

1. Обзор

Это вводное руководство по JAXB (архитектура Java для привязки XML).

Сначала мы покажем, как преобразовывать объекты Java в XML и наоборот.

Затем мы сосредоточимся на создании классов Java из схемы XML и наоборот с помощью подключаемого модуля JAXB-2 Maven.

2. Введение в JAXB

· 20 мин. чтения

1. Обзор

Blade — это крошечная среда Java 8+ MVC, созданная с нуля с некоторыми четкими целями: быть автономным, продуктивным, элегантным, интуитивно понятным и сверхбыстрым.

На его разработку вдохновило множество различных фреймворков: Node Express , Python Flask и Macaron / Martini от Golang .

Blade также является частью амбициозного проекта Let's Blade . Он включает в себя разнородный набор других небольших библиотек, от генерации Captcha до преобразования JSON, от шаблонов до простого подключения к базе данных.

Однако в этом руководстве мы сосредоточимся только на MVC.

2. Начало работы

· 10 мин. чтения

1. Обзор

В Java 8 представлены новые API для даты и времени , чтобы устранить недостатки старых java.util.Date и java.util.Calendar .

В этом руководстве давайте начнем с проблем в существующих API-интерфейсах даты и календаря и обсудим, как их решают новые API -интерфейсы даты и времени Java 8.

Мы также рассмотрим некоторые основные классы нового проекта Java 8, которые являются частью пакета java.time , такие как LocalDate , LocalTime , LocalDateTime , ZonedDateTime , Period , Duration и их поддерживаемые API.

2. Проблемы с существующими API даты / времени

· 4 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим различные способы перебора записей Map в Java.

Проще говоря, мы можем извлечь содержимое карты с помощью entrySet() , keySet() или values() . Поскольку это все наборы, ко всем из них применяются одинаковые принципы итерации.

Давайте подробнее рассмотрим некоторые из них.

2. Краткое введение в методы Map entrySet (), keySet() и values()

· 6 мин. чтения

1. Обзор

В Java 8 появилось несколько совершенно новых функций, включая лямбда-выражения , функциональные интерфейсы , ссылки на методы , потоки , необязательные , а также статические методы и методы по умолчанию в интерфейсах.

Мы уже рассмотрели некоторые из этих функций в другой статье . Тем не менее, статические методы и методы по умолчанию в интерфейсах сами по себе заслуживают более глубокого изучения.

В этом руководстве мы узнаем , как использовать статические методы и методы по умолчанию в интерфейсах, и обсудим некоторые ситуации, в которых они могут быть полезны.

2. Зачем интерфейсам нужны методы по умолчанию

· 7 мин. чтения

1. Обзор

Компиляторы и среды выполнения стремятся оптимизировать все, даже самые маленькие и, казалось бы, менее важные части. Когда дело доходит до такого рода оптимизаций, JVM и Java могут многое предложить.

В этой статье мы собираемся оценить одну из этих относительно новых оптимизаций: конкатенацию строк с помощью invokedynamic .

2. До Java 9

До Java 9 нетривиальные конкатенации строк реализовывались с помощью StringBuilder . Например, рассмотрим следующий метод:

· 1 мин. чтения

Метод codePointAt() принимает целое число в качестве параметра и возвращает кодовую точку по указанному индексу. Кодовая точка — это десятичное значение, которое символу присваивается в стандарте Unicode.

Доступные подписи

public int codePointAt(int index)

Пример

· 1 мин. чтения

Метод codePointCount() возвращает количество кодовых точек Unicode в указанном диапазоне. Текстовый диапазон начинается с первого индекса и заканчивается вторым индексом – 1.

Доступные подписи

public int codePointCount(int beginIndex, int endIndex)

Пример

· 1 мин. чтения

Строковые объекты могут быть созданы либо с использованием литералов:

String s = "a string";

или вызвав один из конструкторов:

String s = new String("a string");

Если мы используем литерал String , он попытается повторно использовать уже существующий объект из пула констант String .

С другой стороны, при создании экземпляра String с помощью конструктора будет создан новый объект.