java内存划分

1.JVM的内存分配:系统默认分配1/8的物理内存,且细分为5块区域:

2.内存分类:

1)栈内存:

  1)用于运行方法,在方法中声明的所有变量,都存在栈内存中;

  2)栈内存中的变量,必须经过初始化才能使用,没有默认值;

  3)基本数据类型的所有数据都存放在栈内存中;

2)堆内存:

  1)所有通过new关键字创建的变量,都保存在堆内存中,堆内存中的数据都有默认值;

  2)数据在堆内存中的默认值:

  1. 基本数据类型:

    整型(byte,short,int,long)0

    小数(float,double)0.0

    布尔(bollean)false; 

    字符(char)'\u000'

  1. 引用数据类型:默认都是null

3)方法区:JVM在运行class文件时,先将class文件加载到方法区中,class中包含了类的所有信息(方法、变量);

4)本地方法栈:使用native关键字符修饰的方法(系统方法)

5)寄存器:CPU使用;

posted @ 2019-07-16 22:37  开拖拉机的拉风少年  阅读(140)  评论(0编辑  收藏  举报