首页 > 其他分享 >JVM 堆中存什么?栈中存什么?

JVM 堆中存什么?栈中存什么?

时间:2022-08-21 19:33:41浏览次数:56  
标签:基本 栈中存 堆中存 对象 引用 JVM 类型

堆中存什么?栈中存什么?


堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用。一个对象的大小是不可估计的,或者说是可
以动态变化的,但是在栈中,一个对象只对应了一个4btye的引用(堆栈分离的好处:))。
为什么不把基本类型放堆中呢?因为其占用的空间一般是1~8个字节——需要空间比较少,而且因为是基本
类型,所以不会出现动态增长的情况——长度固定,因此栈中存储就够了,如果把他存在堆中是没有什么意义
的(还会浪费空间,后面说明)。可以这么说,基本类型和对象的引用都是存放在栈中,而且都是几个字节的
一个数,因此在程序运行时,他们的处理方式是统一的。但是基本类型、对象引用和对象本身就有所区别了,
因为一个是栈中的数据一个是堆中的数据。最常见的一个问题就是,Java中参数传递时的问题。

数据类型
  Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的
值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象
本身存放在这个引用值所表示的地址的位置。


  基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress
  引用类型包括:类类型接口类型数组

 

 

栈是运行时的单位,而堆是存储的单位

 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。

标签:基本,栈中存,堆中存,对象,引用,JVM,类型
From: https://www.cnblogs.com/Sweetp/p/16610637.html

相关文章

  • JVM内存与垃圾回收篇
    1概述2JVM与Java体系与结构2.1字节码我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统......
  • JVM命令
    设置命令-Xms  设置堆的最小空间大小-XX:NewSize  设置新生代最小空间大小-XX:MaxNewSize 设置新生代最大空间大小-XX:PermSize  设置永久代最小空间大小-XX:M......
  • 虚拟机jvm和hotspot的联系与区别
    JVM是虚拟机,总的来说是一种标准规范,虚拟机有很多实现版本。主要作用就是运行java的类文件的。而HotSpot是虚拟机的一种实现,它是sun公司开发的,是sunjdk和openjdk中自带的......
  • 【Java进阶】五分钟快速掌握JVM优化概念、常用命令、工具、JUC、多线程、GC等知识
    〇、概述1、资料 2、内容概括 一、概念(一)JVM (二)JUC (三)GC二、命令(一)JVM优化命令 (二)JUC命令三、工具(一)jdk工具......
  • jvm
    1.jvm的简单抽象模型:  2.类加载机制     双亲委派模型是为了防止jdk核心类库被篡改,如果需要打破可以重写Classloader.loadClass方法。r 双亲委派模型......
  • Java虚拟机原理:JVM为什么被称为机器(machine)? 节选
    JVM主要由类加载器、运行时数据区、执行引擎三个部分组成。(➕类加☁运数......
  • VSCode中Java项目启动设置JVM栈参数。
    发生缘由学习JVM中栈溢出,因此需要启动项目的时候修改一下JVM栈的参数。环境介绍电脑系统:win10jdk:1.8.0_144JVM:JavaHotSpot(TM)64-BitServerVM(build2......
  • JVM查看内存使用状况
    1、jps:查看本地正在运行的java进程和进程ID(pid)2、jinfopid,查看指定pid的所有JVM信息1)jinfo-flagspid查询虚拟机运行参数信息。2)jinfo-flagnamepid,查询......
  • JVM常用配置参数说明
    堆设置-Xms256M:初始堆大小256M,默认为物理内存的1/64-Xmx1024M:最大堆大小1024M,默认为物理内存的1/4,等于与-XX:MaxHeapSize=64M-Xmn64M:年轻代大小为64M(JDK1.4后支持),相当于......
  • 一文带你弄懂 JVM 三色标记算法!
    大家好,我是树哥。最近和一个朋友聊天,他问了我JVM的三色标记算法。我脑袋一愣发现竟然完全不知道!于是我带着疑问去网上看了几天的资料,终于搞清楚啥事三色标记算法,它是用......