JVM
文章平均质量分 97
java 虚拟机
远处的海亲吻着天
从事JAVA软件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM即时编译(JIT)
JIT即时编译1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。2、JIT编译(just-in-timecompilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一种特例。JIT编译一词后来被泛化,时常与动态编译等价;但要注意广义与狭义的JIT编译所指的区别。3、自.原创 2020-07-12 18:51:42 · 353 阅读 · 0 评论 -
JVM 整体结构
JVM 整体结构Java不只是一种编程语言,还是一个完整的操作平台。Java之所以可以跨平台,这离不开JVM虚拟机。JVM是一个软件,在不同的平台上,JVM有不同的版本。Java在编译之后会生成一种.class文件,这种文件成为字节码文件。JVM虚拟机就是将Java编译后的.class文件翻译成特定平台下的机器码,然后运行。也就是说,在不同平台上装上平台对应的JVM虚拟机后,就可以将Java字节码文件转换,然后运行我们的Java程序。值得注意的是,Java编译后的结果是生成字节码,而不是原创 2020-07-12 19:12:32 · 271 阅读 · 0 评论 -
JAVA 字节码文件分析
package com.jvm.bytecode;public class MyTest1 { private int a = 1; public int getA() { return a; } public void setA(int a) { this.a = a; }}使用javap -...原创 2020-03-26 00:02:04 · 385 阅读 · 0 评论 -
JAVA 四种引用类型
Strong Reference我们日常绝大多数引用均是强引用 如果对象拥有强引用,就表示它是可达的,那么垃圾收集器就不会将其回收 如果将某个强引用显式置为null,就表示该引用不再指向对象,若该对象没有其他引用指向他,那么会在适当时机就会被垃圾回收器回收。举例:我创建了一个对象listA,并向listA中添加了100个元素,大家知道ArrayList的底层是数组,在创建listA之...原创 2020-03-21 22:46:58 · 324 阅读 · 1 评论 -
JVM G1收集器日志分析
package com.jvm.g1;/** * -verbose:gc * -Xms10M * -Xmx10M * -XX:+UseG1GC * -XX:+PrintGCDetails * -XX:+PrintGCDateStamps * -XX:MaxGCPauseMillis=200m * */public class MyTest { public s...原创 2020-03-21 11:41:42 · 563 阅读 · 0 评论 -
JVM G1垃圾收集器
Hotspot关键组件Java虚拟机的主要组件,包括类加载器、运行时数据区和执行引擎。 Java虚拟机有关性能的关键组件已经在下面的图片上高亮显示了。Java虚拟机有三个组件关注着什么时候进行性能优化,堆空间是你的对象所存储的地方,这个区域被启动时选择的垃圾回收器管理,大部分调优选项与调整堆大小和根据你的情况选择最适当的垃圾收集器相关。即时编译器对性能也有很大的影响,但是使用新版本的J...原创 2020-03-19 18:06:42 · 445 阅读 · 0 评论 -
JVM 内存区域的划分以及作用详解
什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。 1、程序计数器(寄存器) 当前线程所执行的字节码行号指示器 字节码解释器工作依赖计数器控制完成 通过执行线程行号记录,让线程轮流切换各条线程之间计数器互不影响 线程私有,生命周期与线程相同,随JVM启动而生,JVM关闭而死 线程执行Java方法时,记录其正在执行的虚拟...原创 2020-03-14 15:13:32 · 341 阅读 · 0 评论 -
JVM CMS收集器
CMS收集器CMS收集器,以获取最短回收停顿时间为目标,多数应用于互联网站或者B/S系统的服务器端上。 CMS是基于“标记-清除” 算法实现的,整个过程分为4个步骤 1)初始标记 (CMS initial mark) 2)并发标记(CMS concurrent mark) 3)重新标记(CMS remark) 4)并发清除(CMS con...原创 2020-03-14 15:06:09 · 411 阅读 · 0 评论 -
JVM 垃圾回收算法与垃圾收集器介绍
垃圾判断算法引用计数算法(Reference counting)给对象添加一个引用计数器,当有一个地方引用它,计数器加1,当引用失效,计数器减1,任何时刻计数器为0的对象就是不可能在被使用 引用计数算法无法解决对象循环引用的问题 2. 根搜素算法(GC Roots Tracing)在实际的生产语言中,都是使用根搜索算法判定对象是否存活 算法基本思路就是通过一系列...原创 2020-03-09 20:36:43 · 309 阅读 · 0 评论 -
JVM 垃圾回收日志 与 算法深度解读
GC的时机在分代模型的基础上,GC从时机上分为两种:Scavenge GC 和 Full GCScavenge GC (Mionr GC)触发时机:新对象生成时,Eden空间满了理论上Eden区大多数对象会在Scavenge GC 回收,复制算法的执行效率会很高,Scavenge GC时间比较短Full GC整个jvm进行整理,包括Young、old和perm主要触发时机:ol...原创 2020-03-14 21:25:51 · 283 阅读 · 0 评论 -
深入解析jvm 类加载器解析
Java虚拟机与程序的生命周期-执行了System..exit()方法-程序正常执行结束-程序在执行过程中遇到了异常或错误而异常终止-由于操作系统出现错误而导致Java虚拟机进程终止类的加载丶连接与初始化加载:查找并加载类的二进制数据连接:-验证:确保被加载的类的正确性-准备:为类的静态变量分配内存,并将其初始化为默认值-解析:把类中的符号引用转换为直接引用原创 2017-09-05 23:48:51 · 725 阅读 · 0 评论
分享