JVM
文章平均质量分 96
梵高Coding
这个作者很懒,什么都没留下…
展开
-
JVM(5)面试篇
关联课程内容基础篇-初识JVM基础篇-Java虚拟机的组成回答路径JVM的定义作用功能组成JVM 指的是Java虚拟机( Java Virtual Machine )。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件,Java虚拟机上可以运行Java、Kotlin、Scala、Groovy等语言。//用java命令启动一个jvm进程,执行程序任务管理器中启动的Java进程,其实是一个虚拟机进程,它会执行我们编写好的代码。通过jps。原创 2024-02-16 12:40:28 · 1570 阅读 · 0 评论 -
JVM(4)原理篇
1、着色指针(Colored Pointers)着色指针将原来的8字节保存地址的指针拆分成了三部分,不仅能保存对象的地址,还可以保存当前对象所属的状态。不支持32位系统、不支持指针压缩2、读屏障(Load Barrier)在获取对象引用判断对象所属状态,如果所属状态和当前GC阶段的颜色状态不一致,由用户线程完成本阶段的工作。会损失一部分的性能,大约在5%~10%之间。1、着色指针(Colored Pointers)原创 2024-02-14 23:25:37 · 2447 阅读 · 0 评论 -
JVM(3)高级篇
回答:Arthas主要使用了Java Agent技术,这种技术可以让运行中的Java程序执行Agent中编写代码。Arthas使用了Agent中的动态加载模式,可以选择让某个特定的Java进程加载Agent并执行其中的监控代码。监控方面主要使用的就是JMX提供的一些监控指标,同时使用字节码增强技术,对某些类和某些方法进行增强,从而监控方法的执行耗时、参数等内容。原创 2024-02-14 23:14:25 · 2429 阅读 · 0 评论 -
JVM(2)实战篇
1、压力比较大的服务中,尽量不要存放大量的缓存或者定时任务,会影响到服务的内存使用。2、内存分析发现有大量线程创建时,可以使用导出线程栈来查看线程的运行情况。3、如果请求确实创建了大量的内存超过了内存上限,只能考虑减少请求时创建的对象,或者使用更大的内存。4、推荐使用g1垃圾回收器,并且使用较新的JDK可以获得更好的性能。原创 2024-02-14 23:00:59 · 1186 阅读 · 0 评论 -
JVM(1)基础篇
类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术,类加载器只参与加载过程中的字节码获取并加载到内存这一部分。类加载器会通过二进制流的方式获取到字节码文件的内容,接下来将获取到的数据交给Java虚拟机,虚拟机会在方法区和堆上生成对应的对象保存字节码信息。一个Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的类,比如Servlet类,Tomcat要保证这两个类都能加载并且它们应该是不同的类。原创 2024-02-12 20:21:52 · 1343 阅读 · 0 评论