![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 63
_蓝天IT_
让亿万孩子同在蓝天下共享优质教育
展开
-
JVM参数:标准参数【-help 固定的】、非标准参数【非固定-X查看 多是内存】、不稳定参数【-G多是收集器 日志】
在JVM调整过程中,主要是对JVM参数做调整。JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改可以满足大多数情况。但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的。JVM参数主要分为以下三种:标准参数、非标准参数、不稳定参数。下面我们就来对JVM参数进行介绍。原创 2024-02-28 23:15:47 · 393 阅读 · 0 评论 -
JVM相关工具【jps、jstat、jinfo、jmap、jhat、jstack、VisualVM、GCEasy、MAT、GCViewer、Arthas】
转自 《极客时间》原创 2024-02-28 10:55:25 · 625 阅读 · 0 评论 -
JVM垃圾收集器【如何找到垃圾、清除垃圾的算法、垃圾回收器】
引用计数法和根可达算法。原创 2024-02-25 13:53:45 · 457 阅读 · 0 评论 -
对象怎样才会进入老年代?
空间担保机制:当新生代无法分配内存的时候,我们想把新生代的老对象转移到老年代,然后把新对象放入腾空的新生代。此种机制我们称之为内存担保。-XX:PretenureSizeThreshold 对象超过多大直接在老年代分配,默认值为0,不限制。-XX:SurvivorRatio=8 新生代中,Eden与两个Survivor区域比值。-XX:+PrintGCDetails 打印详细GC日志。-XX:NewRatio=2 新生代与老年代比值。原创 2024-02-24 21:20:57 · 486 阅读 · 0 评论 -
聊聊JVM运行时数据区的堆内存
它是虚拟机管理最大的,也是垃圾回收的主要内存区域。Java堆在JVM启动时。原创 2024-02-24 20:47:38 · 892 阅读 · 0 评论 -
JVM对象的创建流程与内存分配
JVM在第一次给线程中的对象分配内存时,首先使用CAS进行TLAB的分配。当对象大于TLAB中的剩余内存或TLAB的内存已用尽时,再采用上述的CAS进行内存分配。在分配内存的时候,虚拟机给A线程分配内存过程中,指针未修改。此时B线程同时使用了同样一块内存。是不是就出现了线程的安全性问题?内存分配的方法有两种:不同垃圾收集器不一样。原创 2024-02-20 18:47:21 · 753 阅读 · 0 评论 -
JVM运行时数据区
整个JVM构成里面,由三部分组成:类加载系统、运行时数据区、执行引擎。原创 2024-02-20 14:22:49 · 1138 阅读 · 0 评论 -
双亲委派模型与打破双亲委派
当一个类加载器收到类加载任务,会先交给其父类加载器去完成。因此,最终加载任务都会传递到 顶层的启动类加载器,只有当父类加载器无法完成加载任务时,子类才会尝试执行加载任务。原创 2024-02-20 13:30:21 · 611 阅读 · 0 评论 -
自定义类加载器案例
(2)使用 javac Test.java 命令,将生成的 Test.class 文件放到 D:/lib/com/hero/jvm/classloader 文件夹下。自定义类加载器,加载指定路径在D盘下的lib文件夹下的类。新建一个需要被加载的类Test.jave。编译Test.jave到指定lib目录。原创 2024-02-20 09:59:51 · 362 阅读 · 0 评论