Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要建议,开始用java开发缓存应用程序_Java_Caching_Map_Hashmap_In Memory - Fatal编程技术网

需要建议,开始用java开发缓存应用程序

需要建议,开始用java开发缓存应用程序,java,caching,map,hashmap,in-memory,Java,Caching,Map,Hashmap,In Memory,我知道这是一个主观的问题,我试着用谷歌搜索,并浏览了不同缓存提供商的文档,如ehcache等 用例/问题陈述:一个应用程序(缓存应用程序)将位于服务器的不同VM中,多个应用程序(如应用程序A、B、C)驻留在不同VM中,可以与缓存应用程序通信,类似于Sqlfire/gmfire的概念,即内存缓存 方法: 注意:考虑到需求,我不想使用现有的缓存机制,如mmcache、ehache等 你能告诉我从哪里开始吗,比如: 1-使用HashMap/ConcurrentHashMap是否是正确的方法? 2-我如

我知道这是一个主观的问题,我试着用谷歌搜索,并浏览了不同缓存提供商的文档,如ehcache等

用例/问题陈述:一个应用程序(缓存应用程序)将位于服务器的不同VM中,多个应用程序(如应用程序A、B、C)驻留在不同VM中,可以与缓存应用程序通信,类似于Sqlfire/gmfire的概念,即内存缓存

方法: 注意:考虑到需求,我不想使用现有的缓存机制,如mmcache、ehache等

你能告诉我从哪里开始吗,比如:

1-使用HashMap/ConcurrentHashMap是否是正确的方法? 2-我如何实现不同的虚拟机通信 3-一些我作为初学者应该遵循的最佳实践。 这里发布了各种各样的问题,其中一个链接是

我仍然不知道如何通过与这个缓存虚拟机对话来实现不同的虚拟机


我可能不太清楚,无法说出我想说的大概意思,如果您需要进一步澄清,请告诉我。

不同的虚拟机相互通信,您可以使用RMI、Web服务、Rest服务。使用RMI,您必须使用Java作为另一个通信方。然而,web服务和RESTWeb服务将为您提供使用.NET、Java或其他缓存客户端的优势

首先:

使用集合时,如果您有大量的读写操作,您可以使用ConcurrentHashMap,这仍然会有更好的性能

你应该考虑更多的参数:

  • 内存管理
  • 元素老化
  • 驱逐政策
但是,如果没有什么不同或更好的东西可以提供,那么重新发明轮子就不是一个好主意

你还需要考虑,缓存应用程序不会因为内存太多而耗尽内存。