- 博客(4)
- 收藏
- 关注
原创 JVM(3)--对象内存布局
<1>.对象在内存中的存储布局可以分为三块区域:对象头,实例数据和对象填充 其中对象头简单的结构图如下: 实例对象部分是对象真正存储的有效信息。也是在程序代码中所定义的各种类型的字段内容。无论是从父类中继承的还是在子类中定义的,都要记录下来。 第三部分对象填充并不是必然存在,也没有特别的含义,他仅仅起着占位符的的作用。Ex:由于HotS...
2019-03-19 11:55:45 181
原创 JVM(2)--探秘HotSpot虚拟机对象
java对象创建流程 在步骤四中,内存分配,其中堆内存分配分为两种:空闲列表,指针碰撞。 关于具体使用哪种分配方式取决于 (1).java堆是否规整,而java堆是否规整又由所采用的垃圾收集器是否带有压缩整理功能决定。 (2).指针碰撞在并发情况下是非线程安全的。(两种解决方案)、 内存分配完成以后虚拟机需要将...
2019-03-18 17:05:30 135
原创 JVM(1)--java内存区域与内存溢出异常
1.1 对于java程序员来说,内存的控制权在虚拟机的手中,所以一旦出现内存泄露和溢出的问题,如果不了解虚拟机时怎样使用内存的,那么排查错误将是一项极其复杂的工作。 2.2 运行时数据区域 程序计数器: 程序计数器是一块较小的内存空间,可以看做当前线程所执行字节码的行号指示器,字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳...
2019-03-17 16:55:35 183
原创 强类型语言与弱类型语言
1.静态语言:变量定义是又类型声明的语言(变量类型在编译的时候确定,变量类型在编译的时候不能修改)2.动态类型语言:变量在定义时,无类型生命的语言(变量类型在运行时确定,变量类型在运行时可以修改)3.强类型语言,弱类型,无类型语言: 强弱是指怨言系统的类型检查的严格程度,弱类型相对于强类型来说检查更不严格,比如说允许变量类型的隐式转换,允许强制类型转换等 强类型语言:java/...
2019-03-16 17:25:30 1069
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人