首页 > 编程语言 >java堆简单介绍

java堆简单介绍

时间:2023-05-08 23:56:19浏览次数:46  
标签:1024 java jdk System 介绍 实例 简单 out

java对象实例是放置堆上,但不是说所有的对象实例都在对上,可能有些对象实例位于本地方法区

 下面说说堆的特点

 堆是属于java虚拟机中内存最大的一部分

堆是jvm中所有线程可以共享的

垃圾收集器管理的主要区域来源于java堆

 java堆可以细分为新生代和老年代

java堆在物理存储上是不连续的,但是逻辑上是连续的,对应的大小通过-Xms和-Xmx调节

堆中的实例对象,并不是方法结束后就直接被回收了,直接回收的话,jvm压力很大的,所以是异步回收

当堆内存不够了,就会抛出OutOfMemoryError异常

下面使用实际代码测试结果

测试代码

package com.java.test;

import java.util.ArrayList;

/**
 * @Description:
 * @Author: qiuxie
 * @Create: 2023/5/7 23:52
 */
public class JvmTest {

    /**
     * jvm堆内存相关
     * -Xmx20M -Xms5M
     * @param args
     */
    public static void main(String[] args) {
        //创建数据分配内存
        //int[] a=new int[3*1024*1024];
        //a[0]=12345;
        System.out.print("Xmx=");
        System.out.println(Runtime.getRuntime().maxMemory() / 1024.0 / 1024 + "M");
        System.out.print("free mem=");
        System.out.println(Runtime.getRuntime().freeMemory() / 1024.0 / 1024 + "M");
        System.out.print("total mem=");
        System.out.println(Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");
    }

}

  

设置的堆内存大小
-Xmx20M -Xms5M

 

 不同的jdk版本中,堆中的包含也是不一样的

在jdk 1.7中

报错部分可忽略

 

 而在jdk 1.8中

只有青年代和老年代了

-XX:+PrintGCDetails

  

 

 jdk 11的堆空间信息

 

 相比较jdk 1.8,少了很多

 以上就是关于java堆的简单介绍

 

标签:1024,java,jdk,System,介绍,实例,简单,out
From: https://www.cnblogs.com/q202105271618/p/17373816.html

相关文章

  • 游戏/微课堂录屏Camtasia Studio 2023中文版功能介绍及ppt录制微课软件哪个好
    CamtasiaStudio2023是一款屏幕录制和视频剪辑软件,教授课程,培训他人,以更快的速度和更吸引人的方式进行沟通和屏幕分享。使您在Windows和Mac上进行录屏和剪辑创作专业外观的视频变得更为简单。让您用更短的时间创作更多的视频。无需任何经验,0基础也能轻松上手,使用Camtasia创作出专......
  • Java-Day-17( 集合( Collection 里的 List、Set ) )
    Java-Day-17集合先前用于保存多个数据使用的是——数组长度开始必须指定,且不能更改保存的必须为同一类型的元素使用数组进行增删元素的代码较为麻烦例:扩容的要先建新数组,再拷贝原数据、添加新对象引出集合可以动态保存任意多个对象,使用比较方便提供了一系列......
  • java.lang.NullPointerException解决方案,以及发生的原因。
    其实解决方案,倒是挺简单的,eclipse的console里,报错的地方点一下,就知道在哪一行了。真正要注意的是怎么避免这种情况的发生。通常情况下,这种错,发生在取数据的过程,比方从数据库查询数据,亦或者说是,发生在数据传输的过程中。譬如1packagetest;23importjava.util.List;......
  • KBC POKER完整功能介绍
    先用效果图来解释下面是完整版的配列视图看不清的请点击看大图键盘爱好者是用键盘来表达自己的想法传递我们的理念首先向大家介绍的就是POKER的语法:POKER有五套“语言系统” 其中Fn是这套系统的核心组成部分1.键帽正面的同刻——是最普通最好理解的大家所见即所得2.键帽侧面......
  • 【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP
    问题描述查看JavaStorageSDK,想找一个 uploadWithResponse 的示例代码,但是通过全网搜索,结果没有任何有帮助的代码。使用最近ChatGPT来寻求答案,得到非常有格式的内容:问:javaazurestorageaccounttouseuploadWithResponse答:TousetheuploadWithResponsemethodw......
  • Java数组
    Java数组Java中,数组是用来存储固定大小的同类型元素。声明数组变量声明语法:dataType[]arrayRefVar;//首选方法dataTypearrayRefVar[];//效果相同,但不是首选例:double[]myList;doublemyList[];创建数组语法:arrayRefVar=newdataType[arraySize];......
  • 简单filter权限控制
    download。jsp<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>download</title></head><body><ahref="">ziyau1</a><ahref="&quo......
  • java基于ssm的求职招聘管理系统、校园求职招聘管理系统,附源码+数据库,适合毕业设计、课
    1、项目介绍​该求职招聘网站基于B/S架构,采用SSM框架,运用JSP网页开发技术,并结合MySQL数据库,为招聘者和求职者搭建了一个高效、便捷的网络招聘平台。系统总共有三个角色:求职者、招聘者、管理员​本系统分别为前台求职招聘和后台系统管理,功能如下:​1.前台求职招聘​前台首......
  • 20天学会 java
    环境搭建,基础知识,高级知识,项目20天学会java00.java介绍01.java环节搭建,IDEA,java语言02.java语法,运算符,随机数03.java分支,循环,控制关键字04.数组,set,collections,map,集合05.方法06.面试对象基础07.常用api08.综合项目实战09.IO10.多线程11.网络编程12.高级技术:单元......
  • Java保留有效小数与百分数
    Java保留有效小数与百分数1.有效小数/***保留有效小数*@paramtargetForm目标形式*@paramoriginNum初始数字*@return有效小数*/publicStringgetSignificantDecimal(StringtargetForm,StringoriginNum)......