JAVA——用引用操纵对象2

JAVA中的数据存储



1、寄存器

这是最快的存储区域,因为它位于处理器内部。但是寄存器的数目很有限,会根据需求分配。你不能在程序里直接控制,也不能感受到寄存器的存在。

2、堆栈

位于通用RAM(随机访问存储器),通过堆栈指针可以直接操作堆栈。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。某些JAVA数据存储在堆栈中—特别是对象引用,但JAVA对象并不存储在其中。

3、堆

一种通用的内存池(也位于RAM),堆不同于堆栈的好处是,编译器不需要知道存储的数据在堆里存活了多长时间。因此,在堆里分配内存有很大的灵活性。当需要一个对象时,只需用new写一行简单的代码,当执行这段代码时,会自动在堆里进行内存分配。

4、常量存储

常量值直接放在程序代码内部

5、非RAM存储

如流对象和持久化对象


在JAVA程序设计中,对于经常遇到的一系列类型,如int等,它们需要被特殊对待,可以把它们想象成 “基本类型”。之所以要特殊对待,是因为,new将对象存储在堆里,故而用new创建一个对象,其实开销挺大的。因此,对于这种类型的变量,JAVA采用了与C和C++相同的方法,也就是说,不用new来创建对象,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置于堆栈中,因此更加高效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,367评论 11 349
  • 前言 不知道大家有没有这样一种感觉,程序员的数量井喷了。可能是因为互联网火了,也可能是各家培训机构为我们拉来了大量...
    活这么大就没饱过阅读 2,747评论 6 25
  • 一.操作系统相关基础知识 1.物理内存、虚拟内存、逻辑地址与交换空间 物理内存(RAM):加载到内存地址寄存器中的...
    Geeks_Liu阅读 9,240评论 6 31
  • 《中元作》 中元作(唐)李商隐 降节飘飘宫国来,中元朝拜上清回。羊权须得金条脱,温峤终虚玉镜台。 会省惊眠闻雨过,...
    雨_莲阅读 451评论 0 0
  • 前言:臀部松垮、腿粗灯下半身肥胖问题,一直都是困扰着很多女性。很多人都把下半身肥胖问题归因于遗传问题,殊不知日常生...
    健身情报站阅读 483评论 0 1