我可以用Java创建自己的缓存吗?不是第三方框架?

时间:2014-11-13 19:59:11

标签: java caching

Java本身是否支持缓存?由于策略不允许我使用第三方框架或库,我想创建自己的缓存来存储数据库数据。当我尝试通过谷歌进行研究时,我只看到那些JCS,EhCache,Hibernate等...... 例如,这是C#的缓存
- http://msdn.microsoft.com/en-us/library/system.web.caching.cache(v=vs.110).aspx

如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:4)

您可以通过实施Flyweigth Pattern开始创建自己的缓存系统。这可以使用普通数组或类似Map<K,V>的更复杂的数据来完成,并且可能使用ConcurrentHashMap<K, V>

如果您正在使用Web应用程序,那么您可以使用ServletContext作为缓存,因为它的所有应用程序都共享它们,但要小心,因为您的类不应该直接访问对于此类,请从Servlet或其他可帮助您访问它的技术访问它。

但是,创建自己的缓存系统并不是一个好主意。最好使用库中的缓存,它提供的选项多于内存中基本的巨型并发Map<K, V>