JVM内存分配策略 和 内存回收策略

2017-10-28  本文已影响0人  我弟是个程序员

java 内存分配基于两种,

1.栈 和 堆
2.JVM 内存分配和回收策略
    public void example(int arg) {
        String s = "hello";
        long l = 520;
        Long lg = 520L;
        Object o = new Object();
        Integer i = 0;        
    }

其中参数arg、l是原生的数据类型,s、o、i和lg是指向对象的引用。在Javac编译时已经确定了这些变量的静态存储空间。arg分配4个字节,long分配8个字节,而引用String、Long、Object和Integer 都是暂用4个字节。所以这个方法占用的静态内存空间是 【4 + 4 + 8 + 4 + 4 + 4 = 28】 个字节。该方法运行结束后,就会被回收。

最后附上本利对上面例子理解的示意图,如有错误的地方,欢迎指出。

上一篇下一篇

猜你喜欢

热点阅读