如何克隆缓存中取出的内容?
JCS empcache=JCS.getInstance("empcache");
Employee employee=empcache.get("john");
System.out.print(employee.getDepartment()); //假设此时输出结果为"HR"
employee.setDepartment("Market");
System.out.print(employee.getDepartment()); //输出结果为"market"
System.out.print(empcache.get("john").getDepartment()); //这里的输出结果也变成了"market",但我不希望它改变.
我希望的结果是将缓存对象clone(深度复制)一个副本,当副本改变时缓存对象不会受到任何影响.
我知道可以自己重写Employee的clone()方法来实现对Employee对象的深度复制,但这样做很麻烦,而且不够灵活.不知道JCS里面有没有什么配置或方法使得从缓存中取出的是一个副本? 当然,除JCS之外的其它缓存技术如果能实现这种需求的话也请推荐一下.
相关推荐
cached-clone:克隆存储库并利用本地缓存
缓存克隆 克隆存储库并利用本地缓存。 Git子模块和Git LFS文件也被缓存。 安装 将git-cclone复制到您路径中的目录。 用法 git cclone <repo> <cache> <working> <ref> repo-url是您要克隆的存储库的URL cache-dir是用于缓存的目录(可能会变大!) working-copy-dir是结帐目录(始终清除!) ref表示您要签出的分支,但也可以是... ...通过tags/<tag>的标签引用 ...通过pull/<pr>/head或pull/<pr>/merge请求请求 用法示例 第一次运行将填充缓存并进行克隆(在此示例中,此过程耗时36秒): $ git cclone https://github.com/git/git cache repo maste
c4d.python克隆体缓存操作 & 割草代码--支持事件回滚
c4d.python克隆体缓存操作 & 割草代码--支持事件回滚
git-cache:缓存定期克隆的Git存储库
git缓存 语境 如果您重复克隆Git存储库(例如,用于黑客攻击的软件),则可能会在克隆操作期间始终等待,特别是大型软件的等待时间过长,可能会因此而烦恼。 另一方面,如果您的计算机上有多个Git存储库副本,那么您可能不希望使用它。 Git具有功能“ --reference” / alternates,它使间接提交到同一台计算机上另一个目录的可能性成为可能。 用例是: $ cd ~/test $ git clone https://example.org/git/repo.git normal-repo (you wait minutes or hours, and the resulting directory is big) $ git clone --reference ~/test/repo https://example.org/git/repo.git reference
java深度克隆
java深度克隆,可以复制对象,非常好用,谁用谁知道!
对象克隆、复制工具
对象复制工具,基于cglib BeanCopier 实现对实体对象、持久化对象、代理对象的克隆和复制, 避免重复克隆和复制,避免无限循环引用,(校验hashCode) 可指定实体对象和集合属性的克隆深度


