标签:jvm
Java性能权威指南学习笔记-1
java性能权威指南学习笔记-1导论jvm调优标志布尔标志-XX:+FlagName 表示开启 -XX:-FlagName 表示关闭附带参数的标志-XX:FlagName=something,表示将标志flagName的值设置为somethingClient和Server类虚拟机java的自动优化前提是机器被分为"Client"和"Serve……
Java性能权威指南学习笔记-2
垃圾收集器入门最主流的四个垃圾收集器Serial收集器(常用于单CPU环境)Throughput(或Parallel)收集器Concurrent收集器(CMS)G1收集器垃圾收集器概述所有应用线程都停止运行所产生的停顿被称为时空停顿(stop-the-world)。垃圾收集由两步构成:查找不再使用的对象,以及释放这些对象所管理的内存。分代垃……
synchronized 锁机制的分析和验证
synchronized 锁机制的分析和验证原文:https://www.moralok.com/2023/12/19/analysis-and-verification-of-the-synchronized-lock-mechanism/本文详细介绍了 java 中 synchronized 锁的机制、存储结构、优化措施以及升级过程,并通过 jo……
JHSDB:基于服务性代理的调试工具
jhsdb:基于服务性代理的调试工具jhsdb是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射java虚拟机运行信息的、主要基于java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出java……
JVM GC 的安全点与安全区域
jvm GC 的安全点与安全区域OopMapjvm 采用的可达性分析法有个缺点,就是从 GC Roots 找引用链耗时。都说他耗时,他究竟耗时在哪里?GC 进行扫描时,需要查看每个位置存储的是不是引用类型,如果是,其所引用的对象就不能被回收;如果不是,那就是基本类型,这些肯定是不会引用对象的;这种对 GC 无用的基本类型的数据非常多,每次 GC 都要……
Java性能权威指南学习笔记-3
原生内存最佳实践内存占用概述jvm也会为内部操作分配一些内存,这些非堆内存就是原生内存应用中也可以分配原生内存(通过JNI调用malloc()和类似方法,或者是使用New I/O,即NIO时)jvm使用的原生内存和堆内存的总量,就是一个应用总的内存占用(Footprint)测量内存占用之所以存在已分配内存和保留内存之分,使用jvm(及所有……
JVM 基础 – JVM 内存结构
jvm 基础 - jvm 内存结构本文主要对jvm 内存结构进行讲解,注意不要和java内存模型混淆了。原先这里放了一篇我自己整理的文章,最近看到海星的javakeeper公众号 整理的文章,整理的很好。所以替换为他的文章,以方便你构筑jvm内存结构的知识体系。@pdai[TOC]运行时数据区内存是非常重要的系统资源,是硬盘和 CPU 的中……
垃圾回收算法是如何设计的?
底层原理:垃圾回收算法是如何设计的?如果大家关注 JDK,会发现在频繁发布的 JDK 版本中,和垃圾回收相关的 JEP (JDK Enhancement Proposals,java 增强提案)越来越多了,垃圾回收(Garbage Collection,GC)正处于方兴未艾的阶段。譬如,在 JEP-248 中 G1 替代了并行垃圾回收器成为 jvm 中默认……
Java虚拟机详解—-垃圾收集器及GC参数
java虚拟机详解----垃圾收集器及GC参数零、堆的回顾:新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survivor空间……
Java虚拟机详解—-GC算法和种类
java虚拟机详解----GC算法和种类一、GC的概念:GC:Garbage Collection 垃圾收集1960年 Lisp使用了GCjava中,GC的对象是java堆和方法区(即永久区)我们接下来对上面的三句话进行一一的解释:(1)GC:Garbage Collection 垃圾收集。这里所谓的垃圾指的是在系统运行过程当中所产生的一些无……
Java虚拟机详解—-常用JVM配置参数
java虚拟机详解----常用jvm配置参数零、在IDE的后台打印GC日志:既然学习jvm,阅读GC日志是处理java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。(1)如果你用的是Eclipse,打印GC日志的操作如下:在上图的箭头处加……