IDEA是一款优秀只能的IDE,不是一般的智能,其中主要的一个特点就是热部署,修改了后台代码(包括xml)可以不用重新启动就会生效,之前多次部署的时候会报 java.lang.OutOfMemoryError: PermGen space 错误。我这边用的是Jetty容器。
问题重现:
系统一般没有报错。主要就是项目运行报错。
个人观点:在使用Jrebel 对项目进行热部署的时候,IDEA没有给对象堆区预留足够的空间,导致内存溢出,无法运行。
原因:原因就是jvm对永久区内存设置的太小,堆(heap)区小了,有些项目比较大,各种使用内存,当没有良好的规划对象的生命周期或者内存的时候,就很容易导致项目运行不起来或者运行起来之后给你宕掉。假设你有兴趣的话推荐你看一本:《深入理解java虚拟机》
解决:那就是增加jvm对应的内存