Java教程

内存

本文主要是介绍内存,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

内存分析

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)


这篇关于内存的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!