AI:JVM原理和性能优化
本栏目主要介绍JVM原理、常见的调优方式。以及工作中遇到的问题修复、调优经验等。
码农六子
踏实、务实、勤奋、坚持
展开
-
《JVM虚拟机》-Java内存区域和对象访问详解
一、Java运行时数据区域 Java虚拟机在执行Java程序的过程中会将它所管理的内存区域划分为一下几个区域:1、程序计数器 程序计数器是一块较小的内存空寂按,可以看作是当前线程的字节码的行号指示器。在虚拟机的概念模型中(不同虚拟机有不同的实现方式),字节码解释器就是通过改变程序计数器的值来选取下一条需要执行的字节码指令。 在多线程中,每个单独的线程都有自己独...原创 2019-08-20 20:17:52 · 106 阅读 · 0 评论 -
【JVM 详解】Java内存区域和对象访问详解
一、Java运行时数据区域 Java虚拟机在执行Java程序的过程中会将它所管理的内存区域划分为一下几个区域:1、程序计数器 程序计数器是一块较小的内存空寂按,可以看作是当前线程的字节码的行号指示器。在虚拟机的概念模型中(不同虚拟机有不同的实现方式),字节码解释器就是通过改变程序计数器的值来选取下一条需要执行的字节码指令。 在多线程中,每个单独的线程都有自原创 2018-01-05 11:54:28 · 209 阅读 · 0 评论 -
JVM常见面试题深度总结
一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功原创 2017-11-02 09:50:41 · 309 阅读 · 0 评论 -
JVM(04):常见的内存分析工具使用
1、JConsole JConsole(Java Monitoring and Management Console)是一个基于JMX的可视化监视、管理工具。它管理部分的功能是针对JMX MBean进行管理,由于MBean可以使用代码、中间件服务器的管理控制台或者所有符合JMX规范的软件进行访问。1.1、JConsole启动 JConsole是jdk bin目下下的指令,可以在bin目录下直接运行JConsole.exe打开。可以在本地进程中选择一个进程进行监控,也可以选择连接远程服...原创 2020-06-09 21:54:58 · 199 阅读 · 0 评论 -
JVM(03):JVM常见内存监控、性能调优等命令详解
1、jps:JVM Process Status Tool: 显示指定系统内所有的HotSpot虚拟机进程。1.1、命令格式: jps [ options ] [ hostid ] 比如:jps1.2、options 选项说明1.2.1、-q:只输出LVMID,省略主类的名称1.2.2、-m:输出虚拟机进程启动时传递给主类main()函数的参数1.2.3、-l:输出主类的全名,如果进程执行的是jar包,输出jar包路径1....原创 2020-06-09 21:49:30 · 421 阅读 · 0 评论 -
JVM(02):垃圾回收和内存分配策略
一、内存分配与回收策略 对象的内存分配,可以理解为在堆内存上分配内存空间,有时候也会经过JIT编译后被拆散成标量类型,分配在栈内存中。这里主要介绍堆内存的分配。 对象一般会被分配在新生代的Eden区,有些对象也会被直接分配在老年代,这主要看相关细节设置。1、对象优先被分配在Eden区 对象首先会被在Eden区进行内存分配,如果Eden区空间不足,则会进行一次Minor GC,然后将剩下的对象转移到Survivor区,如果Survivor区的空间不能够放下Eden区进过GC后...原创 2020-05-31 21:58:45 · 331 阅读 · 0 评论