有关java内存分配

[复制链接]
查看11 | 回复3 | 2013-7-10 10:55:52 | 显示全部楼层 |阅读模式
Java的类确实都有一个析构函数,不过这个函数是由JVM的垃圾回收机制自动调用的。对于无用的对象,系统不会立刻将其销毁,而是将其存放在内存中,根据内存使用情况动态的进行销毁。可以看一下下面的两个例子:例1:类A中保存有一个64MB的byte数组,出于内存优化的需要,可以看到析构函数的调用还是很频繁的。当然实际的析构函数调用情况会与系统配置或硬件配置有关而不尽相同。public class Test {public static void main(String args[]) throws IOExcep...
回复

使用道具 举报

千问 | 2013-7-10 10:55:52 | 显示全部楼层
我认为内存是不会溢出的,因为他每次new 都把前面的对象给替换了 以前的那个 就属于无引用的对象,Java的垃圾回收会直接把无引用的给回收(不确定是否运行),刚才我试了一下,运行的时候内存并没有因为执...
回复

使用道具 举报

千问 | 2013-7-10 10:55:52 | 显示全部楼层
你这个死循环,如果被调用肯定创建N多遍了,无限的给它分配内存,虽说有回收机制,但你这个一直在运行,走不出去,有几率造成内存溢出的,但不知道是啥时候的事了,嘿嘿!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行