2

我正在从Bruce Eckel的“Thinking In Java”中学习 Java 。我无法理解非内存存储的概念。

正如书中所说:

非 RAM 存储。如果数据完全存在于程序之外,则它可以在程序未运行时存在,不受程序的控制。这方面的两个主要示例是流对象,其中对象被转换为字节流,通常发送到另一台机器,以及持久对象,其中对象被放置在磁盘上,因此即使在程序运行时它们也将保持其状态被终止。这些类型存储的诀窍是将对象变成可以存在于其他介质上的东西,但在必要时可以复活为基于 RAM 的常规对象。Java提供了对轻量级持久化的支持,以及JDBC等机制!

什么是轻量级持久性?..将对象变成可以存在于其他介质上的东西,但在必要时可以复活为常规的基于 RAM 的对象是什么意思?

4

2 回答 2

4

持久数据是可以比创建它的程序寿命更长的信息。大多数复杂程序使用持久数据:GUI 应用程序需要跨程序调用存储用户偏好,Web 应用程序长期跟踪用户移动和订单等(来源如下)

这是您的问题的答案:轻量级持久性是一个存储区域,需要开发人员进行少量工作或根本不需要工作。示例:Java 序列化是轻量级持久化的一种形式,因为它可用于将 Java 对象直接持久化到文件中,而无需付出任何努力。

我很高兴您不只是在阅读这本书……而是在就您在书中遇到的任何问题提出问题。祝你好运

资源

于 2013-06-11T15:49:34.747 回答
2

java(和其他语言)中有一个称为序列化的处理。基本上,它允许您将对象转换为字节流,因此可以将其写入文件、存储在数据库中、发送到云等。其想法是在存储的对象和内存中的 RAM 对象。如果您自己做,例如将单个字段写入文件或数据库,则需要提出文件格式或数据库模式。这是重量级存储。

这是一个关于java序列化的教程:http ://www.tutorialspoint.com/java/java_serialization.htm

于 2013-06-11T15:48:52.630 回答