I asked this question already over in the general Java forum but this forum may give me a better answer. I think I've noticed a possible issue in Java. With Model View Controller pattern the model keeps the data and it is displayed in the view. However, this seems to mean you may have the same data in two places in the application simultaneously thereby wasting memory. Usually it's probably not a big deal, but if there is a massive amount of data in JTable or JList it could cut performance . In C++ you can use pointers to help get around some of these issues, but what do you do in Java? Does anyone know of any techniques to lessen this or am I just imagining a problem that's not really there?