java中出现内存溢出如何解决

java中出现内存溢出如何解决

本篇文章为大家展示了java中出现内存溢出如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。

1、概念

内存溢出是指应用系统中存在不可回收的内部才能,最终使程序运行所需的内存大于虚拟机所提供的最大内存。

2、Java内存溢出类型

(1)JVM Heap(堆)溢出

java堆是线程共有的区域,主要用来存放对象实例,几乎所有的java对象都在这里分配内存,也是JVM内存管理最大的区域。java堆内存分年轻代和年老代,堆内存溢出一般是年老代溢出

解决方法:手动设置JVM Heap(堆)的大小。  

(2)PermGen space溢出

解决方法: 手动设置MaxPermSize大小

(3)栈溢出

栈溢出的原因一般是循环调用方法导致栈帧不断增多,栈深度不断增加,最终没有内存可以分配。

解决方法:修改程序。

上述内容就是java中出现内存溢出如何解决,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。