内存管理
iteye_6051
这个作者很懒,什么都没留下…
展开
-
从堆和栈的角度看String对象
String对象问题曾困扰我很长时间,总是不太明白它与基本数据类型之间的区别,看了java内存分配,得到了一点启发,下面从堆和栈的角度看一下String对象在内存中是如何操作的。 首先看一下堆和栈的区别 栈:栈中存放的是基本类型的变量或者引用类型的变量。其中局部变量是通过数组的索引来访问,操作数栈通过栈操作才实现。局部变量有利于内存空间的高效利用, 方法运行完就回收,而对于类成员变量,...2015-11-29 09:40:38 · 126 阅读 · 0 评论 -
从堆和栈的角度看参数传递
在java中,参数的传递方式只有一种:值传递。但是这个“值”的的含义我们不能单从字面理解。确切的说它分为两种:一个是基本类型的值传递,一个是对象的值传递。 对于基本类型来讲,值传递很容易理解,就是把实参的的值传递给形参,例如 [code="java"] public static void add(int a) { a = a + 3; System.out.println...原创 2015-12-02 03:01:53 · 264 阅读 · 0 评论 -
Java垃圾回收机制
java中的垃圾回收机制(Garbage Collection )可以自动清除在堆中不用的对象,为java程序员提供了方便,在c/c++中,我们就需要手动去释放堆中的内存。 在java中对象都是通过引用来使用的,如果没有引用指向这个对象,那么这个对象就不可到达,我们就没法使用和处理这个对象,GC机制就是释放这些不可达对象所占用的内存。 为了提高效率,JVM优化了GC机制,在不同的情况下...原创 2015-12-14 17:13:36 · 76 阅读 · 0 评论