
JVM
文章平均质量分 82
JVM
Knight_AL
这个作者很懒,什么都没留下…
展开
-
JVM_性能优化案例:调整堆大小提高服务的吞吐量
生产环境下,Tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。其中存在大量的Full GC日志,查看一下我们Jmeter汇总报告。原创 2024-02-02 15:58:20 · 555 阅读 · 0 评论 -
JVM_哪些对象可以作为GC Roots
当一个方法被调用时,虚拟机会为该方法创建一个栈帧,栈帧中包含了该方法的局部变量表,其中存储了该方法中定义的所有局部变量及其引用的对象。由于常量是不可变的,因此它们所引用的对象也不会被修改,因此在程序运行期间它们所引用的对象一直都是相同的。方法执行完毕后,虚拟机会将该方法的栈帧出栈,同时也会将其中的局部变量表中引用的对象释放掉,以便垃圾回收器回收这些对象所占用的内存空间。方法区中类静态属性引用的对象是指在 Java 程序中,类的静态属性所引用的对象。类型的对象,因此它是方法区中类静态属性引用的对象。原创 2023-05-14 20:14:19 · 1216 阅读 · 0 评论 -
Java对象创建和内存分配
注意: 在JDK6 Update24之前,-XX:HandlePromotionFailure需要用户自己设置,之后,虽然虚拟机仍有这个参数,但实际上虚拟机不管有没有设置这个值,都会执行相对的规则:只要老年代的连续空间大于新生代对象总大小或历次晋升的平均大小,就会进行Minor GC,否则将进行Full GC。对象创建在虚拟机中是非常频繁的行为,即使是仅仅修改一个指针指向的位置,在并发情况下也并不是线程安全的,可能出现正在给对象A分配内存,指针还没来得及修改,对象B又同时使用了原来的指针来分配内存的情况。原创 2023-05-13 14:49:55 · 1298 阅读 · 0 评论 -
JVM_垃圾回收器
Serial收集器是最基本、历史最悠久的垃圾收集器了。JDK1.3之前回收新生代唯一的选择。Serial收集器作为HotSpot中Client模式下的默认新生代垃圾收集器。Serial 收集器采用复制算法、串行回收和”Stop-the-World”机制的方式执行内存回收。除了年轻代之外,Serial收集器还提供用于执行老年代垃圾收集的Serial Old收集器。Serial Old 收集器同样也采用了串行回收和”Stop the World”机制,只不过内存回收算法使用的是标记-压缩算法。原创 2023-05-06 16:50:43 · 597 阅读 · 0 评论 -
GC回收算法
GC回收算法原创 2022-11-13 13:31:41 · 824 阅读 · 0 评论