惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
博客园 - 聂微东
Application and Cybersecurity Blog
Application and Cybersecurity Blog
MyScale Blog
MyScale Blog
罗磊的独立博客
H
Help Net Security
L
LangChain Blog
T
Threat Research - Cisco Blogs
量子位
S
Securelist
Last Week in AI
Last Week in AI
L
Lohrmann on Cybersecurity
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
The Hacker News
The Hacker News
Vercel News
Vercel News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Blog of Author Tim Ferriss
T
Threatpost
Security Latest
Security Latest
P
Palo Alto Networks Blog
Microsoft Security Blog
Microsoft Security Blog
NISL@THU
NISL@THU
F
Full Disclosure
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Heimdal Security Blog
J
Java Code Geeks
Recorded Future
Recorded Future
Hugging Face - Blog
Hugging Face - Blog
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
B
Blog RSS Feed
月光博客
月光博客
C
Cisco Blogs
V
Visual Studio Blog
D
DataBreaches.Net
H
Hacker News: Front Page
博客园 - 叶小钗
N
News and Events Feed by Topic
爱范儿
爱范儿
A
Arctic Wolf

博客园 - 那只狐狸

线程与GC 神奇的Task.WaitALl Redis的淘汰策略 压测工具k6 C#的Lock可以锁什么? SqlServer高性能批量插入 二叉树 二叉搜索树 AVL树 红黑树 线上bug线下很难重现时的一次处理 自动化测试和联调的工具---apifox 事务管理思考 sleep、yield、wait的区别 线程异常 线程 JAVA线程中断 volatile synchronized在线程安全上的区别 jms amqp activemq rabbitmq的区别 servlet不是线程安全的 雪花算法 mysql在海量数据时的处理方案
关于GC
那只狐狸 · 2022-11-05 · via 博客园 - 那只狐狸

1.内存处理的判定指标:内存效率、内存利用率、内存整齐度;也是各种内存回收算法的指标

2.对象是否有存活必要的判定

2.1 引用计数。因为效率低、存在循环引用的问题(A引用B、B引用A 但是其他类都不引用A和B),已淘汰

2.2根搜索算法。从GCRoots根对象开始找引用的对象--->形成引用链,不在引用链上的不可用。GCRoots有

2.2.1虚拟机栈引用的对象

2.2.3方法区静态属性引用的对象

2.2.4方法区常量引用的对象

2.2.5方法栈中原生方法引用的对象

2.3 GC去哪儿找GCRoots?JIT编译器(因为运行时代码都是他生成的 它最熟悉)、GCHandler(被非托管对象引用的对象)、终结器队列

3.GC算法现在普遍使用分代收集法,不同的代使用不同的内存区域,不同的代使用下边不同的活法(年轻的跑来跑去 年老的原地不动)。对象按照大小被分配到不同的代,对象按照是否有存活的必要来决定年龄要不要继续长一岁,对象按照年龄在不同的代中移动

3.1 复制算法

3.2 标记清除法

3.3 标记整理法

对象在内存中漂泊、生生死死,侩子手是GC,DNA是代码,硬盘是睡觉的床,cpu是欲望,一台计算机一个世界,网线是时光机,而造物主就是写代码的人----程序员,,对象 你要不要来陪我吃饭?