黑马程序员技术交流社区

标题: Javaee基础班要点—jvm,内存(栈,堆,方法区) [打印本页]

作者: Reason__v    时间: 2018-8-29 14:26
标题: Javaee基础班要点—jvm,内存(栈,堆,方法区)
本帖最后由 Reason__v 于 2018-8-29 14:27 编辑

JVM 数据类型:
Java是静态类型的,它会影响字节码指令的设计,这样指令就会期望自己对特定类型的值进行操作。例如,就会有好几个add指令用于两个数字相加:iadd、ladd、fadd、dadd。他们期望类型的操作数分别是int、long、float和double。大多数字节码都有这样的特性,它具有不同形式的相同功能,这取决于操作数类型。
JVM定义的数据类型包括:
基本类型:
数值类型: byte, short , int , long, char , float,double,布尔类型
指针类型: 指令指针。
引用类型:类,数组,接口
在字节码中布尔类型的支持是受限的。举例来说,没有结构能直接操作布尔值。布尔值被替换转换成 int 是通过编译器来进行的,并且最终还是被转换成 int 结构。

内存:
栈:

堆:所有线程共享的内存和存储对象(类实例和数组)。对象回收是由垃圾收集器管理的。

方法区:对于每个已加载的类,它储存方法的代码和一个符号表(例如对字段或方法的引用)和常量池。









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2