`
flyingis
  • 浏览: 297778 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中存储数据的地方

阅读更多
   作者:Flyingis

   在Java程序运行时有6个地方可以存储数据:

1.寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。
2.
堆栈:位于通用RAM中,但通过堆栈指针可以从处理器那里获得直接支持。
3.
堆:一种通用的内存池(也位于RAM),用于存放所有的Java对象。
4.
静态存储:这里的静态指的是在固定的位置”(尽管也在RAM),存放程序运行时一直存在的数据。
5.
常量存储:常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。
6.
RAM存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序中没有运行时也可以存在。

       
Java程序设计时经常用到一系列类型,比如char/byte/int/long/float等等,我们有两种方式创建方式,例如创建一个String类型的引用并初始化为“Java”

        String s = "Java";
       
 String s = new String("Java")<stroke joinstyle="miter"></stroke> <formulas> <f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f> </formulas> <lock v:ext="edit" aspectratio="t"></lock><shape type="#_x0000_t75" alt="" style="width: 11.25pt; height: 11.25pt;" id="_x0000_i1025"><imagedata src="file:///D:\Temp\msohtml1\01\clip_image001.gif" o:href="http://www.blogcn.com/images/wink.gif"></imagedata></shape>;

       
采用第一种方式创建了一个并非是引用的变量,它的值为“Java”,置于堆栈之中。而第二种方式创建了一个对象,它被存储在堆里,不及在堆栈中高效。因此,当我们需要创建一个很小的、简单的变量时,采用第一种方式更好。这是Java数据存储的一个细节。
分享到:
评论

相关推荐

    JAVA数据结构存储剖析

    JAVA数据结构存储剖析,如果您认真看完这篇文章,估计java中内存方面肯定会有所帮助,这篇文章是并非自己写的。有什么不对的地方,欢迎批评指正。

    用java实现爬虫抓取网页中的表格数据功能源码

    使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...

    数据结构与算法代码详解JAVA版

    本资源"数据结构与算法代码详解JAVA版"聚焦于使用Java语言来理解和实现这些核心概念。 首先,数据结构是组织和存储数据的方式,它为高效地执行各种操作提供了便利。常见的数据结构包括数组、链表、栈、队列、树(如...

    SuperMap Objects Java 属性数据转点数据集

    3. **创建空间数据结构**:定义一个新的点数据集,即`IDataSet`实例,这将是存储转换后空间数据的地方。 4. **构建特征**:对于属性数据的每一行,创建一个`IFeature`对象,将`IPoint`作为其几何对象,并将属性值...

    java后台生成JSON数据

    - Store:存储数据的地方,它可以连接到服务器端的 JSON API,并自动处理数据的加载、添加、修改和删除操作。 - Model:定义数据结构,对应于后端的实体对象,每个字段都有对应的属性名。 2. **EXT 的 AJAX 请求*...

    java多数据源注解方式

    在Java开发中,多数据源配置是常见的需求,特别是在大型企业级应用中,可能需要连接到多个数据库,例如,一个用于存储主业务数据,另一个用于日志或审计数据。本篇将详细介绍如何通过注解的方式来实现Java中的多数据...

    Java多数据源源码

    在Java开发中,多数据源是指应用程序需要连接和操作多个不同的数据库。这通常发生在大型系统中,例如,可能需要一个数据库来存储用户信息,另一个数据库处理订单,还可能有第三个数据库用于日志记录。Spring Boot...

    java读取excel数据!

    4. **保存数据**:如果你想要将读取的数据保存到其他地方,可以考虑将它们写入一个新的Excel文件,或者存储在数据库、文本文件或其他数据结构中。例如,如果你想将数据写回新的Excel文件,可以创建一个新的`...

    WebMagic(Java)简单爬虫实现,实现抓取数据,并导出到excel文件

    `Seeder`负责提供初始的URL,`Downloader`用于下载网页内容,`PageProcessor`解析并提取所需数据,最后`Pipeline`处理并存储抓取的数据。 1. **安装与配置WebMagic**: 在Java项目中,你可以通过Maven或Gradle将...

    深入Java对象及元素的存储区域

    堆内存是Java程序中最主要的内存区域,也是最容易发生内存溢出的地方。Java对象实例和数组都在这里分配内存。垃圾收集器的主要工作也是在这里完成的。堆内存可以进一步细分为新生代和老年代。 - **新生代(Young ...

    vtk java wrap 显示数据

    VTK数据通常存储在如.vtk或.vtp等特定格式的文件中,这些文件包含了关于几何形状、颜色、纹理等信息。在`vtkImporter.java`中,我们可能会看到如下步骤: 1. 导入必要的VTK库:首先,你需要引入VTK的Java库,例如`...

    java中内存分配

    Java 程序运行时有 6 个地方可以存储数据,它们分别是寄存器、栈、堆、静态存储、常量存储和非 RAM 存储,主要是堆与栈的存储。 栈(stack)和堆(heap)是 Java 用来在 RAM 中存放数据的地方。与 C++ 不同,Java ...

    java数据流

    在Java中,数据流主要用于处理字节流和字符流,它们是IO操作的基础。下面将详细阐述Java数据流的相关知识点。 1. 字符流与字节流: Java中的数据流分为两大类:字符流(CharStream)和字节流(ByteStream)。字符...

    在Oracle8i中使用java编写存储过程.rar

    总之,Oracle8i的Java存储过程功能为开发人员提供了一种强大而灵活的方法来扩展数据库的功能,使得数据库不仅仅是存储数据的地方,还可以执行复杂的业务逻辑。通过学习和掌握这一技术,开发者可以创建出更高效、更...

    JAVA WEB实现echarts动态图表实例.zip

    `src`目录是源代码存放的地方,通常包含Java类文件,这里是实现后台业务逻辑的地方,比如连接数据库、获取数据并转换为JSON格式以供ECharts使用。`build`目录可能是编译后的类文件或临时构建产物。`.settings`目录...

    java中堆(heap)和堆栈(stack)有什么区别

    栈和堆都是 Java 用来在 Ram 中存放数据的地方。与 C++不同,Java 自动管理栈和堆,程序员不能直接地设置栈或堆。栈的优势是,存取速度比堆要快,仅次于直接位于 CPU 中的寄存器。但缺点是,存在栈中的数据大小与...

    java源码:Java数据压缩与传输实例.zip

    在Java编程语言中,数据压缩和传输是两个关键的领域,尤其在大数据处理、网络通信以及文件存储中扮演着重要角色。本实例聚焦于如何利用Java实现数据的压缩和解压,以及如何进行数据传输。这里我们将深入探讨相关知识...

    JAVA中使用LDAP进行用户认证

    通过将LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至可以将主要的数据源放在任何地方。 在使用LDAP进行用户认证时,需要首先建立LDAP连接,然后使用用户名和密码进行身份验证...

Global site tag (gtag.js) - Google Analytics