Java本身是否支持缓存?由于策略不允许我使用第三方框架或库,我想创建自己的缓存来存储数据库数据。当我尝试通过谷歌进行研究时,我只看到那些JCS,EhCache,Hibernate等......
例如,这是C#的缓存
- http://msdn.microsoft.com/en-us/library/system.web.caching.cache(v=vs.110).aspx
如果我错了,请纠正我。
答案 0 :(得分:4)
您可以通过实施Flyweigth Pattern开始创建自己的缓存系统。这可以使用普通数组或类似Map<K,V>
的更复杂的数据来完成,并且可能使用ConcurrentHashMap<K, V>
。
如果您正在使用Web应用程序,那么您可以使用ServletContext
作为缓存,因为它的所有应用程序都共享它们,但要小心,因为您的类不应该直接访问对于此类,请从Servlet
或其他可帮助您访问它的技术访问它。
但是,创建自己的缓存系统并不是一个好主意。最好使用库中的缓存,它提供的选项多于内存中基本的巨型并发Map<K, V>
。