将内存中的对象组合到其他对象

时间:2017-08-29 12:09:06

标签: java memory

我正在寻找一种Java方法,只使用一个具有多个引用的对象,而不是只有一个引用的多个对象。

我有一个客户端服务器应用程序,客户端在本地保存需要向用户显示的数据。但是当客户端打开两个屏幕时,它可以包含来自服务器的多个对象。对于内存,最好检测一下并更改对第一个对象的引用。

例如: 服务器发送A对象的列表,每个对象具有到对象B的链接;

class B {}

class A
{
    private B varB;
}

片刻之后,客户要求其他数据提供另一个屏幕。

class C
{
    private B varB;
}

因此,对象B在客户端内存中是两次。有没有办法在内存中检查两次相同的对象,并将引用更改为只有一个对象并丢弃另一个对象?

1 个答案:

答案 0 :(得分:3)

对于向服务器发出的每个请求,您都必须查看该请求的对象;如果之前没有加载对象,则将其存储到缓存中;如果之前已经加载过,请将其替换为缓存中的副本。这种实现的难度取决于程序的结构。