![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java虚拟机
片羽时光
这个作者很懒,什么都没留下…
展开
-
Java内存区域
一:java内存区域划分 二:对象的创建 在对象(这里的对象主要是指java普通对象,不包含数组以及class对象)创建过程中,为对象分配内存空间也就是把一块确定的内存从堆中划分出来。当java堆中的内存是规整的时候,也就是空闲内存在一起,而已使用的内存在一起,那么java虚拟机只需要用一个指针来分隔开这个界限,当要分配内存时,只需要将这个指针移动对象大小的位置就可以,这种内存分配方式称为...原创 2018-08-30 15:42:46 · 87 阅读 · 0 评论 -
Java的class文件
一:class类文件 class类文件实际上是二进制(字节码)文件格式,class文件中包含了java虚拟机指令集和符号表以及若干其他辅助信息。实际上虚拟机载入和执行同一种平台无关的字节码(class文件),实现了平台无关性。 二:class类文件结构 class文件是一组以8位字节位基础单位的二进制流。它采用类似c语言中的结构体一样的伪结构体来存储数据,这种伪结构只有两种数据类型:无符...原创 2018-09-10 20:20:16 · 598 阅读 · 0 评论 -
虚拟机类加载机制以及双亲委派模型
一:类加载 1.类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。其中,加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班的开始(并不是进行或完成),因为这些阶段通常都是相互交叉混合地进行,而解析阶段则不一定。它在某些情况下...原创 2018-09-13 11:49:16 · 179 阅读 · 0 评论 -
Java8新特性
java8相对于以前的版本来说,速度更快,数据结构和内存结构都做了修改。 一:快的缘由 数据结构方面:在hashMap中,底层的数据结构采用的是哈希表,当需要添加一个元素时,将key通过哈希算法计算得到哈希表索引值,根据索引值,找到对应位置,将该数据插入。在之前的版本中,如果key值不一致,则采用头插的链表插入方式,在java8中采用尾插的方式,并且,当哈希表使用比超过75%时,就进...原创 2018-10-10 15:28:01 · 106 阅读 · 0 评论