#大家还记得JVM中堆的结构图吗? 图中展示了堆中三个区域:Eden、From Survivor、To Survivor。从图中可以也可以看到它们的大小比例,准确来说是:8:1:1。为什么要这样设计呢,本篇文章后续会给出解答,还是根据垃圾回收的具体情况来设计的。 还记得在设置JVM时,常用的类似-X ...
分类:
编程语言 时间:
2021-06-08 22:24:11
阅读次数:
0
垃圾回收机制 分代回收理论 新生代:绝大部分的对象都是朝生夕死 老年代:熬过多次垃圾回收的对象就越难回收 GC 分类 新生代回收(Minor GC/Young GC) 老年代回收(Major GC/Old GC) 只有 CMS 垃圾回收器会有这个单独的回收老年代的行为 Major GC 有说指是老年 ...
分类:
其他好文 时间:
2021-04-07 10:38:11
阅读次数:
0
1. 什么是go语言 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态 、强类型、编译型语言 。Go 语言语法与 C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 ...
分类:
其他好文 时间:
2020-10-05 21:47:49
阅读次数:
19
1.极简单的部署方式 直接编译成机器码、不依赖其他库、直接运行即可部署。 2.静态类型语言 编译的时候检查出来隐藏的大多数问题 3.语言层面的并发 天生的基因支持、充分利用多核 4.强大的标准库 runtime系统调度机制、高效的GC垃圾回收、丰富的标准库 5.简单易学 25个关键字、C语言基因,内 ...
分类:
其他好文 时间:
2020-09-17 13:31:42
阅读次数:
24
面向对象 面向对象思维方式是一种更符合人们思考习惯的思想 面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。 面向对象思维方式将复杂的问题简单化。 定义类的格式 public class 类名 { //可编写0至n个属性 数据类型 变量名1; 数据 ...
分类:
编程语言 时间:
2020-07-03 19:14:43
阅读次数:
57
Java后端开发学习路线 编程基础 Java语言 语言基础 基础语法 面向对象 接口 容器 异常 泛型 反射 注解 I/O 图形化(如Swing) JVM 类加载机制 字节码执行机制 jvm内存模型 GC垃圾回收 jvm性能监控与故障定位 jvm调优 并发/多线程 并发编程基础 线程池 锁 并发容器 ...
分类:
编程语言 时间:
2020-06-28 18:20:44
阅读次数:
123
Java专题二十二:垃圾回收(GC) 22.1. 垃圾回收算法 22.1.1. 复制算法 复制算法将内存按容量划分为大小相等的两块,每次只使用其中的一块,当这一块内存用完了,就将还存活着的对象复制到另一块上面,然后再把已经使用过的内存空间一次清理掉 22.1.2. 标记-清除算法 标记-清除算法将垃 ...
分类:
编程语言 时间:
2020-06-15 17:25:41
阅读次数:
53
前言 我们都知道Java的垃圾回收并不需要程序员主动的去写代码回收内存,JVM会自动的帮我们去回收内存,既然JVM会自动帮我们进行内存回收,那是不是就不会出现内存不足的情况,显然不是的。即使JVM帮我们进行回收,但是还是有可能出现内存溢出。下面主要将JVM GC(垃圾回收机制)分为几个部分:对象是否 ...
分类:
其他好文 时间:
2020-06-08 00:47:32
阅读次数:
54
GC 几个算法 标记 - 清理 会产生内存碎片 标记 - 整理 : 清除一个地方的内容,后面的内容自动补上 缺点: 代价太大了 复制算法: 将整个内存一分为二,分别记为1区2区。 当一个区快满的时候,把还没有被标记的内容复制到另外一个区,被标记的代表要删除的,就不用复制了。然后把当前区的内容全部清除 ...
分类:
其他好文 时间:
2020-05-31 20:11:39
阅读次数:
91
GC垃圾回收 JVM大部分时候回收的都是新生代(伊甸区+幸存0区+幸存1区)。按照回收的区域可以分成两种类型:Minor GC和Full GC(MajorGC)。 Minor GC:只针对新生代区域的GC,大多数Java对象的存活率都不高,Minor GC非常频繁,回收速度快。 Full GC:发生 ...
分类:
编程语言 时间:
2020-05-31 11:03:11
阅读次数:
74