非-Ram存储

时间:2013-06-11 15:39:12

标签: java storage ram

我正在通过 Bruce Eckel “Thinking In Java”学习java。我无法理解Non -Ram Storage的概念。

正如书中所说:

  

非RAM存储。如果数据完全存在于程序之外,它可以   当程序没有运行时,在控制之外存在   程序。这两个主要的例子是流式对象   哪些对象被转换为字节流,通常是要发送的   到另一台机器,以及对象所在的持久对象   放在磁盘上,即使程序正常,它们也会保持状态   终止。这些类型的存储的诀窍是转向   将对象转换为可以存在于其他媒体上的东西,但却可以   必要时可以复活到常规的基于RAM的对象中。 Java的   提供对轻量级持久性的支持,以及诸如的机制   JDBC!

什么是轻量级持久性?将对象转换为可以存在于其他介质上的东西是什么意思,并且可以在必要时复活到常规的基于RAM的对象中?

2 个答案:

答案 0 :(得分:4)

持久性数据是可以比创建它的程序寿命更长的信息。大多数复杂程序使用持久性数据:GUI应用程序需要跨程序调用存储用户首选项,Web应用程序需要长时间跟踪用户移动和订单等(下面提供的源代码)

以下是您的问题的答案: 轻量级持久性是一个存储区域,需要开发人员一点或根本不需要工作。示例:Java序列化是轻量级持久性的一种形式,因为它可以用来将Java对象直接持久保存到文件中。

我很高兴你不仅仅是在阅读这本书......而是你在询问书中遇到的任何问题。祝你好运

source

答案 1 :(得分:2)

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

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