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

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

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

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

1. Обзор

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

2. Что такое подделка бревен?

Согласно OWASP , подделка логов — одна из самых распространенных техник атак.

Уязвимости подделки журнала возникают, когда данные поступают в приложение из ненадежного источника или данные записываются в файл журнала приложения/системы каким-либо внешним объектом.

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

1. Введение

В этом кратком руководстве мы узнаем, что вызывает ошибку среды выполнения Java java.lang.UnsupportedClassVersionError: Unsupported major.minor version и как ее исправить.

2. Взгляд на ошибку

Начнем с примера ошибки:

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

1. Обзор

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

2. Флаги ведения журнала сборщика мусора в Java 8 и более ранних версиях

Во-первых, давайте рассмотрим флаги JVM, связанные с ведением журнала GC в версиях Java до Java 9.

2.1. -XX:+ПечатьГК

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

1. Обзор

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

Во-первых, мы рассмотрим различные типы алгоритмов GC. После этого мы увидим, как циклические ссылки обрабатываются в JVM.

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

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

2. Подсчет ссылок

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

1. Обзор

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

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

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

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

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

1. Введение

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

2. Понимание проблем при сборке мусора

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

2.1. Соображения для сборщика мусора

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

1. Введение

В этом руководстве мы узнаем, как настроить размер кучи при запуске приложения Spring Boot. Мы будем настраивать параметры -Xms и -Xmx , которые соответствуют начальному и максимальному размеру кучи.

Затем мы сначала будем использовать Maven для настройки размера кучи при запуске приложения с помощью mvn в командной строке. Мы также рассмотрим, как мы можем установить эти значения с помощью подключаемого модуля Maven. Затем мы упакуем наше приложение в файл jar и запустим его с параметрами JVM, предоставленными команде java -jar .

Наконец, мы создадим файл .conf , который устанавливает JAVA_OPTS , и запустим наше приложение как службу, используя технику Linux System V Init.

2. Запуск от Maven

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

1. Введение

Когда мы компилируем файл .java , мы получаем отдельный файл класса с расширением .class . Файл .class состоит из нескольких разделов, одним из которых является постоянный пул.

В этом кратком руководстве мы рассмотрим детали постоянного пула. Кроме того, мы увидим, какие типы он поддерживает и как он форматирует информацию.

2. Постоянный пул в Java

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

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

1. Введение

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

2. Что такое внутренние качества?

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

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

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

1. Введение

В этой статье мы рассмотрим различия между виртуальной машиной Java (JVM) и виртуальной машиной Dalvik (DVM) . Сначала мы кратко рассмотрим каждый из них, а затем проведем сравнение.

Обратите внимание, что начиная с Android 5.0 виртуальная машина Dalvik была заменена средой выполнения Android (ART).

2. Что такое среда выполнения?

Система выполнения предоставляет среду для перевода кода, написанного на языке высокого уровня, таком как Java, в машинный код , понятный центральному процессору (ЦП).