首页 新闻 会员 周边

能否监听一个自己new的对象 在销毁前执行一系列操作

0
悬赏园豆:10 [已解决问题] 解决于 2019-09-02 16:39

现在的实现是,一个非静态对象可能会频繁修改,还要保持和缓存的一致,所以每次修改了对象之后就往缓存里更新一遍。如果可以监听对象销毁的话,可以在销毁前写一遍就好了

问题补充:

我现在覆写了Object类里的finialize方法,来将对象写入缓存中,考虑到这样的话,如果服务器挂了,更新后的数据就没了。有没有更好的方法?

不爱吃蘑菇的大蘑菇的主页 不爱吃蘑菇的大蘑菇 | 初学一级 | 园豆:83
提问于:2019-08-24 10:49
< >
分享
最佳答案
0

没有更好的方法,服务器随时会挂,放在内存中的数据随时都可能丢失,只能每次对象修改后进行持久化。

收获园豆:10
dudu | 高人七级 |园豆:30994 | 2019-08-24 14:10

好吧 即使是每次修改后持久化 服务器重启也会丢失数据吧 丢失的少一点?

不爱吃蘑菇的大蘑菇 | 园豆:83 (初学一级) | 2019-08-26 08:34
其他回答(1)
0

如果可以监听对象销毁的话,可以在销毁前写一遍就好了——那你改变怎么办?!

参考redis做一个实现,你这就是redis干的一部分活。你如果要同一个进程,可以用现成的cache加一个持久化策略就能实现。

花飘水流兮 | 园豆:13560 (专家六级) | 2019-08-24 15:41

改变的话 我想直接改变对象的属性 运行时直接从属性里读 然后销毁的时候写到数据库里/缓存库里。

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册