IDEA集成Jrebel 热部署内存溢出问题:java.lang.OutOfMemoryError: PermGen space

时间:2024-03-22 15:59:48

IDEA是一款优秀只能的IDE,不是一般的智能,其中主要的一个特点就是热部署,修改了后台代码(包括xml)可以不用重新启动就会生效,之前多次部署的时候会报 java.lang.OutOfMemoryError: PermGen space 错误。我这边用的是Jetty容器。

问题重现:

    IDEA集成Jrebel 热部署内存溢出问题:java.lang.OutOfMemoryError: PermGen space

系统一般没有报错。主要就是项目运行报错。

个人观点:在使用Jrebel 对项目进行热部署的时候,IDEA没有给对象堆区预留足够的空间,导致内存溢出,无法运行。

原因:原因就是jvm对永久区内存设置的太小,堆(heap)区小了,有些项目比较大,各种使用内存,当没有良好的规划对象的生命周期或者内存的时候,就很容易导致项目运行不起来或者运行起来之后给你宕掉。假设你有兴趣的话推荐你看一本:《深入理解java虚拟机》

解决:那就是增加jvm对应的内存

IDEA集成Jrebel 热部署内存溢出问题:java.lang.OutOfMemoryError: PermGen space