Thinking in java(1)

本文介绍了Java数据的主要存储位置,包括Registers、Stack、Heap、Static storage、Constant storage和Non - RAM。Registers存储最快但由CPU控制;Stack由指针决定数据,可存对象reference;Heap存放所有new产生的对象;Static storage存static声明内容;Constant storage存常量;Non - RAM数据可脱离程序存活,如可存于磁盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java数据主要存放在以下地方:

1.Registers: 这里是存储数据最快的地方,因为他就在cpu内部,近水楼台先得月嘛,cpu想用什么,就在身边,信手拈来,方便至极.不过这里不是程序员说的算的地方,而是cpu需要用到谁就会把谁放在这里的.

2.Stack:位于RAM中,是第二快的地方,Stack是由指针决定所需要的数据的,所以java编辑器有决定指针指向的功能,并且编辑器也能够决定对象数据的大小和存活时间.我觉得了解编辑器的工作原理能够很大程度上解决内存占用时间的问题 .     "尽管我们能够将对象的reference存储在这里面,但却不能将一般的java对象也置于其上 ."  这句话我还不理解.

3.Heap:通用内存存储空间,位于RAM上,置放所有对象,所有用new产生的对象都可以存于这里面,编辑器不管这里的存活时间和生命周期,所以这里很自由的哦,不过是以提取速度慢来作为代价的.

4.Static storage:被程序分配的一块固定的存储空间(RAM中),被代码中声明的static都存在这里,成为类的变量或方法,不过这里是不会存放java对象的.

5:Constant storage:应该也在RAM中吧,常量存在这里,固定而且不能改变.据说也可以存在ROM中,Henry.Ford说:无论我在那里,穿什么样的衣服,住什么样的旅馆,我都是Henry.Ford.感觉常量就是这样啊.

6:Non-RAM:可以脱离程序存活的数据.比如:streamed objects和persistent objects.他们在程序用到的时候才会到RAM中.特点:"能够将对象转换为可存储于其他媒介的形式".比如:persistent objects可以存在于磁盘中.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值