编程的本质就是通过变量对内存中的数据进行操控,数据结构帮助我们在内存中最优的组织大量的有关系的数据,嗯~ o(* ̄▽ ̄*)o
估计我以后要嫁给java程序还有它的API文档和核心类库嗯~ o(* ̄▽ ̄*)o
所以以后编程啊,脑袋中必不可少的就是内存中数据的样子呢嗯~ o(* ̄▽ ̄*)o
数据放在内存的不同地方呢,对象放在堆内存,变量放在栈内存,嗯~ o(* ̄▽ ̄*)o,栈内存随方法结束而自动释放,堆内存随对象无引用而被垃圾回收机制释放,
每一种基本数据类型都有规定分配相应的固定大小的内存空间,类/数组是一种特殊的数据类型,没有为其分配固定大小的内存空间,
程序通过变量来操控内存中的数据,对变量赋值就是将数据装入内存,读取Ⅷ变量的值就是从内存中取出该数据的值
--------------------------------------------------------------------------------------
从java语言的角度出发,我们来看看一个程序写完了,内存是怎么个样子的?
方法和变量都是占用内存的,所有的方法占用的是栈内存,方法中的局部变量(生存期短,随方法结束而释放内存)占用的是栈内存,而成员变量(类变量(生命周期最长,随类的初始化而占用内存,随类的消亡而释放内存)+实例变量(随实例的初始化而占用内存,随实例的消亡而释放内存)多个实例共享一个类的变量)占用的内存是堆内存