请来讨论:Java中的垃圾收集与C++的直接内存管理那个更好? java的垃圾收集对效率的一种妥协。效率的丧失是肯定的。java的垃圾收集并不像你说的,手工处理是不可能的,最多你只能用System.gc()来建议jvm收集泄漏的资源。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java的垃圾收集器可以说是java的一大特点。它的最基本特点是当一个对象或实例不再用的时候,就建议收集器回收内存,注意是建议不是一定回收,如果收集器见到一个对象满足回收的条件就回收该对象。而c/c++中内存由程序员自己来确定该对象是否应该回收,如果回收得对倒没什么,如果不对,就是致命的错误,可想而知道,那可是物理内存!!虽然在java中可能有一些内存不能及时回收,只是占用一些内存而已(而且现在内存也不是很贵!!呵呵)。程序首先是正确性,没有这个其它什么都没有用! 1、C++主要在栈(stack)中分配内存,而java主要在堆(heap)中分配(基本数据类型在栈中分配)。[1]2、同意cyberworm(虫子)的意见,“手工处理是不可能的”。不过可以“setting references to null to allow cleanup”。[2][1][2]参见《Think in Java,2nd Edtion》影印版机械工业出版社P215 P397新的concorrent garbage collector将出现在j2sdk1.4.1中。新的parallel garbage collector将出现在j2sk1.5中。具体可以浏览http://java.sun.com/docs/hotspot/index.html 这个问题在usnet上讨论过,最后由于C++智能指针的出现,java败得一塌糊涂。 Java中的垃圾收集只能用来回收由new生成的对象吗?请谈谈Java中还有那些生成对象的方法。C++的智能指针不是很早就出现了吗?在COM技术中就有应用(类厂的建立),请kicku好好谈谈! [Java中的垃圾收集只能用来回收由new生成的对象吗?]除了用new生成对象,Java还有什么其它方式生成对象??没听说过 java当中当然有不用new生成的对象啦!比如数组的初始化,呵呵! 为什么java的参数-Xmx , -Xms 不见生效,求示例 "而C++的直接内存管理中,如果程序员在使用完某个对象之后,忘记了回收内存,在需要给新的对象分配内存的时候,C++将在已经开辟但是没有回收的heap内存区域中轮训,并在其中选一个分配给它,这样也就造成效率的降低。"这句话错了吧。 菜鸟求助:创建哈希表的问题 awt界面中文乱码 谁帮我看看,初学java 类的含义问题 有人用过swing的action接口吗? 能帮忙看看么? 急问诸位高手 一个关于JBuilder使用的简单问题 请问在java里如何设置背景图片? 我刚学jbuilder,很菜,各位前辈,请帮帮我的忙!!!!!!!!!!!!!!!!!!!!!!!!!!1 有人见过这样的例程吗?或做过? Java Web Start的问题
2、同意cyberworm(虫子)的意见,“手工处理是不可能的”。不过可以“setting references to null to allow cleanup”。[2][1][2]参见《Think in Java,2nd Edtion》影印版机械工业出版社P215 P397新的concorrent garbage collector将出现在j2sdk1.4.1中。
新的parallel garbage collector将出现在j2sk1.5中。
具体可以浏览http://java.sun.com/docs/hotspot/index.html
C++的智能指针不是很早就出现了吗?在COM技术中就有应用(类厂的建立),请kicku好好谈谈!
除了用new生成对象,Java还有什么其它方式生成对象??没听说过