最进做了一个网站,关于旅游方面的,但在做的过程中,遇到了一些问题,其中以个比较典型的,让我们头比较疼的错误,就是在程序发布到服务器上去之后,才几个人访问,内存就居高不下了,每刷新首页内存会上升10M,而且上去就不会掉下来,就是只升不降,最后报java.lang.OutOfMemoryError: Java heap space异常,只得从启服务器。这个问题很严重啊,程序才刚出来就像这样,要是以后访问的人多了,那还得了。这个异常是因为java虚拟机的内存占用了98%之后,就会出现,就是虚拟机的内存不够用了,开始还以为是以为是我们的服务器内存不够,后面升到了4G,但还是这样.在网上看了,很多人也遇见过,说可能是JAVA的堆栈设置太小的原因,这样的话,大致就是将堆栈设置大一点:如果你用win
/tomcat/bin/catalina.bat 加上下面的命令:
set JAVA_OPTS=-Xms32m -Xmx256m
如果你用unix/linux
/tomcat/bin/catalina.sh 加上下面的命令:
JAVA_OPTS="-Xms32m -Xmx256m"
按网上的设置了,运行,还是那样,动不动就死机。后面又问了老师,老师说可能是连接的session没有关闭,或者是逻辑错误,经过检查,session关闭了的,也没有什么逻辑错误。这可了我们了,问题解决不了,没有办法。都有点怀疑我们用的ssh框架的问题,但考虑过后,现在全世界那么多人都在用,别人用不会出现,应该不会是框架的问题。又将视线转移到程序上面,有面到群里面去请教的高手,他们说是我们程序的问题,要我们仔细检查下程序。但还是检查不出来,问题解决不了,程序有不能这样用,所以开始考虑从新做过,用以前熟练的servlet+JDBC来做,要是这样的话,可能会耽搁一些时间,所以还是用最后的时间来检查程序,希望能检查出来,最后,终于检查出来咯,原来我Action的是后掉用业务层的方法的时候,我们用的是在没个Action中去读取配置文件,没有用依赖注入,后面讲程序改成了用依赖注入的方式来使用,内存重开始的每刷新一下内存上升10M降低到了几百K,并且可以看到内存上升后会下降,问题终于解决了,啊,好高兴啊!!!!
分享到:
相关推荐
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
"Java.lang.OutOfMemoryError: Java heap space 解决方法" Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题...
在Tomcat中java.lang.OutOfMemoryError: Java heap space异常处理: 1. Heap size JVM堆的设置是指Java程序运行过程中JVM可以调配使用的内存空间的设置。 2. JVM在启动的时候会自动设置Heap size的值,其初始空间...
### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...
### Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决方案 在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用...
Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...
### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...
当应用程序创建大量对象,且这些对象生命周期较长,或者无法及时释放时,可能会导致堆内存溢出,表现为`java.lang.OutOfMemoryError: Java heap space`。为了解决这个问题,可以通过`-Xms`和`-Xmx`参数来设置堆的...
在Java程序中,`java.lang.OutOfMemoryError: Java heap space` 是一个常见的错误,意味着程序在运行过程中耗尽了JVM分配的堆内存。这个错误通常发生在创建大量对象或者单个对象占用过多内存时。 一、问题描述与...
java.lang.OutOfMemoryError: Java heap space 解决方法
在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于 JVM 默认分配的运行空间过小,导致 J2EE 项目加载的类过多,造成内存溢出。 PermGen space 是...
5. **增大PermGen或Metaspace大小**:如果你看到 `OutOfMemoryError: PermGen space` 或 `Metaspace`,这是方法区溢出,可以通过 `-XX:MaxPermSize` (对于老版本JVM) 或 `-XX:MaxMetaspaceSize` (对于Java 8及以后...
本文将针对两种常见的Java内存溢出错误——`java.lang.OutOfMemoryError: PermGen space`和`java.lang.OutOfMemoryError: Java heap space`进行详细的分析和解决方案的探讨。 首先,我们来看`java.lang....
Java中的“内存不足OOM (Out Of Memory):java.lang.OutOfMemoryError”是一个常见的运行时错误,它表示Java虚拟机(JVM)在尝试分配新的对象或数据结构时,发现系统内存不足以完成此操作。这个问题通常发生在程序...
1. Java堆内存溢出(Java heapspace) Java堆内存主要存储对象实例,其大小通过JVM启动参数-Xmx来限制。当堆内存不足以容纳新对象时,就会抛出java.lang.OutOfMemoryError: Java heap space错误。常见的解决方法是...
在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代(Permanent Generation)空间不足,导致了...
Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配新的内存对象时,Java虚拟机(JVM)无法找到足够的连续内存空间来完成操作。这个错误可能由多种原因引起,主要分为堆内存...
当程序创建的对象过多或单个对象占用内存过大时,如果没有足够的空闲内存来分配新对象,JVM就会抛出“OutOfMemoryError: Java heap space”错误。这可能是由于以下原因造成的: 1. **初始堆大小设置不当**:默认...