java的类的信息存储到了什么地方

首先Java是一个数据定义和方法调用的OOP;
在程序运行时,有五个不同的地方可以存储数据(以下只是方便以后回顾)
1.寄存器
最快的存储区,位于不同其他存储区的地方—处理器内部。
空间有限,不能操控。(C和C++可以)
2.堆栈
位于通用RAM中,但通过堆栈指针可以从处理器那里获取直接支持。
根据指针的向下移动,说明正在分配新的内存;反之,是在释放内存。其速度仅次于寄存器。
这里的空间创建,Java中必须知道所有项的生命周期,才方便内存的分配销毁。
因此约束了程序的灵活性,所以虽然某些Java数据存储在堆栈中,例如:Java对象的引用。但Java对象却不存储其中。
3.堆
通用的内存池,也位于RAM区,用于存放所有的Java对象。
编译器不用知道存储的数据在堆里存活多久时间。这样也体现在堆里分配存储有很大的灵活性,但是,相应的很大灵活性,却在进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间。
4.常量存储。
常量通常直接存放在程序代码内部,安全,因为永远不会改变。在嵌入式系统中,常量本身会和其他部分隔离开,所以在这种情况下,可以选择将其存放在ROM中。
这种存储区的是字符串池。所有字面量字符串值的常量表达式都自动是内存限定的,并且会置于特殊的静态存储区中。
5.非RAM存储
数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。
例如:流对象和持久化对象。
流对象的对象转化成字节流,通常被发送给另一台机器。
持久化对象的对象被存放在磁盘上,即使程序终止,仍可以保持自己的状态。

最近整个人都属于木的,油盐不进的状态,闲着无聊,温故罔学吧,记录下,也算是踩个脚印。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值