针对新生代的GC复制算法和老年代的GC标记-整理算法,jvm针对新生代和老年代分别提供了不同的垃圾收集器 新生代: Serial,ParNew, ParallelScavenge 老年代:CMS,SerialOld(MSC),ParallelOld 从新生代介绍起: 1.Serial 垃圾收集器(单 ...
分类:
其他好文 时间:
2020-07-01 23:52:59
阅读次数:
79
JVM class文件格式 魔法数 CAFE BABE 编译器版本号 Constant count Constant pool access flag this class super class interface count interfaces field count fields metho ...
分类:
其他好文 时间:
2020-07-01 20:22:12
阅读次数:
65
先上图,妈的说个题外话,工作真的难找,吐血!!!! 首先JVM 是可运行 Java 代码的假想计算机 , 括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。 之所以说可以跨平台就是因为JVM的存在。 通过这个路径就可 ...
分类:
其他好文 时间:
2020-07-01 20:11:12
阅读次数:
36
第一种(亲测可以) 在代码当中的Application启动类当中加入代码 @PostConstruct void started() { //时区设置:中国上海 //time.zone: "Asia/Shanghai" TimeZone.setDefault(TimeZone.getTimeZone ...
分类:
编程语言 时间:
2020-07-01 14:17:27
阅读次数:
65
《深入理解java虚拟机 第二版 JVM高级特性与最佳实践》里面提到 CMS 垃圾收集器。 CMS 垃圾收集器的垃圾回收分4个步骤: 初始标记(initial mark) 有 STW 并发标记(concurrent mark) 没有 STW 重新标记(remark) 有 STW 并发清除(concu ...
分类:
其他好文 时间:
2020-07-01 12:47:01
阅读次数:
104
JAVA反射 一、什么是反射机制? 反射的官方定义是这样的:在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对任意一个对象都能够通过反射机制调用一个类的任意方法,这种动态获取类信息及动态调用类对象方法的功能称为java的反射机制。 讲的通俗一点的话就是,对于jvm来说,.java文 ...
分类:
编程语言 时间:
2020-07-01 12:25:41
阅读次数:
73
简介 逃逸分析我们在JDK14中JVM的性能优化一文中已经讲过了,逃逸分析的结果就是JVM会在栈上分配对象,从而提升效率。如果我们在多线程的环境中,如何提升内存的分配效率呢?快来跟小师妹一起学习TLAB技术吧。 逃逸分析和栈上分配 小师妹:F师兄,从前大家都说对象是在堆中分配的,然后我就信了。上次你 ...
分类:
其他好文 时间:
2020-07-01 09:38:25
阅读次数:
60
JVM Java虚拟机(JVM)是运行Java字节码的虚拟机。JVM有针对不同系统的特定实现(Windows、Linux、MacOS),目的是使用相同的字节码,他们都会给出相同的结果。(平台无关性) 字节码:在Java中,JVM可以理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何 ...
分类:
其他好文 时间:
2020-07-01 09:37:54
阅读次数:
61
Java程序运行的整体流程 概述 Java程序从创建源文件到程序运行要经历两个主要步骤: 源文件 编译器编译> 字节码文件(ByteCode)。 字节码文件 JVM解释运行> 在内存中运行 Java程序从编译到运行 示例程序: public class ClassA{ public static v ...
分类:
编程语言 时间:
2020-07-01 09:36:12
阅读次数:
81
前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包那样充当代码的容器之外,还包括: 依赖其他模块的列表。 导出的包列表,即其他模块可以使用的列表。 开放的包列表,即其他模块可反射访问模块的列 ...
分类:
编程语言 时间:
2020-07-01 09:24:50
阅读次数:
85