![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
IceMimosa
博客转战 http://patamon.me
展开
-
JVM学习01-JVM内存模型
1. JVM 简介JVM(Java Virtual Machine)是java虚拟机的缩写,JVM是一个虚构出来的计算机,并给出了一套JVM的规范。java虚拟机包括一套字节码指令、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与操作系统平台相关的信息,它只需要知道java文件最后生成的字节码文件,就能够将字节码生成具体与平台相关的机器指令,然后就可以在不同平台上不加修改的运行。这原创 2016-01-02 21:13:32 · 2751 阅读 · 0 评论 -
JVM学习02-GC算法与种类
1. GC 简介 GC(Garbage Collection) 是垃圾收集的简写,GC机制是java中一个比较重要的概念。java的内存管理提供了内存的分配和释放,内存处理是程序编写人员很容易出错的地方,忘记或错误的内存回收很容易导致系统的不稳定,甚至瘫痪。java的GC机制可以很好的检测对象是否超过作用域而可以达到回收的要求,从而实现自动回收垃圾对象的释放内存的目的。 其实早在很久原创 2016-01-03 23:31:28 · 1538 阅读 · 0 评论 -
JVM学习03-类加载机制
1. 类加载器简介之前有讲述过 JVM 的启动流程,在JVM找到配置文件对JVM进行初始化的时候,将会生成最基础的类加载器(c/c++语言编写)BootStrap。 在说classLoader前先看一段程序:ClassLoader classLoader = this.getClass().getClassLoader(); System.out.println("当前的ClassLoader :原创 2016-01-08 12:54:36 · 446 阅读 · 0 评论 -
JVM学习04-class字节码的结构
1. 字节码简介java作为跨平台的语言,其重要性就体现在java源代码编译后的字节码 .class 文件。很多的语言如java、groovy、scala等都是基于JVM运行的,其根本就是输出之后的字节码。作为跨平台的一个基础,当然要对字节码的文件结构有一定的认识。2. 字节码的文件结构字节码的文件结构一次可以分为(魔数,版本,常量池,访问符,类,超类,接口,字段,方法,属性)。每个部分的数据的大小原创 2016-01-20 21:29:36 · 700 阅读 · 0 评论 -
JVM学习05-字节码执行过程和JVM指令集
1. 字节码的Code部分在执行字节码的时候,无非也就是对调用类中的函数。那么下面将介绍下字节码函数的Code部分,Code部分的代码一个可以用java自带的命令javap命令进行查看。还可以在eclipse中安装ByteCode visualizer插件查看,具体使用自行研究。 在我介绍java内存模型的时候,函数的执行过程是分配在栈内存中的,所以在执行Code部分的时候肯定会涉及到局部变量表和原创 2016-01-21 23:14:23 · 1271 阅读 · 0 评论