- 浏览: 912912 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangzhen199009:
good. Thx for your sharing.
REST和认证 HMAC -
jsshizhan:
你的这个SQL有问题的
数据库中如何使用SQL查询连续数字并且统计连续个数 -
maoghj:
dddddddddddddd
mysql 更改my.cnf 慢查询日志 -
zhoutong123a:
人的贪婪无止境,只能控制,不能满足
招人心得 -
xuerThinkVickie:
...
ZeroClipboard支持IE,firefox,Chrome复制到剪贴板
引用:http://blog.csdn.net/yidinghe
说数据持久化,初学者可能还不太懂;但要说把数据保存到文件,这谁都懂了。为什么说持久化就是把数据保存到文件?持久化指的就是当程序退出后,其中的数据能够保留下来,供程序再次运行的时候使用。这些数据保留在什么地方最好呢?当然是文件里。
保存到文件是数据持久化最常用的方式,除此之外,还可以把数据保存到数据库,或者发送到其它机器,这都是持久化。不过保存在文件是最简单的方式。具体来说就是:选取需要保存的数据,按照一定的格式组织起来,然后写入文件。下面是一个简单的例子:
说数据持久化,初学者可能还不太懂;但要说把数据保存到文件,这谁都懂了。为什么说持久化就是把数据保存到文件?持久化指的就是当程序退出后,其中的数据能够保留下来,供程序再次运行的时候使用。这些数据保留在什么地方最好呢?当然是文件里。
保存到文件是数据持久化最常用的方式,除此之外,还可以把数据保存到数据库,或者发送到其它机器,这都是持久化。不过保存在文件是最简单的方式。具体来说就是:选取需要保存的数据,按照一定的格式组织起来,然后写入文件。下面是一个简单的例子:
import java.io.*; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 持久化示例。如何将内存中的数据保存起来,并没有一定的格式,任何人 * 都可以根据自己的喜好来制定。持久化需要文件操作,所以请务必先弄懂 * 如何读写文件。 */ public class Persistant { // 文件名可随意指定,你可以用文本编辑器打开这个文件(注意,记事本无法处理换行) static String filename = "persons.data"; public static void main(String[] args) throws Exception { // 将这个程序运行两遍。 // 第一遍它会创建一些 Person 对象并保存到文件; // 第二遍它会从文件中读取对象数据并显示出来。 if (!new File(filename).exists()) { createAndSave(); } else { readAndShow(); } } // 生成并保存 Person 对象 private static void createAndSave() throws IOException { List<Person> persons = createPersons(); savePersons(persons); } // 读取并显示 Person 对象 private static void readAndShow() throws IOException { List<Person> persons = readPersons(); showPersons(persons); } // 创建要保存的 Person 对象 private static List<Person> createPersons() { List<Person> result = new ArrayList<Person>(); result.add(new Person("张三", new Date(), true)); result.add(new Person("李四", new Date(), false)); result.add(new Person("王五", new Date(), true)); return result; } // 保存 Person 对象到文件。保存格式为: // 1、每个 Person 一行 // 2、每行依次存放 name、birthday、male 三个属性值,用 tab 隔开 // 3、birthday 属性保存的是毫秒数,male 属性保存的是字符串 private static void savePersons(List<Person> persons) throws IOException { // 生成文件内容 String data = ""; for (Person person : persons) { data += getPersonString(person) + "\n"; } // 保存文件内容 FileWriter writer = new FileWriter(filename); writer.write(data); writer.close(); System.out.println("对象保存完毕。"); } private static String getPersonString(Person person) { return person.getName() + "\t" + person.getBirthday().getTime() + "\t" + person.isMale(); } // 从文件中读取 Person 对象 private static List<Person> readPersons() throws IOException { List<Person> result = new ArrayList<Person>(); BufferedReader reader = new BufferedReader(new FileReader(filename)); String line; while ((line = reader.readLine()) != null) { result.add(getPersonFromString(line)); } return result; } // 通过一行文件内容生成一个 Person 对象 private static Person getPersonFromString(String line) { String[] parts = line.split("\t"); // 获取被分隔的三个部分 return new Person( parts[0], // 姓名 new Date(Long.parseLong(parts[1])), // 出生日期 Boolean.parseBoolean(parts[2]) // 是否为男性 ); } // 显示 Person 对象 private static void showPersons(List<Person> persons) { for (Person person : persons) { System.out.println(person.getName() + ", " + person.getBirthday() + ", " + (person.isMale() ? "男" : "女")); } } } // 要持久化的类 class Person { private String name; // 姓名 private Date birthday; // 生日 private boolean male; // true 表示男性,false 表示女性 Person(String name, Date birthday, boolean male) { this.name = name; this.birthday = birthday; this.male = male; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public boolean isMale() { return male; } public void setMale(boolean male) { this.male = male; } }
发表评论
-
动态备份mysql慢查询日志
2016-07-28 11:22 428set global slow_query_log=0; 引用 ... -
java转义字符串
2015-07-15 15:30 749点的转义:. ==> u002E 美元符号的转义:$ ... -
Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
2015-03-31 16:56 785http://blog.csdn.net/sivyer123/ ... -
hadoop分析摘要
2012-12-09 18:44 0引用http://home.cnblogs.com/u/lij ... -
REST和认证 HMAC
2012-12-09 10:31 9121REST和认证 我们在设计REST(Representatio ... -
myeclipse设置tomcat发布目录
2012-07-18 11:00 1006... -
htmlparser:使用 HttpClient 和 HtmlParser 实现简易爬虫
2010-01-27 15:29 3281使用 HttpClient 和 HtmlPa ... -
Java发送Http请求,解析html返回
2010-01-27 14:46 2355转载:http://blog.csdn.net/wish_si ... -
eclipse java.lang.OutOfMemoryError: Java heap space 解决方案
2010-01-03 15:22 8053eclipse java.lang.OutOfMemoryEr ... -
抽奖程序
2009-12-11 12:56 1675Random.nextInt(400000) int a; ... -
HttpClient 入门
2009-10-17 02:08 1159HttpClient 是 Apache Jakarta Com ... -
从架构差异看Web高性能开发
2009-09-21 16:46 947一般情况下,架构分两 ... -
Java代码优化
2009-09-21 15:43 1604Java代码优化2008-10-26 22:11一、为什么要优 ... -
移位操作详细解释
2009-09-21 14:52 1260用移位操作替代乘法和除法 考虑下面的代码: for (va ... -
Java中四种XML解析技术不完全评测
2009-04-13 14:03 997在平时工作中,难免会遇到把XML作为数据存储格式。面对目前种类 ... -
最简单的游戏回血逻辑实现(包括源代码)
2009-04-13 13:25 1435http://blog.csdn.net/Mailbomb/a ... -
Java 小例子:通过Socket发送和接收 文件
2009-03-10 13:23 3450引用:http://blog.csdn.net/yid ... -
利用BlazeDS的AMF3数据封装与Flash 进行Socket通讯
2008-12-27 15:54 2594利用BlazeDS的AMF3数据封装与Flash 进行Sock ... -
Flash与JAVA的Socket通信
2008-12-19 17:59 4503Flash与JAVA的Socket通信 import jav ... -
MINA框架
2008-12-19 14:49 3276MINA框架_高占军的个人空间GuolinLee 收录于200 ...
相关推荐
总的来说,这个Java小例子展示了数据持久化的基本原理和实现步骤,通过文件作为中介,实现了程序运行状态的保存和恢复。在实际开发中,根据项目需求,可以选择更适合的数据持久化方案,如数据库、NoSQL存储、云存储...
1. **数据持久化**:允许将对象状态保存到文件或数据库。 2. **网络传输**:方便通过网络发送对象状态。 3. **版本控制**:支持序列化版本号,处理类版本变化。 **缺点**: 1. **性能开销**:序列化和反序列化可能...
在IT行业中,数据持久化是一项重要的任务,它指的是将数据保存到非易失性存储设备,以便在系统重启或关闭后仍然能够恢复。本案例中,“缓存List并写入文件持久化”的主题聚焦于如何将内存中的数据,特别是列表(List...
- **数据持久化**: 指的是程序中的对象状态在系统重启后仍然能够保存,即使没有内存支持也能保持其状态。在Hibernate中,数据持久化是通过对象和数据库记录之间的映射实现的。 2. **Hibernate 配置** - **...
本文主要探讨了Android数据持久化的文件存储方式,这是最基础的数据存储手段,适用于保存简单文本或二进制数据。 数据持久化是为了确保即使在应用程序关闭或设备断电后,内存中的数据仍能保持。Android提供了多种...
本章通过简单的helloapp应用例子,演示如何利用Hibernate来持久化Java对象。 3.1 创建Hibernate的配置文件 47 3.2 创建持久化类 48 3.3 创建数据库Schema 51 3.4 创建对象-关系映射文件 52 3.4.1 映射文件的...
本章通过简单的helloapp应用例子,演示如何利用Hibernate来持久化Java对象。 3.1 创建Hibernate的配置文件 47 3.2 创建持久化类 48 3.3 创建数据库Schema 51 3.4 创建对象-关系映射文件 52 3.4.1 映射文件的...
首先,LightGBM模型的保存和加载是模型持久化的重要步骤。在Python中,我们可以使用`lightgbm`库提供的`save_model`和`load_model`函数来实现这一过程。例如,一旦模型训练完成,可以使用以下代码保存模型: ```...
- **数据持久化技术**: 是指将程序中的数据存储到持久化存储介质(如硬盘)的过程。持久化技术有助于数据的长期保存,并支持跨系统和跨应用的数据共享。 - **Hibernate**: 是一个面向Java环境的对象关系映射(ORM)...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
在Java编程语言中,文件存储是一项基础且重要的任务,特别是在处理数据持久化时。这个"j文件存储(java代码)"示例展示了如何利用Java的IO流来存储学生信息到文本文件中。以下是对给定文件的详细解读: 1. **View....
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
在这个例子中,我们将探讨如何在Tomcat 6这样的Java应用服务器上配置并使用OSWorkflow,同时利用MySQL作为持久化存储。 首先,我们需要理解OSWorkflow的核心概念。它是基于Java的工作流管理系统,提供了一种声明式...
- **文件保存**: 一旦文件被接收,它们可能需要移动到持久化存储,如特定的文件夹,以供后续下载。 - **错误处理**: 需要考虑文件大小限制、文件类型检查以及上传过程中的其他异常情况。 2. **文件下载** - **...
1. **创建(Save/SaveOrUpdate)**:将Java对象保存到数据库,使得对象成为持久化状态。 2. **加载(Load/Get)**:根据主键从数据库中获取对象,使对象变为持久化状态。 3. **更新(Update)**:当对象状态发生变化...
在Java编程领域,文件上传是一项常见的任务,尤其在...总的来说,这个案例提供了一个全面的教程,涵盖了从用户界面设计、服务器端处理到数据持久化的整个过程。理解并实践这些知识点对于提升Java Web开发技能至关重要。
Java对象的序列化和反序列化是Java编程中一项...总结,Java对象的序列化和反序列化是Java编程中的基础概念,它涉及到数据持久化、网络通信等多个方面。理解并熟练运用这一技术,能够帮助开发者更有效地管理和传递数据。
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...