(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存
器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的
程序里找到寄存器存在的任何踪迹。
(2) 堆栈。驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。堆
栈指针若向下移,会创建新的内存;若向上移,则会释放那些内存。这是一种特别快、特别有效的数据保存
方式,仅次于寄存器。创建程序时,Java 编译器必须准确地知道堆栈内保存的所有数据的“长度”以及“存
在时间”。这是由于它必须生成相应的代码,以便向上和向下移动指针。这一限制无疑影响了程序的灵活
性,所以尽管有些Java 数据要保存在堆栈里——特别是对象句柄,但Java 对象并不放到其中。
47
(3) 堆。一种常规用途的内存池(也在RAM 区域),其中保存了Java 对象。和堆栈不同,“内存堆”或
“堆”(Heap)最吸引人的地方在于编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要
在堆里停留多长的时间。因此,用堆保存数据时会得到更大的灵活性。要求创建一个对象时,只需用new 命
令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存。当然,为达到这种灵活性,必然
会付出一定的代价:在堆里分配存储空间时会花掉更长的时间!
(4) 静态存储。这儿的“静态”(Static)是指“位于固定位置”(尽管也在RAM 里)。程序运行期间,静
态存储的数据将随时等候调用。可用static 关键字指出一个对象的特定元素是静态的。但Java 对象本身永
远都不会置入静态存储空间。
(5) 常数存储。常数值通常直接置于程序代码内部。这样做是安全的,因为它们永远都不会改变。有的常数
需要严格地保护,所以可考虑将它们置入只读存储器(ROM)。
(6) 非RAM 存储。若数据完全独立于一个程序之外,则程序不运行时仍可存在,并在程序的控制范围之外。
其中两个最主要的例子便是“流式对象”和“固定对象”。对于流式对象,对象会变成字节流,通常会发给
另一台机器。而对于固定对象,对象保存在磁盘中。即使程序中止运行,它们仍可保持自己的状态不变。对
于这些类型的数据存储,一个特别有用的技巧就是它们能存在于其他媒体中。一旦需要,甚至能将它们恢复
成普通的、基于RAM 的对象。Java 1.1 提供了对Lightweight persistence 的支持。未来的版本甚至可能提
供更完整的方案。
本文出自 “vanchao博客” 博客,请务必保留此出处http://sxchao.blog.51cto.com/907640/874145
分享到:
相关推荐
shp文件:地理信息系统,也被称作GIS,它主要的扩展类型是SHAPEFILE (.SHP),一个包含了矢量地理空间数据的流行文件格式,描述了几何形态,点,线和多边形,每一个都有他们各自的属性。 shape文件由ESRI开发,一个...
15.具有3个结点的二叉树有(5种形态) 16.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(13) 17.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(cedba) ...
第1章 Java概述、安装及简易教学 14 1-1 Java概述 14 1-2 Java安装 16 1-3 Eclipse安装 18 1-4 GUI设计工具WindowBuilder 18 1-5 在Eclipse开发第一个Java程式 23 1-6 在Eclipse开发第一个Java视窗程式-显示影像 26 ...
HBase可以支持N ative Java API、HBase Shell等多种访问接口,可以根据具体应用场合选择相应的访问方式,而且相对于传统的 关系数据库来说,HBase采用了更加简单的数据模型,把数据存储为未经解释的字符串, 用户...
Exchangis是微众银行开源的轻量级数据交换平台,用于数据在不同存储介质中快速传递,并解决数据交换过程中面临的复杂性、兼容性等问题。设计上采取微服务架构形态,上下层服务松耦合,易于进行个性化的,高拓展性的...
实验-文件夹包含用于进行分类器探索性测试的控制实验的文件-src分类器的Java源代码和测试代码-bin分类器的测试代码和测试代码的类文件-TestScripts用于执行实验的测试脚本-实验数据通过执行测试脚本生成的数据。...
微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下...
在用作请求服务和数据存储的所有节点上运行 NodeStarter.java 在您计划用作负载均衡器的系统上启动 LoadBalancer.java 完毕! 在系统中添加或删除新节点 使用 Admin.java 中的示例代码生成针对此功能之一的请求 ...
⼤数据的四⼤特点 说起⼤数据,估计⼤家都觉得只听过概念,但是具体是什么东西,怎么定义,没有⼀个标准的东西,因为在我们的印象中好像很多公司 都叫⼤数据公司,业务形态则有⼏百种,感觉不是很好理解,所以我建议...
单片机设计,工具源码,...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
StockCrossTracker:该程序的目的是提供最近做出金十字或死亡十字形态的股票的每日更新。 它使用Yahoo Finance来存储数据,然后将其转换为SQL数据库以提供对历史数据的更快访问
这是AvatolCV的源代码存储库,这是一个桌面Java应用程序,用于通过计算机视觉算法运行生物图像数据,以对形态特征进行评分。 人员 该系统由俄勒冈州立大学,EECS学院,机器学习小组开发,由 Jed Irvine-主要软件开发...
Core:包含基本的数据结构(如cv::Mat用于图像存储和操作)、基本的图像和矩阵操作、数学函数、文件I/O等底层功能。 ImgProc:提供图像预处理、滤波、几何变换、形态学操作、直方图计算、轮廓发现与分析等图像...
为您提供Exchangis轻量级数据交换平台下载,Exchangis是微众银行开源的轻量级数据交换平台,用于数据在不同存储介质中快速传递,并解决数据交换过程中面临的复杂性、兼容性等问题。设计上采取微服务架构形态,上下层...
微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下...
Core:包含基本的数据结构(如cv::Mat用于图像存储和操作)、基本的图像和矩阵操作、数学函数、文件I/O等底层功能。 ImgProc:提供图像预处理、滤波、几何变换、形态学操作、直方图计算、轮廓发现与分析等图像...
Exchangis是微众银行开源的轻量级数据交换平台,用于数据在不同存储介质中快速传递,并解决数据交换过程中面临的复杂性、兼容性等问题。设计上采取微服务架构形态,上下层服务松耦合,易于进行个性化的,高拓展性的...
这些服务使用不同的编程语言书写,以及不同数据储存技术,并保持最低限度的集中式管理。 简而言之:拒绝大型单体应用,基于业务边界进行微服务化拆分,各个服务独立部署运行。 2、集群、分布式、节点 集群是个物理...
数据库:可能采用了MySQL或其他关系型数据库来存储菜品信息、订单数据、用户信息等。 服务器部署:可能使用了Tomcat或其他Servlet容器来运行Web应用。 功能概述: 用户点餐:用户可以直接在微信小程序中浏览菜单,...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 ...• SQLite SQLite SQLite SQLite 用作结构化的数据存储 • 多媒体支持 包括常见的音频、视频和...