关于这一块 ,其实我学习视频的时候也是很模糊,然后就问我们班做程序的同学,他们给我讲解了一些他们的理解,而且他们说我追究的太深。但是我觉得对于内存这块理解的程度需要达到:第一,要知道哪些变量存在于栈内存,哪些变量事物存在于堆内存,哪些事物存在于方法区,比如,局部变量存在于栈内存中,成员变量存在于堆内存中,方法、类或者静态变量、方法、常量是被加载进方法区的等等;第二,要知道变量什么时候加载进内存中,什么时候此变量占用的空间被释放,如,栈内存中的变量是当此变量所在的大括号一结束,它所占用的空间就被释放了,而堆内存中的变量是当对象使用完了之后此变量成为垃圾,但是只有垃圾清理机制来清理时,才会释放内存;第三,要知道局部变量的使用范围,即大括号一结束,此变量也就在内存中清除了,所以在另外一个函数里可以定义同样的名称的变量。这是我的理解。 |