
虚拟机
笔记
Java大角牛
这个作者很懒,什么都没留下…
展开
-
Java虚拟机的双亲委派模型的工作过程以及为什么要使用这种模型?
首先说一下它的工作过程:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求都应该传送到最顶层的启动类加载器中,只有当父加载器反馈自己确实无法完成这个加载请求(它的搜索范围内没有找到所需的类)的时候,子加载器才会尝试自己去完成加载。...原创 2022-08-07 16:32:58 · 278 阅读 · 0 评论 -
Vagrant中虚拟机centos的/dev/sda1突然爆满问题解决纪录
项目场景:首先项目中使用vagrant 和docker ,docker中有mysql的容器。问题描述今天在连接数据库时,突然数据库服务挂掉。没有截图,下文会进行文字分析。原因分析:首先想到是不是主机或者vagrant防火墙的问题经过测试后发现,本机和vagrant 的ip都可以互相ping 通,说明不是二者防火墙的问题。然后试着重启vagrant , 首先vagrant up启动虚拟机,此时报了一个内存不足的错,但我没有理会,大意了,没有闪,然后使用vagran原创 2022-05-01 22:12:43 · 1793 阅读 · 2 评论 -
虚拟机中垃圾回收算法的分代收集理论
当代的虚拟机的垃圾收集器,大多数都遵循了分代收集理论,分别建立在以下几个假说之上:弱分代假说:绝大多数对象都是朝生夕灭。 强分代假说:熬过越多次垃圾收集过程的对象就越难以消亡。 由上面两个分代假说共同奠定了常用垃圾收集器的一致的设计原则,也就是分代,将堆划分出不同的区域,然后将对象依据年龄(年龄指的是对象熬过垃圾收集过程的次数,年龄为15会进入老年代)分配到不同的区域中存储。这里可以发现,如果一个区域的大多数对象都是朝生夕灭,难以熬过垃圾收集过程的话,那么将它们集中在一起,每次回收时就可...原创 2022-04-10 22:27:26 · 678 阅读 · 0 评论 -
虚拟机新生代复制算法笔记
首先为什么新生代和老年代的区域比不是一比一?首先虚拟机中的对象大部分都是朝生夕灭的,新生代中的对象会有98%熬不过第一轮收集。因此并不需要按照1:1的比例来划分新生代的内存空间。简述一下新生代的内存布局。 新生代的区域会被分为一块较大的Eden空间和两块较小的Survivor空间。每次分配内存只使用Eden和一块Survivor。发生垃圾收集时,会将Eden和一块Survivor中的存活对象复制进另一块Survivor空间上,然后清理掉Eden和用过的Survivor。 ...原创 2022-04-12 20:31:55 · 479 阅读 · 0 评论