JVM的逐步渗透
Java技术践行者
让我们一起在开发这条路,默默深耕,用技术改变生活
展开
-
JVM:前端编译优化
Javac 编译器编译过程大致可以分为 1个准备过程,3 个处理过程,分别是:准备过程:初始化插入式注解处理器处理过程:1:解析与填充符号表过程2:插入式注解处理器的注解处理过程(在这个过程里如果产生新的符号,就必须转会到第一个处理过程重新处理)3:分析与字节码生成过程一:解析与填充符号表过程1. 词法、语法分析词法分析是将源代码的字符流转变...原创 2020-03-20 23:57:57 · 210 阅读 · 0 评论 -
JVM:后端编译优化
即时编译器HotSpot 中的即时编译器有3种,分别称为客户端编译器(Client Complier) 和服务端编译器 (Server Complier),简称为 C1 和 C2,还有一个在JDK10时出现的Graal编译器,长期目标是代替服务端编译器。程序使用哪个编译器取决于虚拟机运行模式,虚拟机会根据自身版本与宿主机器的硬件性能自动选择运行模式。也可以使用 “-clien”或 “-se...原创 2020-03-20 23:56:51 · 455 阅读 · 0 评论 -
JVM性能调优监控
基础故障处理工具jps 虚拟机进程状况工具可以列出正在运行的虚拟机进程,并显示虚拟机执行的主类(main)函数所在的类、名称以及这些进程的本地虚拟机唯一ID 选项 作用 -q 只输出LVMID -m 输出虚拟机进程启动时传递给主类main()函数的参数 -...原创 2020-03-12 15:50:37 · 166 阅读 · 0 评论 -
垃圾回收算法
前言:Garbage Collector 垃圾回收器HotSpot VM 虚拟机,主要负责3件事:1:执行方法所请求的指令和运算2:定位,加载和验证新的类型(即类加载)3:管理应用内存,包括 堆,栈,方法区G1 的名字:垃圾优先(Garbage First)G1内部只要有四个操作阶段:1:年轻代回收(A Young Collection)2:运...原创 2019-06-19 17:00:13 · 135 阅读 · 0 评论 -
Java 5大内存区域
一:栈Java栈的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,基本数据类型的数据,和对象的引用(reference)。栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存方式,仅次于寄存器。Java编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存在时间”。这是由于它必须生成相应的代码,以便向上和...原创 2019-06-19 16:59:56 · 548 阅读 · 0 评论 -
SA(Seviceability Agent)
SA 是 JDK 自带的底层诊断工具,提供了一套可以深入 JVM 内部进行探索的机制。SA 与目标进程是两个独立的进程,所以两个进程之间通过进程间通信实现调试,并且SA 不会影像目标进程的正常运行。...原创 2019-06-19 17:01:11 · 621 阅读 · 0 评论 -
Java四种引用
Java四种引用包括 强引用,软引用,弱引用,虚引用强引用:如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,可以弱化引用,显式地设置把对象设置为null,或超出对象的生命周期范围,则gc认为该对象不存在引用,这时就可以回...原创 2019-06-19 17:02:49 · 153 阅读 · 0 评论 -
finalization机制
当垃圾回收器发现没有引用指向一个对象时,会调用finalize 方法,通常在这个方法中进行一些资源释放和清理的工作,比如: 关闭文件,套接字和数据库连接等。由于 finalization 方法的存在,虚拟机中的对象一般处于 三种可能的状态:可达对象:当有引用对象指向该对象时,该对象处于可达状态。根据引用类型的不同,可能会处于 强引用可达,软引用可达,或弱引用可达。可复...原创 2019-06-19 17:04:50 · 558 阅读 · 0 评论 -
垃圾收集器
GC 的工作任务主要可以划分为两大块: 内存的动态分配,垃圾回收可以根据6点来评估一款GC的性能:1:吞吐量: 程序的运行时间(+内存回收的时间)2:垃圾收集开销:吞吐量的补数,垃圾收集器所占时间与总时间的比例3:暂停时间:执行垃圾收集时,程序的工作线程被暂停的时间4:收集频率:相应于应用程序的执行,收集操作发生的频率;5:堆空间:Java堆区所占的内存大小;6:快速:...原创 2019-06-19 17:06:11 · 147 阅读 · 0 评论