JVM
JVM
Sampson_S
这个作者很懒,什么都没留下…
展开
-
【JVM基础】深入了解Java虚拟机(五)
垃圾回收算法一、标记-清除算法这种算法分为两部份:标记、清除两个阶段, 标记阶段是从根集合(GC Root)开始扫描,每到达一个对象就会标记该对象为存活状态,清除阶段在扫描完成之后将没有标记的对象给清除掉。这种算法在垃圾收集器进行GC时,必须停止所有Java执行线程(也称“Stop The World”),原因是在标记阶段进行可达性分析时,不可以出现分析过程中对象引用关系还在不断变化的情...原创 2020-04-13 21:57:25 · 247 阅读 · 0 评论 -
【JVM基础】深入了解Java虚拟机(四)
JVM调优在前面,我们了解了相关参数地设置、Java命令地用法等,而这些方面都是为了进行JVM调优所必须的。因此,我们再来看看究竟如何进行JVM调优。在调优之前,我们需要记住下面的原则:1、多数的Java应用不需要在服务器上进行GC优化。2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码的问题。3、在应用上线之前,先考虑将机器的JVM参数设置到最优(最合适)。4...原创 2020-04-13 16:04:05 · 157 阅读 · 0 评论 -
【JVM基础】深入了解Java虚拟机(三)
Java项目中排查问题的相关命令作为一个合格的开发人员,不仅要能写好代码,还有一项很重要的技能就是排查问题。这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查。由于在生产环境中,一般没办法debug,所以我们需要借助一些常用命令来查看运行时的具体情况,这些运行时信息包括但不限于运行日志、异常堆栈、堆使用情况、GC情况、JVM参数情况、线程情况等。那么我们来...原创 2020-04-13 14:34:29 · 160 阅读 · 0 评论 -
【JVM基础】深入了解Java虚拟机(二)
JVM的组成JVM 由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成。JVM 的工作过程类加载机制关于类加载机制,前面已经做过介绍,这里就不再进行介绍了。详情请见:类加载机制Java内存模型JVM内存划分:方法区(线程共享):常量、静态变量、JIT(即时编译器)编译后的代码也在方法区存放。堆内存(线程共享):垃圾回收的主要场地。程序计数器:当前线程执行的字节码...原创 2020-03-24 20:00:25 · 290 阅读 · 0 评论 -
【JVM基础】深入了解Java虚拟机(一)
Java的跨平台性在深入了解JVM之前,我们先来看看Java程序,我们都知道Java程序是跨平台性的,那么它究竟是怎么实现跨平台的呢?答案就是通过JVM来实现的,那么JVM又是什么呢?JVM是Java Virtual Machine(Java虚拟机)的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,J...原创 2020-03-24 17:34:52 · 270 阅读 · 0 评论