jvm
一一三一
on the way
展开
-
class文件结构与jvm字节码指令
https://blog.csdn.net/luckydog1991/article/details/51654964这篇文章详细的介绍了class文件和字节码指令 Class文件结构 https://blog.csdn.net/tyrone1979/article/details/964560 class文件是一组以8位字节为基础单位的二进制流; 当遇到8位字节以上的空间的数据项时,则会...原创 2018-11-27 14:09:20 · 406 阅读 · 0 评论 -
jvm中的对象和GC
对象的创建: 给对象分配内存的方式 指针碰撞(GC策略如具有压缩整理的功能,能够将堆内存划分为已使用和空闲的内存的时候可以使用指针碰撞,否则的话使用空闲列表) 空闲列表() 给对象分配内存线程安全性问题 线程同步加锁(性能很低) 本地线程分配缓冲(每一个线程分配一个缓冲内存,这样的话,就不会存在同步访问同一个资源的问题) 初始化对象 对象的结构: header(对象头) ...原创 2018-11-27 14:09:10 · 172 阅读 · 0 评论 -
jvm工具介绍和性能调优
jvm工具 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/ Jps Jstat Jinfo Jmap Jhat Jstack JConsole Jps (Java process status Java)进程状态 使用频率最高的 本地虚拟机唯一id lvmid local virtual machine ...原创 2018-11-27 14:08:41 · 292 阅读 · 0 评论 -
类加载
类加载机制概述 虚拟机把类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 Java虚拟机的类加载是一种懒加载机制。 类的生命周期 加载 ===》链接 ===》初始化 ===》使用 ===》卸载 其中链接又分为3个阶段: 验证 准备 解析 关于类什么时候初始化 遇到new、getstatic、putstatic或者invo...原创 2018-11-27 14:06:25 · 97 阅读 · 0 评论 -
jvm基础
如果你这辈子只甘心做一个平庸的Java码农,那么你完全没有必要去学习JVM相关的知识,学习JVM对于一个Java程序员的好处大概可以概括为下几点: 1)你能够明白为什么Java最早期被称为解释型语言,而后来为什么又被大家叫做解释与编译并存的语言(了解JVM中解释器以及即时编译器就可以回答这个问题); 2)你能够理解动态编译与静态编译的区别,以及动态编译相对于静态编译到底有什么好处(J...原创 2018-11-27 14:06:07 · 176 阅读 · 0 评论