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

66 записей с тегом "JVM"

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

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

1. Обзор

В этом руководстве мы обсудим несколько параметров JVM, которые мы можем использовать для установки процента оперативной памяти JVM.

Представленные в Java 8 параметры InitialRAMPercentage , MinRAMPercentage и MaxRAMPercentage помогают настроить размер кучи приложения Java.

2. -XX: Начальный RAMPercentage

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

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

1. Обзор

В этом руководстве мы увидим, как JVM размещает объекты и массивы в куче.

Во-первых, мы начнем с небольшого количества теории. Затем мы рассмотрим различные макеты памяти объектов и массивов в различных обстоятельствах.

Обычно расположение областей данных времени выполнения в памяти не является частью спецификации JVM и оставлено на усмотрение разработчика . Поэтому у каждой реализации JVM может быть своя стратегия размещения объектов и массивов в памяти. В этом руководстве мы сосредоточимся на одной конкретной реализации JVM: HotSpot JVM.

Мы также можем взаимозаменяемо использовать термины JVM и HotSpot JVM.

2. Обычные указатели объектов (ООП)

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

1. Обзор

В этом руководстве мы увидим, сколько места занимает каждый объект в куче Java.

Во-первых, мы познакомимся с различными метриками для расчета размеров объектов. Затем мы рассмотрим несколько способов измерения размеров экземпляров.

Обычно расположение областей данных времени выполнения в памяти не является частью спецификации JVM и оставлено на усмотрение разработчика . Поэтому у каждой реализации JVM может быть своя стратегия размещения объектов и массивов в памяти. Это, в свою очередь, повлияет на размеры экземпляров во время выполнения.

В этом руководстве мы сосредоточимся на одной конкретной реализации JVM: HotSpot JVM.

Мы также используем термины JVM и HotSpot JVM как синонимы на протяжении всего руководства.

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

1. Обзор

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

В этом руководстве мы узнаем, как это сделать с помощью инструментов JDK.

2. Приложение

Начнем с написания заявки. Мы запустим его в удаленном месте и отладим локально в этой статье:

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

1. Обзор

Invoke Dynamic (также известный как Indy) был частью JSR 292 , предназначенного для улучшения поддержки JVM для языков с динамической типизацией. После своего первого выпуска в Java 7 код операции invokedynamic довольно широко используется динамическими языками на основе JVM, такими как JRuby, и даже языками со статической типизацией, такими как Java.

В этом руководстве мы собираемся демистифицировать invokedynamic и посмотреть, как он может `` помочь разработчикам библиотек и языков реализовать многие формы динамизма.

2. Познакомьтесь с Invoke Dynamic

Начнем с простой цепочки вызовов Stream API :

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

1. Обзор

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

В этом руководстве мы рассмотрим несколько способов изменения часового пояса JVM . Мы также узнаем о некоторых ловушках, связанных с управлением часовым поясом.

2. Введение в часовой пояс

По умолчанию JVM считывает информацию о часовом поясе из операционной системы. Эта информация передается классу TimeZone , который хранит часовой пояс и вычисляет летнее время .

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

1. Обзор

Как правило, запустить службу несложно. Тем не менее, иногда нам нужно иметь план для изящного закрытия одного из них.

В этом руководстве мы рассмотрим различные способы завершения работы приложения JVM. Затем мы будем использовать API-интерфейсы Java для управления перехватчиками завершения работы JVM. Пожалуйста , обратитесь к этой статье , чтобы узнать больше о завершении работы JVM в приложениях Java.

2. Выключение JVM

JVM можно закрыть двумя способами:

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

1. Обзор

С годами производительность систем, которые мы используем, увеличилась в геометрической прогрессии. Следовательно, количество потоков, которые поддерживает виртуальная машина Java, также увеличилось.

Но сколько мы на самом деле можем создать? Ответ не является точным числом, потому что оно зависит от множества факторов.

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

2. Память стека

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

1. Обзор

В нашей повседневной работе мы часто не заботимся о распределении внутренней памяти JVM.

Однако знание основ модели памяти JVM пригодится для оптимизации производительности и улучшения качества кода .

В этой статье мы рассмотрим хранилище JVM для статических методов и членов.

2. Классификация памяти JVM

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

1. Введение

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

Чтобы решить эту проблему, в Java 11 был представлен сборщик мусора Z (ZGC) в качестве экспериментальной реализации сборщика мусора (GC).

В этом руководстве мы увидим, как ZGC удается поддерживать малое время паузы даже на кучах размером в несколько терабайт .

2. Основные понятия