内存

内存分析

Java虚拟机的内存大分为三个区域:栈,堆和方法区,其实细分是只有两个,因为方法区也是在堆里的。

栈(stack):

  1. 每个方法被调用都会创建一个栈帧,用以存储局部变量、操作数和方法出口
  2. 每创建一个线程都会为该线程创建一个栈,用以存储局部变量的基础数据类型和引用数据类型的引用
  3. 栈是线程私有的,数据不能在线程间共享
  4. 存储特点是:先进后出,后进先出
  5. 一个连续的内存空间!由系统自动分配,速度快!

堆 heap:

  1. 堆用于存储创建好的对象和数组,也就是new出来的对象
  2. JVM只有一个堆,被所有线程共享
  3. 一个不连续的内存空间,分配灵活,速度慢!

方法区

  1. 方法区是在堆里的,也是被所有线程共享
  2. 用于存储类、常量相关的信息
  3. 方法区中还存在一个静态方法区,里面是存放static修饰的方法,是和类一起加载的

Java内存

引用类型:

除基本类型外,其他的类型都是引用类型,引用就是对象的内存地址

类属性:

也叫成员变量,代表着类的属性,其作用范围是类的全局范围,定义格式:[modifiers] type name = [value],定义类属性可以不对其初始化,Java会使用默认的值对其初始化(整数:0,浮点数:0.0,char:u0000,boolean:false,引用类型:null)


posted @   hello_12153_98  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示