当前位置: 代码迷 >> J2SE >> java内存不够用怎么扩展
  详细解决方案

java内存不够用怎么扩展

热度:44   发布时间:2016-04-23 19:57:02.0
java内存不够用如何扩展
各位Java高手,据我所知Java默认的虚拟机的内存只有64M,通过配置也只能达到1-2个G,那么有什么办法扩大java虚拟机的内存或者采用集群技术能扩大java运行的内存吗?64M是针对所有的java程序吗?如果运行两个程序是不是两个程序所使用的内存加起来不能超过64M吗?
------解决思路----------------------
1、可以通过-Xmx来加大虚拟机内存
2、你说的最大1-2G,指的是32位虚拟机,你如果操作系统内存很大,装64位虚拟机,就可以更大
3、你如果跑多个java进程,多个进程相当于就是多个虚拟机,是不存在共享内存的,操作系统的多个进程怎么会共享内存呢?
------解决思路----------------------
设置的内存是JVM分配给项目的内存,一般情况下,会把项目分为多块,内存是不共享的,不同块之间可以通过RPC来调用。内存大小和操作系统有关,如果是32位,寻址最大内存的2^32,也就是4G,而且还要分配系统内存,实际用户分配的不到4G.集群的话,是在Web层进行集群的,每个JVM还是自己的,集群不能扩大JVM内存,只不过运用了负载均衡让请求均摊。
------解决思路----------------------
32位JVM最大分配内存是2G,64位JVM实际上相当于无上限了。