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

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

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

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

1. Обзор

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

В этом руководстве мы изучим различные способы проверки того, работает ли программа Java на 64-разрядной или 32-разрядной JVM .

Сначала мы покажем, как этого добиться с помощью класса System .

Затем мы увидим, как использовать API Java Native Access (JNA) для проверки разрядности JVM. JNA — это библиотека, разработанная сообществом, которая обеспечивает любой собственный доступ.

2. Использование системного свойства sun.arch.data.model

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

1. Обзор

JVM — одна из старейших, но мощных виртуальных машин, когда-либо созданных.

В этой статье мы кратко рассмотрим, что значит разогреть JVM и как это сделать.

2. Основы архитектуры JVM

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

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

1. Обзор

Проще говоря, JVM заботится об освобождении памяти, когда объекты больше не используются. Этот процесс называется сборкой мусора ( GC ).

Ошибка GC Overhead Limit Exceeded относится к семейству java.lang.OutOfMemoryError и указывает на исчерпание ресурса (памяти).

В этом кратком руководстве мы рассмотрим, что вызывает ошибку java.lang.OutOfMemoryError: GC Overhead Limit Exceeded и как ее можно устранить.

2. Ошибка превышения лимита служебных данных GC

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

1. Введение

В этом руководстве мы рассмотрим различия между Oracle Java Development Kit и OpenJDK . Сначала мы подробно рассмотрим каждый из них, а затем сравним их. Наконец, мы перечислим другие реализации JDK.

2. История Oracle JDK и Java SE

JDK (Java Development Kit) — это среда разработки программного обеспечения, используемая при программировании платформы Java. Он содержит полную среду выполнения Java, так называемую частную среду выполнения. Он назван так потому, что содержит больше инструментов, чем автономная JRE, а также других компонентов, необходимых для разработки приложений Java.

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

1. Обзор

В этом кратком руководстве мы продемонстрируем основы различных реализаций сборки мусора (GC) JVM . Затем мы узнаем, как включить определенный тип сборки мусора в наших приложениях.

2. Краткое введение в сборку мусора

Учитывая название, кажется, что сборка мусора занимается поиском и удалением мусора из памяти. Однако на самом деле сборка мусора отслеживает каждый объект, доступный в пространстве кучи JVM, и удаляет неиспользуемые.

По сути, GC работает в два простых шага, известных как Mark and Sweep:

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

1. Обзор

В этом кратком руководстве мы рассмотрим, как настроить размеры стека потоков в HotSpot JVM.

2. Размер стека по умолчанию

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

Однако другие детали реализации, такие как размер стека, зависят от реализации. С этого момента мы сосредоточимся на HotSpot JVM и будем использовать термины JVM и HotSpot JVM взаимозаменяемо.

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

1. Обзор

JVM управляет памятью для нас. Это снимает с разработчиков бремя управления памятью, поэтому нам не нужно вручную манипулировать указателями объектов , что, как доказано, занимает много времени и чревато ошибками.

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

2. Представление объекта во время выполнения

HotSpot JVM использует структуру данных, называемую oops или Ordinary Object Pointers , для представления объектов. Эти oop эквивалентны родным указателям C. instanceOop — это особый вид oop , который представляет экземпляры объектов в Java . Кроме того, JVM также поддерживает несколько других операций , которые хранятся в дереве исходного кода OpenJDK .

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

1. Введение

В Java 11 появился сборщик мусора No-Op под названием Epsilon, который обещает наименьшие возможные накладные расходы на сборку мусора .

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

2. Быстрый практический опыт

Давайте начнем с того, что запачкаем руки и попробуем Epsilon GC!

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

1. Обзор

В этой статье мы кратко рассмотрим Project Loom . По сути, основной целью Project Loom является поддержка высокопроизводительной и облегченной модели параллелизма в Java.

2. Проект Ткацкий станок

Project Loom — это попытка сообщества OpenJDK представить облегченную конструкцию параллелизма в Java. Прототипы Loom до сих пор вносили изменения в JVM, а также в библиотеку Java.

Хотя для Loom еще нет запланированного выпуска, мы можем получить доступ к последним прототипам на вики Project Loom .

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

1. Обзор

При запуске виртуальной машины Java (JVM) мы можем определить различные свойства, которые изменят поведение нашей JVM. Одним из таких свойств является java.security.egd.

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

2. Что такое java.security.egd ?

В качестве свойства JVM мы можем использовать java.security.egd , чтобы повлиять на инициализацию класса SecureRandom .