vault backup: 2024-09-01 20:49:54

This commit is contained in:
Struchkov Mark 2024-09-01 20:49:54 +03:00
parent cbd06fa7e4
commit e156bccd0a
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
75 changed files with 161 additions and 153 deletions

View File

@ -24,20 +24,24 @@
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "wiki/zero/00 Разработка.md", "filepath": "garden/ru/meta/zero/00 Java разработка.md",
"timestamp": 1725212505883 "timestamp": 1725212987896
},
{
"filepath": "garden/ru/dev/java/gc/Garbage Collector.md",
"timestamp": 1725212939342
}, },
{ {
"filepath": "garden/ru/index.md", "filepath": "garden/ru/index.md",
"timestamp": 1725211577159 "timestamp": 1725212936552
}, },
{ {
"filepath": "garden/ru/files/digital-garden.png", "filepath": "garden/ru/meta/zero/00 Разработка.md",
"timestamp": 1725212879708
},
{
"filepath": "garden/ru/meta/files/digital-garden.png",
"timestamp": 1725211559462 "timestamp": 1725211559462
},
{
"filepath": "knowledge/english/Полезные фразы.md",
"timestamp": 1725211104506
} }
], ],
"bookmarkedFileStore": [], "bookmarkedFileStore": [],

View File

@ -1,16 +1,24 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "00 Разработка", "basename": "00 Java разработка",
"path": "garden/ru/meta/zero/00 Разработка.md" "path": "garden/ru/meta/zero/00 Java разработка.md"
},
{
"basename": "Garbage Collector",
"path": "garden/ru/dev/java/gc/Garbage Collector.md"
}, },
{ {
"basename": "index", "basename": "index",
"path": "garden/ru/index.md" "path": "garden/ru/index.md"
}, },
{
"basename": "00 Разработка",
"path": "garden/ru/meta/zero/00 Разработка.md"
},
{ {
"basename": "digital-garden", "basename": "digital-garden",
"path": "garden/ru/files/digital-garden.png" "path": "garden/ru/meta/files/digital-garden.png"
}, },
{ {
"basename": "Полезные фразы", "basename": "Полезные фразы",
@ -48,18 +56,10 @@
"basename": "Home", "basename": "Home",
"path": "Home.md" "path": "Home.md"
}, },
{
"basename": "Garbage Collector",
"path": "knowledge/dev/java/gc/Garbage Collector.md"
},
{ {
"basename": "Garbage First", "basename": "Garbage First",
"path": "knowledge/dev/java/gc/Garbage First.md" "path": "knowledge/dev/java/gc/Garbage First.md"
}, },
{
"basename": "00 Java разработка",
"path": "wiki/zero/00 Java разработка.md"
},
{ {
"basename": "Скрипты для Git", "basename": "Скрипты для Git",
"path": "knowledge/dev/Скрипты для Git.md" "path": "knowledge/dev/Скрипты для Git.md"

View File

@ -6,7 +6,7 @@ date:
- - 2024-04-07 - - 2024-04-07
zero-link: zero-link:
- "[[00 Алгоритмы]]" - "[[00 Алгоритмы]]"
- "[[00 Java разработка]]" - "[[../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Бинарный поиск]]" - "[[Бинарный поиск]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2024-04-07 - - 2024-04-07
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
link: https://struchkov.dev/blog/ru/java-debugging-annotation-processor/ link: https://struchkov.dev/blog/ru/java-debugging-annotation-processor/

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2024-04-07 - - 2024-04-07
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
link: https://struchkov.dev/blog/ru/multiple-connections-to-h2/ link: https://struchkov.dev/blog/ru/multiple-connections-to-h2/

View File

@ -9,7 +9,7 @@ tags:
- зрелость/🌿 - зрелость/🌿
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../meta/zero/00 Java разработка|00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -11,8 +11,11 @@ title: Struchkov's Digital Garden
Основная идея цифрового сада — это процесс, а не результат. Здесь можно увидеть черновики мыслей, промежуточные этапы работы над проектами и идеи, которые ещё только ждут своего часа. Всё связано между собой гипер-ссылками, создавая сеть знаний, которую можно изучать и расширять. Основная идея цифрового сада — это процесс, а не результат. Здесь можно увидеть черновики мыслей, промежуточные этапы работы над проектами и идеи, которые ещё только ждут своего часа. Всё связано между собой гипер-ссылками, создавая сеть знаний, которую можно изучать и расширять.
![digital-garden](files/digital-garden.png) ![digital-garden](meta/files/digital-garden.png)
## Zero Links
- [Разработка](meta/zero/00%20Разработка.md)
- [Java разработка](meta/zero/00%20Java%20разработка.md)
## Чего стоит избегать ## Чего стоит избегать
> [!WARNING] DISCLAMER > [!WARNING] DISCLAMER
> Приветствуются комментарии по теме заметки для улучшения и исправления фактических ошибок. Но ==не стоит указывать на грамматические ошибки или опечатки.== В первую очередь это мои заметки, которые можн > Приветствуются комментарии по теме заметки для улучшения и исправления фактических ошибок. Но ==не стоит указывать на грамматические ошибки или опечатки.== В первую очередь это мои заметки, которые можн

View File

Before

Width:  |  Height:  |  Size: 551 KiB

After

Width:  |  Height:  |  Size: 551 KiB

View File

@ -0,0 +1,7 @@
---
tags:
- type/zero-link
parents:
- "[[00 Разработка]]"
---
- [Garbage Collector](gc/Garbage%20Collector.md)

View File

@ -3,3 +3,4 @@ tags:
- type/zero-link - type/zero-link
title: Разработка title: Разработка
--- ---
- [Java разработка](00%20Java%20разработка.md)

View File

@ -6,7 +6,7 @@ tags:
date: date:
- - 2024-03-03 - - 2024-03-03
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
- "[[00 Криптография]]" - "[[00 Криптография]]"
parents: parents:
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Архитектура JVM]]" - "[[Архитектура JVM]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[Java 8 LTS|java 8]]" - "[[Java 8 LTS|java 8]]"

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-15 - - 2023-11-15
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -6,7 +6,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -6,7 +6,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[JDK 17]]" - "[[JDK 17]]"

View File

@ -5,7 +5,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -5,7 +5,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[JDK 8]]" - "[[JDK 8]]"

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -6,7 +6,7 @@ tags:
date: date:
- - 2023-11-22 - - 2023-11-22
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[Java Разработка]]" - "[[Java Разработка]]"

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[JVM]]" - "[[JVM]]"
linked: linked:

View File

@ -4,11 +4,11 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: 2023-11-12 date: 2023-11-12
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---
Safe Point — это такая точка в выполнении программы, в которой все потоки приложения находятся в известных и устойчивых состояниях, что позволяет [сборщику мусора](Garbage%20Collector.md) безопасно анализировать и изменять структуры данных памяти, такие как куча (heap). Safe Point — это такая точка в выполнении программы, в которой все потоки приложения находятся в известных и устойчивых состояниях, что позволяет [сборщику мусора](../../../garden/ru/dev/java/gc/Garbage%20Collector.md) безопасно анализировать и изменять структуры данных памяти, такие как куча (heap).
Во время выполнения программы на Java, потоки могут быть остановлены сборщиком мусора, чтобы обеспечить согласованность данных в памяти. Однако останавливать их можно только в определённых местах, которые называются Safe Points. Это необходимо для того, чтобы гарантировать, что потоки не находятся в середине операции, которая может изменять состояние памяти, и для того, чтобы у сборщика мусора была возможность корректно анализировать достижимые объекты и ссылки между ними. Во время выполнения программы на Java, потоки могут быть остановлены сборщиком мусора, чтобы обеспечить согласованность данных в памяти. Однако останавливать их можно только в определённых местах, которые называются Safe Points. Это необходимо для того, чтобы гарантировать, что потоки не находятся в середине операции, которая может изменять состояние памяти, и для того, чтобы у сборщика мусора была возможность корректно анализировать достижимые объекты и ссылки между ними.

View File

@ -6,7 +6,7 @@ tags:
date: date:
- - 2024-03-03 - - 2024-03-03
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -10,7 +10,7 @@ tags:
date: date:
- - 2024-03-03 - - 2024-03-03
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Java Фреймворки]]" - "[[Java Фреймворки]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: 2023-11-15 date: 2023-11-15
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Java Фреймворки]]" - "[[Java Фреймворки]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-22 - - 2023-11-22
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[00 Hibernate]]" - "[[00 Hibernate]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-22 - - 2023-11-22
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Quarkus]]" - "[[Quarkus]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-22 - - 2023-11-22
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Quarkus]]" - "[[Quarkus]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-10-31]]" date: "[[2023-10-31]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Quarkus]]" - "[[Quarkus]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Снипеты на Java]]" - "[[Снипеты на Java]]"
linked: linked:

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Этот алгоритм пытается собирать мусор в то же время, когда работает приложение, чтобы уменьшить влияние сбора мусора на производительность приложения. Этот алгоритм пытается собирать мусор в то же время, когда работает приложение, чтобы уменьшить влияние сбора мусора на производительность приложения.

View File

@ -6,9 +6,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: [] linked: []
--- ---
Появился в [Java 7](Java%207.md) и использует [Generational Collection](Generational%20Collection.md). Появился в [Java 7](Java%207.md) и использует [Generational Collection](Generational%20Collection.md).

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Mark and Sweep]]" - "[[Mark and Sweep]]"
--- ---

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
- Появился в [Java 11](Java%2011), но остался в статусе экспериментального - Появился в [Java 11](Java%2011), но остался в статусе экспериментального

View File

@ -5,9 +5,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Можно сказать, что этот сборщик пришел на замену [CMS](Concurrent%20Mark%20Sweep.md) в [Java 9](Java%209.md). Также, как и остальные сборщики использует подход [Generational Collection](Generational%20Collection.md), однако Heap разделяется не на большие части Young, Old, а на небольшие равные регионы. Можно сказать, что этот сборщик пришел на замену [CMS](Concurrent%20Mark%20Sweep.md) в [Java 9](Java%209.md). Также, как и остальные сборщики использует подход [Generational Collection](Generational%20Collection.md), однако Heap разделяется не на большие части Young, Old, а на небольшие равные регионы.
@ -30,13 +30,13 @@ linked:
> >
> В [[Java 11]] были внесены изменения в обработку больших объектов. > В [[Java 11]] были внесены изменения в обработку больших объектов.
## Minor Collection ## Minor Collection
Minor сборка обычно происходит, когда eden заполняется. Над [minor](Garbage%20Collector.md#^minor) сборками мусора работают несколько потоков. Но очистка выполняется не на всем поколении, а только на регионах молодого поколения. За счет этого количество [StopTheWorld](StopTheWorld.md) становится больше, но сборка выполняется быстрее и не превышает желаемое время. Minor сборка обычно происходит, когда eden заполняется. Над [minor](../../../../garden/ru/dev/java/gc/Garbage%20Collector.md#^minor) сборками мусора работают несколько потоков. Но очистка выполняется не на всем поколении, а только на регионах молодого поколения. За счет этого количество [StopTheWorld](StopTheWorld.md) становится больше, но сборка выполняется быстрее и не превышает желаемое время.
## Mixed Collection ## Mixed Collection
Mixed сборка обрабатывает как молодое поколение, так и часть старого поколения. Эта запускается после определенного количества minor сборок. Mixed сборка обрабатывает как молодое поколение, так и часть старого поколения. Эта запускается после определенного количества minor сборок.
В G1 существует процесс, называемый Marking Cycle, который работает параллельно с основным приложением и составляет список живых объектов. Он напоминает работу сборщика [CMS](Concurrent%20Mark%20Sweep.md). В G1 существует процесс, называемый Marking Cycle, который работает параллельно с основным приложением и составляет список живых объектов. Он напоминает работу сборщика [CMS](Concurrent%20Mark%20Sweep.md).
- **Initial mark.** Пометка [GC Root](Garbage%20Collector.md#^gcroot) с использованием информации от [minor](Garbage%20Collector.md#^minor) сборок. - **Initial mark.** Пометка [GC Root](../../../../garden/ru/dev/java/gc/Garbage%20Collector.md#^gcroot) с использованием информации от [minor](../../../../garden/ru/dev/java/gc/Garbage%20Collector.md#^minor) сборок.
- В [Java 10](Java%2010.md) были внедрены улучшения. Параллельная пометка и улучшенное использование ресурсов процессора. - В [Java 10](Java%2010.md) были внедрены улучшения. Параллельная пометка и улучшенное использование ресурсов процессора.
- **Concurrent marking.** Пометка всех живых объектов в heap. Работает в нескольких потоках. - **Concurrent marking.** Пометка всех живых объектов в heap. Работает в нескольких потоках.
- **Remark.** Дополнительный поиск не учтенных ранее живых объектов. Используется [StopTheWorld](StopTheWorld.md) - **Remark.** Дополнительный поиск не учтенных ранее живых объектов. Используется [StopTheWorld](StopTheWorld.md)
@ -76,7 +76,7 @@ G1 копирует объекты из одной или нескольких
- Работает только, когда идет фоновая сборка мусора. - Работает только, когда идет фоновая сборка мусора.
- Сохраняет старое значение поля - Сохраняет старое значение поля
- Поддерживается корректность фоновой маркировки - Поддерживается корректность фоновой маркировки
- [SATB](Garbage%20Collector.md#^satb) - [SATB](../../../../garden/ru/dev/java/gc/Garbage%20Collector.md#^satb)
- Post-barrier - Post-barrier
- Поддержка актуальности Remembered Set - Поддержка актуальности Remembered Set
- Не срабатывают, когда мы модифицируем указатель из молодого объекта в молодой - Не срабатывают, когда мы модифицируем указатель из молодого объекта в молодой

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Этот алгоритм основан на нескольких идеях. Этот алгоритм основан на нескольких идеях.
@ -36,7 +36,7 @@ linked:
Конкретно в Hotspot, если объект большой (1+ mb) он может быть сразу помещен в Old Generation. А новые объекты создаются в области eden, если объект переживает сборку мусора, то он переносится в область s0, если переживает сборку в s0, переносится в s1, после чего переносится в Old Generation. Конкретно в Hotspot, если объект большой (1+ mb) он может быть сразу помещен в Old Generation. А новые объекты создаются в области eden, если объект переживает сборку мусора, то он переносится в область s0, если переживает сборку в s0, переносится в s1, после чего переносится в Old Generation.
Если eden заполнен, то выполняется [minor](Garbage%20Collector.md#^minor) сборка мусора. Если eden заполнен, то выполняется [minor](../../../../garden/ru/dev/java/gc/Garbage%20Collector.md#^minor) сборка мусора.
При сборке только в молодом поколении есть проблема: мы можем удалить объект в молодом поколении, на который ссылаются из старого поколения. В [Serial GC](Serial%20GC.md)/[Parallel GC](Parallel%20GC.md) для решения этой проблемы используют специальную структуру Card Table. При записи ссылки из старого поколения в молодое, в Card Table делается пометка. Эта пометка означает, что в такой-то области старого поколения может быть ссылка на молодое. То есть это не точное знание, а маркер, который говорит нам проверить какую-то область памяти на наличие ссылок. При сборке только в молодом поколении есть проблема: мы можем удалить объект в молодом поколении, на который ссылаются из старого поколения. В [Serial GC](Serial%20GC.md)/[Parallel GC](Parallel%20GC.md) для решения этой проблемы используют специальную структуру Card Table. При записи ссылки из старого поколения в молодое, в Card Table делается пометка. Эта пометка означает, что в такой-то области старого поколения может быть ссылка на молодое. То есть это не точное знание, а маркер, который говорит нам проверить какую-то область памяти на наличие ссылок.

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Этот алгоритм пытается разбить задачу сбора мусора на меньшие части, чтобы уменьшить паузы ([StopTheWorld](StopTheWorld.md)), вызванные сбором мусора. Этот алгоритм пытается разбить задачу сбора мусора на меньшие части, чтобы уменьшить паузы ([StopTheWorld](StopTheWorld.md)), вызванные сбором мусора.

View File

@ -7,7 +7,7 @@ zero-link:
- "[[../../../../garden/ru/meta/zero/00 Разработка]]" - "[[../../../../garden/ru/meta/zero/00 Разработка]]"
parents: parents:
linked: linked:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
--- ---
Этот алгоритм является альтернативой [SATB](Snapshot%20at%20the%20beginning%20(SATB).md) и отслеживает изменения, происходящие после начала фазы маркировки. Этот алгоритм является альтернативой [SATB](Snapshot%20at%20the%20beginning%20(SATB).md) и отслеживает изменения, происходящие после начала фазы маркировки.

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Mark and Sweep]]" - "[[Mark and Sweep]]"
--- ---

View File

@ -5,9 +5,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Mark and Compact]]" - "[[Mark and Compact]]"
--- ---

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Этот алгоритм использует несколько потоков для выполнения сбора мусора, что может ускорить процесс на многоядерных процессорах. Этот алгоритм использует несколько потоков для выполнения сбора мусора, что может ускорить процесс на многоядерных процессорах.

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
В отличие от [Parallel GC](Parallel%20GC.md) ([Generational Collection](Generational%20Collection.md), [Copy Collector](Copy%20Collector.md), [Mark and Compact](Mark%20and%20Compact.md), [Parallel Collection](Parallel%20Collection.md)) этот сборщик уже умеет работать в параллельном режиме как с областью Young Generation, так и с областью Old Generation. В отличие от [Parallel GC](Parallel%20GC.md) ([Generational Collection](Generational%20Collection.md), [Copy Collector](Copy%20Collector.md), [Mark and Compact](Mark%20and%20Compact.md), [Parallel Collection](Parallel%20Collection.md)) этот сборщик уже умеет работать в параллельном режиме как с областью Young Generation, так и с областью Old Generation.

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Serial GC]]" - "[[Serial GC]]"
- "[[Concurrent Mark Sweep|Concurrent Mark Sweep]]" - "[[Concurrent Mark Sweep|Concurrent Mark Sweep]]"

View File

@ -5,9 +5,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Parallel GC]]" - "[[Parallel GC]]"
- "[[Concurrent Mark Sweep|Concurrent Mark Sweep]]" - "[[Concurrent Mark Sweep|Concurrent Mark Sweep]]"

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[ZGC]]" - "[[ZGC]]"
--- ---

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
--- ---
Это временная остановка всех процессов программы для выполнения сборки мусора. При остановке намного проще выполнять сборку мусора. Это временная остановка всех процессов программы для выполнения сборки мусора. При остановке намного проще выполнять сборку мусора.

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-08]]" date: "[[2023-11-08]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Garbage Collector]]" - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]"
linked: linked:
- "[[Shenandoah GC]]" - "[[Shenandoah GC]]"
--- ---

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-22 - - 2023-11-22
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Java Разработка]]" - "[[Java Разработка]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[SpringBoot]]" - "[[SpringBoot]]"

View File

@ -4,7 +4,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Снипеты на Java]]" - "[[Снипеты на Java]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Снипеты на Java]]" - "[[Снипеты на Java]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Снипеты на Java]]" - "[[Снипеты на Java]]"
linked: linked:

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Снипеты на Java]]" - "[[Снипеты на Java]]"
linked: linked:

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---
@ -20,4 +20,4 @@ linked:
## Executor Engine ## Executor Engine
## JIT Compiler ## JIT Compiler
### Garbage Collector ### Garbage Collector
![Garbage Collector](Garbage%20Collector.md) ![Garbage Collector](../../../garden/ru/dev/java/gc/Garbage%20Collector.md)

View File

@ -4,7 +4,7 @@ tags:
date: date:
- - 2024-01-10 - - 2024-01-10
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[JVM]]" - "[[JVM]]"

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: 2023-11-15 date: 2023-11-15
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -5,7 +5,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: 2023-11-15 date: 2023-11-15
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[Maven]]" - "[[Maven]]"

View File

@ -5,7 +5,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
article: https://note.struchkov.dev/sravnieniie-enum-v-java/ article: https://note.struchkov.dev/sravnieniie-enum-v-java/

View File

@ -4,7 +4,7 @@ tags:
date: date:
- - 2023-11-20 - - 2023-11-20
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
article: https://note.struchkov.dev/sravnitie-konstanty-slieva/ article: https://note.struchkov.dev/sravnitie-konstanty-slieva/

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -4,9 +4,9 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---
- [Архитектура JVM](Архитектура%20JVM.md) - [Архитектура JVM](Архитектура%20JVM.md)
- [Garbage Collector](Garbage%20Collector.md) - [Garbage Collector](../../../garden/ru/dev/java/gc/Garbage%20Collector.md)

View File

@ -4,10 +4,10 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-06]]" date: "[[2023-11-06]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---
Создание объекта за редкими исключениями сопровождается вызовом ключевого слова `new`. Далее происходит так называемая аллокация в памяти, под новый объект выделяется область памяти в [Heap](Структура%20памяти%20Java.md#^heap). Если памяти будет не достаточно, то будет предпринята попытка [сборки мусора](Garbage%20Collector.md). Если и это не поможет, то приложение упадет с исключением. Создание объекта за редкими исключениями сопровождается вызовом ключевого слова `new`. Далее происходит так называемая аллокация в памяти, под новый объект выделяется область памяти в [Heap](Структура%20памяти%20Java.md#^heap). Если памяти будет не достаточно, то будет предпринята попытка [сборки мусора](../../../garden/ru/dev/java/gc/Garbage%20Collector.md). Если и это не поможет, то приложение упадет с исключением.
В памяти объект хранится в виде заголовков и содержания. Содержание, это то что указывает разработчик, то ради чего существует объект. А заголовки, это техническая мета-информация, которая нужна для правильного функционирования JVM. В памяти объект хранится в виде заголовков и содержания. Содержание, это то что указывает разработчик, то ради чего существует объект. А заголовки, это техническая мета-информация, которая нужна для правильного функционирования JVM.

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-09]]" date: "[[2023-11-09]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[00 Hibernate]]" - "[[00 Hibernate]]"
linked: linked:

View File

@ -5,10 +5,10 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-11-07]]" date: "[[2023-11-07]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
- "[[Garbage Collector]]" - "[[../../garden/ru/dev/java/gc/Garbage Collector]]"
--- ---
Так называется процесс выделения памяти под новый объект. Так называется процесс выделения памяти под новый объект.

View File

@ -4,7 +4,7 @@ tags:
- зрелость/🌱 - зрелость/🌱
date: "[[2023-10-21]]" date: "[[2023-10-21]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
- "[[Quarkus]]" - "[[Quarkus]]"
linked: linked:

View File

@ -91,7 +91,7 @@ zero-link:
- [ ] Знаешь как устроен стек? - [ ] Знаешь как устроен стек?
- [ ] Можешь рассказать про пул строк? - [ ] Можешь рассказать про пул строк?
- [ ] А есть ли другие пулы? - [ ] А есть ли другие пулы?
### [Garbage Collector](Garbage%20Collector.md) ### [Garbage Collector](../../garden/ru/dev/java/gc/Garbage%20Collector.md)
- **Middle** - **Middle**
- [ ] Объясни принципы работы сборщика мусора в Java. - [ ] Объясни принципы работы сборщика мусора в Java.
- [ ] Когда объект переносится из одной области хипа в другую, что происходит с областью откуда был перемещен объект? - [ ] Когда объект переносится из одной области хипа в другую, что происходит с областью откуда был перемещен объект?

View File

@ -5,7 +5,7 @@ tags:
- type/zero-link - type/zero-link
date: "[[2023-11-09]]" date: "[[2023-11-09]]"
zero-link: zero-link:
- "[[00 Java разработка]]" - "[[../../garden/ru/meta/zero/00 Java разработка]]"
parents: parents:
linked: linked:
--- ---

View File

@ -1,7 +0,0 @@
---
tags:
- type/zero-link
parents:
- "[[../../garden/ru/meta/zero/00 Разработка]]"
---
- [Garbage Collector](knowledge/dev/java/gc/Garbage%20Collector.md)