由in.use想到的

在Eclipse中,当模拟器运行时,在appdb目录下面会有产生一个in.use的文件,这个文件是空的,当模拟器关闭后,这个文件被删除。这让我想到了java程序设计中的异常处理。

在java程序启动时,数据从磁盘导入内存,此时,内存中的数据与磁盘是一致的。在程序运行过程中,内存中的数据被修改,由于效率、速度等各方面的原因,磁盘中的数据没有被修改。这就会使得磁盘中的数据与内存中的数据不一致。在java程序正常退出时,将内存中的数据写入磁盘,数据被保存。

这是正常的过程,而如果在程序运行过程中,突然掉电,就会导致内存中的数据丢失。一种处理的办法是用临时文件,这个临时文件可以是RMS,也可以是文件。当java程序正常退出时,删除临时文件。而如果是非正常退出,临时文件中就记录了内存中本来会被丢失的数据。

临时文件如何恢复?

可以使用Eclipse的这种机制,在程序启动时,检查in.use文件是否存在,如果存在,就认为程序是非正常退出,就需要读取临时文件,恢复数据。如果不存在,则认为程序是正常退出,就创建一个in.use文件,在程序正常退出时,删除in.use文件。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值