摘要:
JVM(6)—JVM优化 JVM优化建议 大多数情况JVM生产环境考虑调整: 初始堆和最大堆大小 选择什么GC收集器 新生代大小 要先全面监控、收集性能数据,再调优。 大部分都是自己写的代码出现问题,而不是JVM参数不对。 可以通过Arthas 进行线上问题定位处理。 JVM优化选项 jdk1.8+ 阅读全文
posted @ 2020-08-25 20:22
Baby丿太依赖
阅读(172)
评论(0)
推荐(0)
摘要:
JVM(5)—GC垃圾回收 Java不需要C语言写析构函数手动释放对象。Java会自动对无用对象进行垃圾回收GC,释放占用的内存空间。 垃圾发现算法 什么条件下对象才算是垃圾? 当对象没有任何引用的时候,就代表对象无用了 引用链路断开,后续对象都会标记为垃圾。 GC怎么知道对象没有引用? 引用计数算 阅读全文
posted @ 2020-08-25 20:21
Baby丿太依赖
阅读(239)
评论(0)
推荐(0)
摘要:
JVM(4)—运行时数据区 运行时数据区的组成 线程私有 程序计数器:存储线程的执行位置。 虚拟机栈:存储Java方法调用与执行过程的数据。 本地方法栈:存储本地方法的执行数据。 线程共享 堆:主要存储对象。 方法区:存储描述类/方法/字段等定义数据。 运行时常量区:保存常量数据。 程序计数器 记录 阅读全文
posted @ 2020-08-25 20:18
Baby丿太依赖
阅读(167)
评论(0)
推荐(0)
摘要:
JVM(3)—类加载子系统 类加载子系统负责从文件或者网络加载Class字节流,读取字节码中的信息,运行时存储到JVM内存中,任何Class字节流都要遵循JVM字节码规范。 类加载执行过程:1.加载。2.链接。3.初始化。 加载 读取字节码二进制流。 解析字节码二进制流的静态数据转换为运行时JVM方 阅读全文
posted @ 2020-08-25 20:15
Baby丿太依赖
阅读(149)
评论(0)
推荐(0)
摘要:
JVM(2)—字节码文件 什么是字节码文件 .java源码经过javac编译生成的二进制文件,称为字节码文件。 JVM通过字节码保证平台无关特性。 Java并不是唯一生成class文件的语言。 Class是结构紧凑的二进制流,格式固定,要求严谨。 字节码的组成结构 1.魔数。 2.文件版本。 3.常 阅读全文
posted @ 2020-08-25 20:13
Baby丿太依赖
阅读(299)
评论(0)
推荐(0)
摘要:
JVM(1)—基础知识 混合语言编程 不同语言都可以通过各自对应的编译器生成结构相同的字节码文件,JVM只认识字节码。JVM加载字节码文件,通过不同操作系统转换为对应的机器码。 JVM的发展及种类 Sun Classic VM :只提供Java解释器,解释执行Java代码,高响应速度。将字节码指令翻 阅读全文
posted @ 2020-08-25 20:11
Baby丿太依赖
阅读(206)
评论(0)
推荐(0)

浙公网安备 33010602011771号