![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 82
wit_cx
这个作者很懒,什么都没留下…
展开
-
JVM主要包含三大核心部分:运行时数据区,类加载器和执行引擎
三大核心执行顺序类加载器解析 .class文件 转为虚拟机可以识别的二进制机器码执行引擎解析 字节码文件 使用执行引擎 驱动去加载机器码运行时数据区解析 它包含 五大模块 (方法区 虚拟机栈 本地方法栈 堆 程序计数器) 基本的加载流程如下: 1)寻找jre目录,寻找jvm.dll,并初始化JVM; 2)产生一个Bootstrap Loader(启动类加载器); 3)Bootstrap Loader自动加载Extended Load...转载 2021-01-24 11:04:25 · 381 阅读 · 0 评论 -
JDK1.8 JVM运行时数据区域划分
一、JDK1.8 JVM运行时数据区域概览这里介绍的是JDK1.8 JVM运行时内存数据区域划分。1.8同1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。二、各区域介绍1. 程序计数器每个线程一块,指向当前线程正在执行的字节码代码的行号。如果当前线程执行的是native方法,则其值为null。2. Java虚拟机栈线程私有,每个线程对应一个转载 2020-08-28 15:14:49 · 209 阅读 · 0 评论 -
JDK8中为什么移除方法区
JDK8 的10个新特性总结如下:Lambda ExpressionsPipelines and StreamsDate and Time APIDefault MethodsType AnnotationsNashorn JavaScript EngineConcurrent AccumulatorsParallel operationsPermGen Space RemovedTLS SNI其中,第九个就是移除了永久代,其目的是Hotspot JVM和JRoc转载 2020-08-28 14:56:33 · 798 阅读 · 0 评论 -
JVM方法区和堆中的Class对象
JVM方法区和堆中的Class对象Class对象是存放在堆区的,不是方法区,这点很多人容易犯错。类的元数据(元数据并不是类的Class对象!Class对象是加载的最终产品,类的方法代码,变量名,方法名,访问权限,返回值等等都是在方法区的)才是存在方法区的。方法区在一个JVM实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。JVM实现的设计者决定了类型信息的内部表现形式。如,多字节变量在类文件是以big转载 2020-08-28 14:47:57 · 2243 阅读 · 3 评论 -
JVM内存最大能调多大
JVM内存最大能调多大今天分析了当前比较流行的几个不同公司不同版本JVM最大内存,得出来的结果如下:公司JVM版本最大内存(兆)client最大内存(兆)serverSUN1.5.x14921520SUN1.5.5(Linux)26342660SUN1.4.215641564SUN1.4.2(Linux)19001260IBM1.4.2(Linux)2047N/ABEAJRockit1.5(U3)19091902除非特别说明,否则JVM版本都运行在Windows操作系统下如何转载 2020-08-14 21:15:36 · 1951 阅读 · 0 评论 -
JVM--参数调优
先上点基础概念不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种类及如何选择)。本.转载 2020-07-09 00:56:52 · 70 阅读 · 0 评论