Java面试必考题:Minor GC、Major GC、Full GC的区别和联系
堆的最大值默认是1/4
其中 新生代:老年代 = 1:2
然后 Eden : from = 8:1
GC触发条件
GC类型 | 触发条件 | 触发时发生了什么 | 注意 | 查看方式 |
YGC | eden空间不足 | 清空Eden+from survivor中所有no ref的对象占用的内存 重新调整Eden 和from的大小(parallel GC会触发此项) | 全过程暂停应用 是否为多线程处理由具体的GC决定 | jstat –gcutil gc log |
FGC | old空间不足 perm空间不足 显示调用System.GC, RMI等的定时触发 YGC时的悲观策略 dump live的内存信息时(jmap –dump:live) | 清空heap中no ref的对象 permgen中已经被卸载的classloader中加载的class信息 如配置了CollectGenOFirst,则先触发YGC(针对serial GC) 如配置了ScavengeBeforeFullGC,则先触发YGC(针对serial GC) | 全过程暂停应用 是否为多线程处理由具体的GC决定 是否压缩需要看配置的具体GC | jstat –gcutil gc log |
Netty:
官方文档:https://netty.io/wiki/user-guide-for-4.x.html
ECHO示例|:https://netty.io/4.1/xref/io/netty/example/echo/package-summary.html
这个是大神 陈皓的博客网站https://coolshell.cn/
HTTP的前世今生
Java语言:https://coolshell.cn/category/proglanguage/javadev
系统架构:https://coolshell.cn/category/%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84
Redis的五种对象类型及其底层实现
你的 like 语句为啥没索引?
CGroup 介绍、应用实例及原理描述
分布式:
Seata实战-分布式事务简介及demo上手
Seata实战-AT模式分布式事务原理、源码分析
Seata实战-TCC模式分布式事务原理、源码分析
Seata官方教程:http://seata.io/zh-cn/docs/dev/mode/at-mode.html
线程安全
并发编程: