我正在寻找一种Java方法,只使用一个具有多个引用的对象,而不是只有一个引用的多个对象。
我有一个客户端服务器应用程序,客户端在本地保存需要向用户显示的数据。但是当客户端打开两个屏幕时,它可以包含来自服务器的多个对象。对于内存,最好检测一下并更改对第一个对象的引用。
例如: 服务器发送A对象的列表,每个对象具有到对象B的链接;
class B {}
class A
{
private B varB;
}
片刻之后,客户要求其他数据提供另一个屏幕。
class C
{
private B varB;
}
因此,对象B在客户端内存中是两次。有没有办法在内存中检查两次相同的对象,并将引用更改为只有一个对象并丢弃另一个对象?
答案 0 :(得分:3)
对于向服务器发出的每个请求,您都必须查看该请求的对象;如果之前没有加载对象,则将其存储到缓存中;如果之前已经加载过,请将其替换为缓存中的副本。这种实现的难度取决于程序的结构。