Java程序内存分配

一、内存分配

Java程序有5个不同的地方可以存储数据,分别是寄存器、堆栈、堆、常量存储、非RAM存储。(Java编程思想)

  1. 寄存器:最快的存储区,位于处理器内部,无法直接控制。
  2. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针的移动来分配新的内存(堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存),注意对象的引用存储于堆栈中
  3. 堆:一种通用的内存池(也位于RAM区),用于存放所有的Java对象注意:堆栈和堆是不同的,不要把两者混为一谈。当需要一个对象时,只需用new写一行代码,当执行这行代码时,会自动在堆中进行存储分配。
    Java程序中,对象,对象的引用存储在不同的存储区中!!!
  4. 常量存储:常量值通常直接存放在程序代码内部。
  5. 非RAM存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序不运行时也可以存在,如JDBC和Hibernate进行数据持久化。

二、特殊内存分配

使用new将对象存储在“堆”里,但对于“小的、简单的”变量,不是很有效。故不用new创建变量,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置于堆栈,这种基本类型有boolean,char,byte,short,int,long,float,double,void。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值