Java中MappedByteBuffer共享内存的问题,如何将一个Map共享?求解

Python011

Java中MappedByteBuffer共享内存的问题,如何将一个Map共享?求解,第1张

我找到的办法是使用MappedByteBuffer的方法映射一个文件,实现内存共享。

引用集群两大功能负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。如果这部分资源不可用的话,集群就不能体现它错误恢复的强大关键功能。

========分割线==============

如果非要共享,我想也可以利用集群中的两大技术之一“内部通信”来实现共享访问。但关于这方面的资料甚少。这部分共享数据只用来高速只读访问,挂的可能性不大。

lovewhzlq 写道现在关于分布式缓存的应用一般都采用memcached(分布式内存缓存系统),

不过客户端连接memcached还是基于socket,

不过你可是以把memcached和tomcat应用都放在一台服务器上,通信应该比较快在同一台机器上试过了,速度不理想。说白了我内存中有一个巨大数组,每次用户访问需要从数组中取几千次数据,并且不连续,基于socket的方式似乎不适合我。

多个进程哦,你确定不是多线程,多线程的话缓存类可以解决,多进程的话你可以试试将数据存储在共享文件中,例如txt,excel,xml文件中,这些规则怎么存代表什么意思可以自己定,进程间通讯可能就麻烦点了

JNI是Java Native Interface的缩写,中文为JAVA本地调用。使用JNI可以很方便的用我们的Java程序调用C/C++程序。

很多时候,某些功能用Java无法实现,比如说涉及到底层驱动的一些功能,这时候我们就可以利用JNI来调用C或者C++程序来实现,这就是JNI的强大之处。

但是JNI也有它的缺点,使用java与本地已编译的代码交互,通常会丧失平台可移植性。