<commit_before>---

layout: post
title: java gc
category: 技术
tags: Jvm
keywords: GC

---

## 简介

Garbage collection is the JVM's process of freeing up unused Java objects in the Java heap.The Java heap is where the objects of a Java program live. It is a repository for live objects, dead objects, and free memory. When an object can no longer be reached from any pointer in the running program, it is considered "garbage" and ready for collection.

有一个梗：说在食堂里吃饭，吃完把餐盘端走清理的是 C++ 程序员，吃完直接就走的是 Java 程序员。

不同的区域存储不同性质的数据，除了程序计数器区域不会OOM外，其它的都有可能因为存储本区域数据过多而OOM。

jvm 提供自动垃圾回收机制，但免费的其实是最贵的，一些追求性能的框架会自己进行内存管理。[资源的分配与回收——池](http://qiankunli.github.io/2016/06/17/pool.html)

## 内存回收

**所谓gc 就是一个内存管理、分配与回收的问题**，因此可以跟操作系统的 内存分配回收 做一个对比。

[深入理解 Java G1 垃圾收集器](http://blog.jobbole.com/109170/)

回收分两步：<commit_msg>[fix]<commit_after>---

layout: post
title: java gc
category: 技术
tags: JVM
keywords: GC

---

## 简介

Garbage collection is the JVM's process of freeing up unused Java objects in the Java heap.The Java heap is where the objects of a Java program live. It is a repository for live objects, dead objects, and free memory. When an object can no longer be reached from any pointer in the running program, it is considered "garbage" and ready for collection.

有一个梗：说在食堂里吃饭，吃完把餐盘端走清理的是 C++ 程序员，吃完直接就走的是 Java 程序员。

不同的区域存储不同性质的数据，除了程序计数器区域不会OOM外，其它的都有可能因为存储本区域数据过多而OOM。

jvm 提供自动垃圾回收机制，但免费的其实是最贵的，一些追求性能的框架会自己进行内存管理。[资源的分配与回收——池](http://qiankunli.github.io/2016/06/17/pool.html)

## 内存回收

**所谓gc 就是一个内存管理、分配与回收的问题**，因此可以跟操作系统的 内存分配回收 做一个对比。

[深入理解 Java G1 垃圾收集器](http://blog.jobbole.com/109170/)

回收分两步：
{'fraction_non_alphanumeric': 0.0951188986232791, 'fraction_numerical': 0.01877346683354193, 'mean_word_length': 5.079847908745247, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5434998', 'n_tokens_mistral': 844, 'n_tokens_neox': 914, 'n_words': 185}