Jvm原理及应用
文章平均质量分 69
我本身是大数据工程师,兜兜转转研究过很多东西,基础的就是最难的,对于Jvm的认知加深,对于基础架构不断贯通,如何提高性能,具有呼吸感,不断重构,不断认知,深入到编程语言生态中,明白工程的瓶颈在何方,基于这个动机下,想花费几个月的时间,写下这个专栏,挑战下自己。
李孟聊人工智能
独立开发,Substack和Medium顶级编辑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类文件结构
一.简介 实现语言无关性的基础仍然是虚拟机和字节码存储格式。Java虚拟机不和包括Java在内任何语言绑定,它只与Class文件这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集和符号表以及若干其他辅助信息。 Clojure(Lisp 语言的一种方言)、Groovy、Scala 等语言都是运行在 Java 虚拟机之上。下图展示了不同的语言被不同的编译器编译成.class文件最终运行在 Java 虚拟机之上。 可以说.class文件是不同的语言在 Java 虚拟机之间的重要桥梁,同时原创 2020-06-13 14:18:20 · 935 阅读 · 0 评论 -
jvm系列--类加载器
一.class装载验证流程 1.加载 装载类的一个阶段 取得类的二进制流 转为方法区数据结构 在java堆中生成对应的java.lang.Class对象 2.链接 验证: 目的:保证Class流的格式正确。 文件格式的验证:是否以0xCAFEBABE开头。版本号是否合理。 元数据验证:是否有父类,继承了final类,非抽象类实现了所有的抽象方法。 字节码验证(很复杂): 运行...原创 2018-07-19 11:39:34 · 1053 阅读 · 0 评论 -
jvm系列--堆分析
一.MAT简介 MAT是分析工具,安装略。 二.配置 出现oom导出dump文件,分析报告 三.堆分析 1.OOM(内存溢出)原因: StackOverFlow 栈 ,Stack属于栈的区域,属于每条线程私有的 HeapOutOfMemory 堆 ConstantOutOfMemory 常量池 DirectMemoryOutOfmemory 本地内存 2.堆溢出 p...原创 2018-07-19 11:00:00 · 1173 阅读 · 0 评论 -
jvm系列--锁
一.简介 使用锁,维护计数器的串行访问与安全性。 二.对象头Mark 对象头的标记,32位。 描述对象的hash、锁信息、垃圾回收标记,年龄: 指向锁记录的指针 指向monitor的指针 GC标记 偏向锁线程ID 三.偏向锁 大部分情况没有竞争,所以可以通过偏向来提高性能。所谓的偏向,就是偏心,即锁会偏向于当前已经占有锁的线程。将对象头Mark的标记设置为偏向,并将线程I...原创 2018-07-19 11:53:02 · 1163 阅读 · 0 评论 -
jvm系列--监控工具
在linux环境下 一.uptime 系统时间,运行时间 连接数: 每一个终端算一个连接 1,5,15分钟内的系统平均负载 运行队列中的平均进程数 二.vmstat 可以统计系统的CPU,内存,swap,io等情况 vmstat 1 4 三.top cpu内存 每个进程占CPU情况 四.pidstat 监控CPU,IO,内存 -p 指定进程 –u 监...原创 2018-07-19 11:19:59 · 6302 阅读 · 0 评论 -
jvm系列--GC
一.运行时数据区域 1.Heap Area 存储的全都是Object对象实例,对象实例中一般都包含了其数据成员以及与该对象对应Class信息; 一个JVM实例在运行的时候只有一个Heap区域,该区域被所有的线程共享; 2.Method Area 方法区域又名静态成员区域,包含整个程序Class,static成员等; 方法区被所有线程共享 3.Stack Area St...原创 2018-07-08 16:22:20 · 1198 阅读 · 0 评论 -
Jvm原理及应用-目录
一.基本原理 类文件结构 JVM垃圾回收 二.高效编译 三.代码优化 持续更新原创 2020-05-03 20:25:43 · 490 阅读 · 0 评论 -
JVM垃圾回收
一.简介 最近又复习下jvm相关内容,理解下思想,吸收下前辈经验,本文jdk 1.7/1.8 二.引用计数法与可达性分析 垃圾回收,便是将已经分配出去的的,但却不再使用的内存回收回来,以便能够再次分配。在Java虚拟机的语境下,垃圾指的是死亡对象所占据的堆空间。这里便涉及了一个关键问题:如何辨别一个对象死亡。 2.1 引用计数法 给个对象添加引用计数器,每当有一个地方引用它,计数器值就加1;当引用...原创 2020-03-07 10:09:17 · 870 阅读 · 0 评论
分享