
jvm
文章平均质量分 80
济海河神
这个作者很懒,什么都没留下…
展开
-
JVM常用垃圾回收器的特性与使用场景
JVM常用垃圾回收器的特性与使用场景jvm垃圾回收器是GC算法的具体实现。常用的垃圾回收器有以下几种,并且分别针对的是堆内存中的新生代、老年代。值得一提的是方法区(有的文章也将之称为永久代,主要存放类信息、常量池、静态类变量等)也会触发GC,主要是回收不可存活的常量对象以及无用类(当该类在程序中不再存在任何实例、对应的classloader被卸载、该类的类对象class不被任何地方引用,此时可以被回收)。1.Serial垃圾回收器简要概括下该回收器的特点:单线程,基于复制算法,JVM运行在C原创 2022-02-06 22:56:08 · 1119 阅读 · 0 评论 -
java种对象的创建过程、何时创建成功、对象布局以及访问方式
对象的创建过程先上个大概的过程:理解Java中对象实例化过程是很重要的,实例化过程主要步骤如下:第1步:在创建类之前,检查类是否加载(是将硬盘上的.class文件加载到内存中),如果没有加 载就加载这个类,在这个类加载之前要加载所有父类。 Java运行时采用的策略:懒惰式加载(按需加载):如果第一次用到就加载,只加载一次。通过CLASSPATH指定的路径寻找类文件(.class),加载以后是一个对象,类型是Class。第2步:在内存堆中分配对象空间。递归分配所有父类和子类属性空间。 属性默认原创 2020-09-10 10:20:06 · 325 阅读 · 0 评论 -
JVM中解决MinorGC扫描全堆的方法
JVM中解决MinorGC扫描全堆的方法极客时间郑雨迪老师的《深入拆解Java虚拟机》的解释MinorGC的是当新生代不够时触发的GC算法,它的好处就是不用堆整个堆进行垃圾回收或者扫描,但是如果当老年代的对象引用到新生代的对象,在判断对象是否存活时,采用了GC Roots可达性分析,需要标记存活对象,照这个道理,JVM还是需要扫描老年代,也就是扫描整个堆了。这不前后矛盾了嘛。那么JVM是怎么做的呢?JVM内部维持了一个卡表(Card Table)技术,将整个堆分为大小512字节的若干卡,并且通过一个卡原创 2020-05-13 11:17:17 · 827 阅读 · 0 评论 -
JVM常用垃圾回收器的特性与使用场景
JVM常用垃圾回收器的特性与使用场景jvm垃圾回收器是GC算法的具体实现。常用的垃圾回收器有以下几种,并且分别针对的是堆内存中的新生代、老年代。值得一提的是方法区(有的文章也将之称为永久代,主要存放类信息、常量池、静态类变量等)也会触发GC,主要是回收不可存活的常量对象以及无用类(当该类在程序中不再存在任何实例、对应的classloader被卸载、该类的类对象class不被任何地方引用,此时可以被回收)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-us5yrd8j-15原创 2020-05-10 12:47:07 · 342 阅读 · 0 评论