首页 > 编程语言 >jvm优化base java GC垃圾回收

jvm优化base java GC垃圾回收

时间:2023-02-14 15:56:45浏览次数:40  
标签:Java base GC 内存 jvm OutOfMemoryError java 溢出

OutOfMemoryError错误

Java堆内存的OutOfMemoryError异常是实际应用中常见的内存溢出异常情况。当出现Java堆内存溢出时,异常堆栈信息“java.lang.OutOfMemoryError”会跟着进一步提示“Java heap space”。

当产生的对象过多时,会出现这个错误信息。解决办法:调整虚拟机堆参数(-Xmx和-Xms)。

Java方法区会存储类信息、常量、静态变量等。如果产生了大量类,比如某个ssh项目因为加载了框架和大量jar包,这样class文件都会载入内存的方法区,这样如果出现内存无法继续扩展的情况,也会出现java.lang.OutOfMemoryError,然后紧跟着PermGen space信息。通过-XX:PermSize和-XX:MaxPermSize可以限制方法区大小。

 StackOverflow错误

Java中栈内存溢出,通常是由于栈深度超过限制深度,导致出现该问题。很常见的情况是,使用递归的时候,不小心忘了指定递归结束的时刻,导致递归深度超过限制深度,出现栈内存溢出。

是jvm中内存最大、线程共享的一块区域。唯一的目的是存储对象实例。这里也是垃圾收集器主要收集的区域。由于现代垃圾收集器都采用的是分代收集算法,所以java堆也分为新生代和老年代。

可以通过参数-Xmx(jvm最大可用内存)和-Xms(jvm初始内存)来调整堆内存,如果扩大至无法继续扩展时,会出现OutOfMemoryError的错误。

标签:Java,base,GC,内存,jvm,OutOfMemoryError,java,溢出
From: https://www.cnblogs.com/ruiy/p/17119842.html

相关文章

  • Java 之 invokedynamic
    简述Addanewbytecode,invokedynamic,thatsupportsefficientandflexibleexecutionofmethodinvocationsintheabsenceofstatictypeinformation.--JSR......
  • JAVA和Spring的SPI机制讲解
    目录1SPI机制讲解1.1引言1.2JavaSPI实现1.2.1示例说明1.2.2相关测试1.2.3源码分析1.3SpringSPI1.3.1Spring示例1.3.2相关测试类1.3.3源码分析1SPI机制讲解......
  • JavaScript对象属性的特性高级功能
    “usestrict”/创建一个对象最简单的方式:创建一个Object的实例,然后再为它添加属性和方法/varperson=newObject();person.name=“Hongbin”;person.age=21;per......
  • java连接数据库实现增删改查功能
    packagecom.atguigu.api.preparedstatement;importorg.junit.Test;importjava.sql.*;importjava.util.Scanner;publicclassPreparedStatement_CRUD_Test{//TODO......
  • 学好Java开发的关键7步
    1、多动手学编程语言不仅仅是从理论上的学习,更重要的是要利用这门语言为你的思想服务。理解这门语言是首要的,但是要达到心领神会、融会贯通就必须勤动手,多去时间,多编一......
  • Java 数组中紧跟 key 之后出现最频繁的数字
    数组中紧跟key之后出现最频繁的数字说明给你一个下标从0开始的整数数组nums,同时给你一个整数key,它在nums出现过。​统计在nums数组中紧跟着key后面出现的......
  • 三十分钟入门基础Go(Java小子版)
    作者:京东科技韩国凯前言Go语言定义​​Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与C相近......
  • Java练习题——选择
       单选题:分析如下语句System.out.println(“OnlyIntergerispermitted!”);intx=newScanner(System.in).nextInt();如果输入像@xy'这样......
  • Java中通过jdbc连接MySQL数据库的代码封装-简历版本【杭州多测师_王sir】【杭州多测师
    本次封装类分为两大块:db.properties(配置文件),JDBCUtil类(初始化,连接,关闭)。 db.properties配置文件driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:33......
  • 三十分钟入门基础Go(Java小子版)
    作者:京东科技韩国凯前言Go语言定义Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与C相近......