Java内存--整理笔记

Java内存–整理笔记

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

简介

Java把内存分成:栈内存,堆内存,方法区,本地方法区和寄存器

栈(Stack)

方法必须是在栈中运行

存放的都是方法中的局部变量

局部变量:方法的参数,或是方法内部的变量

作用域:一旦超出作用域,立刻从栈内容消失

意思就是说

当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。

当数据使用完,所占空间会自动释放

堆(Heap)

凡是new出来的东西,都在堆内存当中

堆内存里面的东西多都有一个地址值

堆内存里面的数据,一般都有默认值

数据类型 默认值
整数 0
浮点型 0.0
字符 \u0000
布尔 false
引用 null

方法区(Method Area)

方法区包含所有的class和static变量

方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量

本地方法栈(Native Method Stack)

与操作系统相关

寄存器(PC Register)

与CPU相关

感谢

万能的网络

以及勤劳的自己

发布了177 篇原创文章 · 获赞 456 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_45163122/article/details/105005030
今日推荐