Java java中的内存分析

1、类的实例化内存分析

    1> 成员变量中的实例变量只在堆内存中存储,只能通过对象(实例)去访问。不能通过类名去访问

    2> 带static的变量称为静态成员变量

Java java中的内存分析

    3> java中String(字符串)类型是引用数据类型,引用数据类型,未初始化时值是null

    4> 成员变量声明后,如果没有赋值,jvm会自动赋值

         byte,short,int,long=0

         float,double=0.0

         boolean=false

         char=\u0000

Java java中的内存分析

Java java中的内存分析

2、方法调用内存分析

    1> 方法体中的局部变量只在栈内存中存储,局部变量声明必须赋值

    2> 方法调用时,入栈。return关键字就是pop(出栈),方法结束

Java java中的内存分析

Java java中的内存分析

3、方法的递归调用内存分析

    1> 递归调用的本质就是入栈执行,递归结束出栈

    2> 递归方法中必须存在递归结束条件(递归出口),否则将导致栈内存溢出,程序报错,不可逆。

Java java中的内存分析

Java java中的内存分析

总结

Java java中的内存分析