Java的堆,栈和常量池的介绍和相关存储类型

来源:互联网 发布:onvif test tool 源码 编辑:程序博客网 时间:2024/04/30 18:29

网上看到有用的知识, 摘录一下, Java的堆,栈和常量池的介绍和相关存储类型


1, 寄存器:

最快的存储区,由编译器根据需求进行分配,我们在程序中无法控制;

2,栈:
存放基本类型的变量数据和对象的引用,但对象的本身不存放在栈中,而是存放在堆(new出来的对象)或常量池中(字符常量对象存放在常量池中)[即保存对象的引用地址];

3, 堆:
存放所有new出来的对象;

4, 静态域:
存放静态成员(static定义的成员)

5, 常量池:
存放字符串常量和基本类型常量;

栈和常量池中的对象可以共享;堆中的对象不可以共享;栈中的数据大小和生命周期是可以确定的,
当没有引用指向数据时,这个数据就消失,堆中的对象由垃圾回收器负责回收,因此大小和生命周期不需要确定,有很大的灵活性;



原创粉丝点击