这一章节我们来讨论一些创建和操纵对象。
说来,上面的两个话题都看似简单。例如:
使用new创建对象:
new String()
使用new来创建了一个文本对象。
使用引用操纵对象
String s;
新建一个s变量,s也是引用String这个类所创建的对象。
但是需要注意的是,如果单纯只是上面的那句,当s调用对象的方法时,系统将会出现异常,因为s还没有初始化。所以,一般的做法是:
String s=new String();
在建立变量的同时,初始化变量。
那么,如果这样的话,这个话题说完了,我们下面将会扩展这个话题,使用2-3个章节来讨论他们的扩展话题。
1.创建的对象存储在哪里?
(1)寄存器-Registers。
寄存器在cup里面,它的运算最快,但是空间小,因此需要根据需求来分配,而且他不会根据我们的代码来分配,而是系统自己计算分配。
寄存器作用:
a.可将寄存器内的数据执行算术及逻辑运算
b.存于寄存器内的地址可用来指向内存的某个位置,即寻址
c.可以用来读写数据到电脑的周边设备。
(2)栈-stack
位于ram
存储对象引用的地方,不存储对象。
当需要一个对象,在堆栈里面查询引用,然后到堆(heap)去找到java对象,再把对象压到栈里面进行准备进行运算,当用完了对象,它会抛弃掉这个对象。
栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。
栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的变量是可以指向一个地址的。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
(3)堆-heap
位于ram
速度比栈低,存储对象的地方。
但是它比栈灵活,动态分配对象的存储空间,缺点是,分配和清理对象的时间较长
(4)常量存储-rom
常量一般是不改变的,所以一般存储在rom里面
(5)非ram存储-硬盘等
总结,这一章节介绍了对象的存储。
这一章节就到这里,谢谢。
-----------------------------------
目录
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
1.8.7.3版本里的HTML全版本+种子开发版本,9月前最新啦,不信去看...非常适合从头开始构建应用程序。无论你想在.Net,PHP,Django,Java还是其他任何平台上构建它,HTML版本应该是理想的选择!
外卖订餐java源码 你会学到什么 通过 Java 片段的构建块,您将能够立即了解 Java 编程的要点。 你需要什么 勇敢地浏览存储库! 或替代开源 JDK 1.8 版本 截至今天,该存储库已通过测试 Oracle JDK 1.8 OpenJDK 1.8 ...
从头开始学习Java课程-资料来源PillsInformática。
视频 https://www.bilibili.com/video/BV1914y1s7hi
视频 https://www.bilibili.com/video/BV1914y1s7hi
Java开发环境的搭建以及使用eclipse创建项目 Java开发环境的搭建以及使用eclipse创建项目
Java-3D游戏引擎与基本游戏Java中使用LWJGL,OpenGL,OpenAL等的3D游戏引擎。 从头开始
军工行业2021年度投资策略:而今迈步从头越-20201115-招商证券.pdf
赖世雄英语从头学 下载-附件资源
本文档中的实验练习提供了创建和操作列表的实践,包括从头开始创建列表,添加和删除元素,以及搜索和排序列表等。该文档还包括实验练习的解决方案,让读者可以检查自己的工作并更深入地了解材料。 无论您是初学者...
本资料是UCSF DOCK的使用案例分享的输入资料,将使用DOCK 6.11自带的片段库,使用DOCK/RDKit的 DOCK_D3N功能从头设计分子。便于使用者直接从这部分设计工作开始,不需花时间来准备输入文件。
java实现验证码功能源码 Java Periphery 是一个高性能库,用于用户空间 Linux 中的 GPIO、LED、PWM、SPI、I2C、MMIO 和串行外设 I/O 接口访问。 我没有尝试从头开始构建它并生成 JNI 包装器。 这节省了大量手动编码...
乙二醇2020年度策略报告:“熊”关漫道真如铁,而今迈步从头越-20191230-光大期货-36页.rar
例如,当我们想从头开始创建RPC框架时,我们需要了解Java动态代理和序列化。 这是清单: 技术 模块/链接 设想 地位 评论 动态代理 动态代理 RPC 智商 完毕 字节程序Java代理, 乐器, 字节好友 字节码程序java-...
开发人员零java-Mentorama 在此存储库中,将从头开始插入Java Developer模块的Mentorama课程期间开发的所有练习。
从头学XML和Java编程一例通.part2.rar
3D游戏从头编-网上收集,很基础. 第一回:开发环境 第二回:3D基本概念 第三回:第一个D3D程序 第四回:渲染顶点 第五回:渲染索引顶点 第六回:摄象机 第七回:灯光 第八回:纹理 第九回:3D模型(.x)
java二分法源码C++ 中的 MiniJava 编译器(从头开始) 从 MiniJava() 到用(简单)C++ 编写的编译器。 据我所知,这是最快的 Minijava(到 LLVM IR)编译器。 描述 目前,编译器处于早期开发阶段。 在撰写本文时,...
java源码字符串缓冲区 这是 Java String 、 StringBuilder和StringBuffer方法/API 的完整指南。 本指南的源代码示例在我们的本地开发环境中进行了良好的测试,您可以将这些示例用作无错误。 您可以在 上了解更多信息...
你将学习如何从头开始编写Web服务以及集成现有服务到你的Java应用程序中。有了这《Java Web 服务:构建与运行(影印版)》,你将: · 理解基于SOAP的和REST样式的服务的区别 · 编写、部署和使用基于SOAP的核心...