??xml version="1.0" encoding="utf-8" standalone="yes"?>老巨人导航500精品,欧美日韩免费,欧美剧在线观看 http://m.shnenglu.com/hqh/zh-cn Mon, 17 Nov 2025 06:18:03 GMT Mon, 17 Nov 2025 06:18:03 GMT 60 提一个问?/title> http://m.shnenglu.com/hqh/archive/2007/04/18/22242.htmlhqh hqh Wed, 18 Apr 2007 12:41:00 GMT http://m.shnenglu.com/hqh/archive/2007/04/18/22242.html http://m.shnenglu.com/hqh/comments/22242.html http://m.shnenglu.com/hqh/archive/2007/04/18/22242.html#Feedback 2 http://m.shnenglu.com/hqh/comments/commentRss/22242.html http://m.shnenglu.com/hqh/services/trackbacks/22242.html ]]> 内存泄漏的问?/title> http://m.shnenglu.com/hqh/archive/2007/04/07/21447.htmlhqh hqh Sat, 07 Apr 2007 04:53:00 GMT http://m.shnenglu.com/hqh/archive/2007/04/07/21447.html http://m.shnenglu.com/hqh/comments/21447.html http://m.shnenglu.com/hqh/archive/2007/04/07/21447.html#Feedback 0 http://m.shnenglu.com/hqh/comments/commentRss/21447.html http://m.shnenglu.com/hqh/services/trackbacks/21447.html 在别处看到的一个资料,愿与大家分n?br> 内存泄漏的慨?/strong> 1.c/c++是程序员自己理内存QJava内存是由GC自动回收的?br> 我虽然不是很熟?zhn)C++Q不q这个应该没有犯常识性错误吧?br> 2.什么是内存泄露? 内存泄露是指pȝ中存在无法回收的内存Q有时候会(x)造成内存不或系l崩溃?br> 在C/C++中分配了(jin)内存不释攄情况是内存泄露?br> 3.Java存在内存泄露 我们必须先承认这个,才可以接着讨论。虽然Java存在内存泄露Q但是基本上不用很关?j)它Q特别是那些对代码本w就不讲I的更不要d?j)这个?jin)?br> Java中的内存泄露当然是指Q存在无用但是垃圑֛收器无法回收的对象。而且即有内存泄露问题存在,也不一定会(x)表现出来?br> 4.Java中参数都是传值的?br> 对于基本cdQ大家基本上没有异议Q但是对于引用类型我们也不能有异议?br> Java内存泄露情况 JVM回收法是很复杂的,我也不知道他们怎么实现的,但是我只知道他们要实现的是Q对于没有被引用的对象是可以回收的。所以你要造成内存泄露p做到Q?br> 持有Ҏ(gu)用对象的引用! 不要以ؓ(f)q个很容易做刎ͼ既然无用Q你怎么q会(x)持有它的引用? 既然你还持有它,它怎么?x)是无用的? 我实在想不到比那个堆栈更l典的例子了(jin),以致于我q要引用别h的例子,下面的例子不是我惛_的,是书上看到的Q当然如果没有在书上看到Q可能过一D|间我自己也想的到Q可是那时我说是我自己想到的也没有h怿的?br>
public class Stack { private Object[] elements=new Object[10]; private int size = 0; public void push(Object e){ ensureCapacity(); elements[size++] = e; } public Object pop(){ if( size == 0) throw new EmptyStackException(); return elements[--size]; } private void ensureCapacity(){ if(elements.length == size){ Object[] oldElements = elements; elements = new Object[2 * elements.length+1]; System.arraycopy(oldElements,0, elements, 0, size); } } }
上面的原理应该很单,假如堆栈加了(jin)10个元素,然后全部弹出来,虽然堆栈是空的,没有我们要的东西Q但是这是个对象是无法回收的Q这个才W合?jin)内存泄露的两个条gQ无用,无法回收?br> 但是是存在q样的东西也不一定会(x)D什么样的后果,如果q个堆栈用的比较?yu),也就费了(jin)几个K内存而已Q反正我们的内存都上G?jin),哪里会(x)有什么媄(jing)响,再说q个东西很快׃(x)被回收的Q有什么关pR下面看两个例子?br> 例子1
public class Bad{ public static Stack s=Stack(); static{ s.push(new Object()); s.pop(); //q里有一个对象发生内存泄?br> s.push(new Object()); //上面的对象可以被回收?jin),{于是自愈了(jin) } }
因ؓ(f)是staticQ就一直存在到E序退出,但是我们也可以看到它有自愈功能,是说如果你的Stack最多有100个对象,那么最多也只?00个对象无法被回收其实q个应该很容易理解,Stack内部持有100个引用,最坏的情况是他们都是无用的,因ؓ(f)我们一旦放新的q取Q以前的引用自然消失Q?br> 例子2
public class NotTooBad{ public void doSomething(){ Stack s=new Stack(); s.push(new Object()); //other code s.pop();//q里同样D对象无法回收,内存泄露. }//退出方?s自动无效,s可以被回?Stack内部的引用自然没?所?br> //q里也可以自?而且可以说这个方法不存在内存泄露问题,不过是晚一?br> //交给GC而已,因ؓ(f)它是闭?对外不开?可以说上面的代码99.9999%?br> //情况是不?x)造成M影响?当然你写q样的代码不?x)有什么坏的媄(jing)?但是 //l对可以说是垃圾代码!没有矛盾?我在里面加一个空的for循环也不?x)?br> //什么太大的影响?你会(x)q么做吗? }
上面两个例子都不q是打闹,但是C/C++中的内存泄露׃是Bad?而是Worst?jin)。他们如果一处没有回收就永远无法回收,频繁的调用这个方法内存不q光了(jin)!因ؓ(f)Javaq有自愈功能(我自pv的名?q没甌专利),所以Java的内存泄露问题几乎可以忽略了(jin),但是知道的h׃要犯?jin)?br> 不知者无|?Java存在内存泄露,但是也不要夸大其辞。如果你对Java都不是很?你根本就不用兛_(j)q个,我说q你无意中写出内存泄露的例子像你中一千万一h率小,开玩笑?其实应该是小的多的多! 而且即你有q写L(fng)代码Q中奖了(jin)!基本上都是一包洗粉Q不?x)让你发财,对系l没有什么大的媄(jing)响?br> 杞h忧天的情?/strong> 1.无话可说?br>
Object obj=new Object(); obj=null; //q个完全多此一?因ؓ(f)退Z(jin)作用范围Q对象的引用自动消失 //不要在你的程序中出现q样的语句,没有错,但是是不雅?/td>
2.思考不对型
void func(Object o){ o=new Object(); return }
当我们知道Java参数是传|q道上面的Ҏ(gu)什么也没错Q就是申请了(jin)一个对象然后再丢给GC。因为是传|q里的o是一个调用时候的拯,?x)不会(x)无法回Ӟ不就是拷贝吗Q退出方法什么都没了(jin)Q这个对象怎么?x)留的住?br> 3.量避免?br>
class A{ B b=new B(this); } class B{ A a; B(A a){this.a=a;} }
]]>h一?/title> http://m.shnenglu.com/hqh/archive/2007/03/30/20975.htmlhqh hqh Fri, 30 Mar 2007 13:19:00 GMT http://m.shnenglu.com/hqh/archive/2007/03/30/20975.html http://m.shnenglu.com/hqh/comments/20975.html http://m.shnenglu.com/hqh/archive/2007/03/30/20975.html#Feedback 0 http://m.shnenglu.com/hqh/comments/commentRss/20975.html http://m.shnenglu.com/hqh/services/trackbacks/20975.html 昨日Q我的一个同学编?jin)一个程序,但运出来,得不到正的l果Q他问我Q我知道那个实有一定的问题Q但是无法解释清楚Q特来请教. Qinclude<stdio.h> void main() { printf("please input two num x and y:"); int a,b,c; scanf("%5d",&a); printf("%d",a); scanf("%4d%4d",&b,&c); printf("%d,%d",b,c); } ׃我也才接触EQ+Q因此我也无法作出正解释,希望有h能帮上忙Q?
]]> 初学C++的感?/title> http://m.shnenglu.com/hqh/archive/2007/03/28/20773.htmlhqh hqh Wed, 28 Mar 2007 07:35:00 GMT http://m.shnenglu.com/hqh/archive/2007/03/28/20773.html http://m.shnenglu.com/hqh/comments/20773.html http://m.shnenglu.com/hqh/archive/2007/03/28/20773.html#Feedback 0 http://m.shnenglu.com/hqh/comments/commentRss/20773.html http://m.shnenglu.com/hqh/services/trackbacks/20773.html 初学C++,只知道一些简单的法,一些简单的语句,但是我正在尽最大的努力学习(fn)更多q方面的知识. 真正接触到C++我才知道他的博大_深,要学好他也ƈ非一件容易的?我崇拜那些编E高?我也向往有一天自׃能成Z个编E高? 所以我?x)加倍努?争取早日实现梦想. ]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
˾ƷŮ˾þþ |
Ʒþþþö |
þҹҹݺ2022
|
һպһ |
ŷһþ |
ŷƷһ߿ҹ
|
˳ɫۺϾþ |
վŷ |
þۺɫ |
˳һ߹ۿ |
պĻ߲ |
պƵһ߹ۿ
|
ŷhƵ |
ŷŮˮƵ |
ƷƵۿ |
ĻƵһ |
Ƭѿ |
һɫþþƷ |
þùھƷƵ |
ŷһƵۿ
|
ŷۺ |
һõþۺϺݺݰ |
һѹۿ |
þþù91 |
ŷҹƷþþþþ |
Ʒ |
tv |
Ļһ |
ŷѹۿ |
һõþۺĻ |
þþƷ99Ʒ
|
Ůóav |
Ѳ߹ۿ |
Ʒ99þþþþþþ
|
պŷƵ߹ۿ |
һƷҹҹˬ |
ŷƷרþ |
ŷҹ糡ѹۿ |
ҹһ |
ŷ߳Ƶ |
˾þó |
ŷƵ |
պСƵ߹ۿר |
þþþ**ëƬȫ |
ƷƬ㶮 |
99ȾƷ |
ŷŷպmv쿴
|
վŷ |
Ƶվ |
ŷƷva߹ۿ
|
һþۺ³³ |
ŷСƵ |
þ |
߳av |
þۺĻ |
þùձȾƷ |
Ʒϵ߲ |
avӰ |
һպƷ |
Ʒ |
һɫþۺƷĦ |
ŷ龫Ʒþþþþú |
þþþþ91㽶 |
Ӱһ |
þҹƷһ |
þˬˬˬþ |
һ߹ۿ |
պƵ |
ŷһۺ |
ݺɫݺɫۺϵ |
˾Ƶþ |
þþžžƷ99Ʒ |
һƵ |
þþۺϼ |
ŷպƵһ |
鶹˾Ʒ |
þþƷ91Ʒ |
ŷ |
ҹƷһƵ |
þóavٸ |
xxxx |
ģƷһ |
ŷӰ |
ŷպ |
ŷavһ |
ҹƷƬ |
ԭ |
Ʒ߹ۿ |
ƷëƬһ
|
þӰԺ |
91þҹ |
Ʒһ |
ŮƵվɫ |
ŷպƷŷպƷ |
ҹŷƷaaaaa |
ŷһƵ |
ƷþþþþŮ |
Ʒ߹ۿ |
һ߲ |
ŷƬѹۿ |
Ʒ |
弤 |
ձŷһ |
һ͵ |
Ƶ |
91þþƷ91ɫ |
|
պƵƷ |
岻 |
ŷۺ |
һþaþþƷ |
ŷɫ |
һƵƷ |
þþƷ99Ʒ |
һվ |
þþƷ
|
91þùƷ91þɫ |
ŷƷĻ |
Ƶ߹ۿһ |
ŷרһ |
ҹƷһ߲ |
㶮ĹƷ |
þۺ77777 |
Ʒþһ |
ƷƵ |
պ |
ƷþþþӰԺɪ
|
ŷŮˮƵ |
ŷһ߹ۿ |
ھƷģav˽߹ۿ
|
һƷ |
Ƶ߹ۿ |
þþþþ |
þþƷŷˬ |
ŷպĻպŷ |
Ʒһ |
|
³³ݺݺ7777һ |
ξþ99Ʒþþþþ9 |
ŷպŮ |
ŷղͼ |
ҹѵӰһ߹ۿ |
ŷƵ |
Ƶһ |
ŷպһ |
ŷƷһaӰԺ |
һѹۿ |
һ߿ |
Ʒþþþ91 |
ҹһ |
þüۺϾƷ |
ɫһ |
þһ |
ŷþ |
ǧһ |
һŮŮ |
þþþþžƵ |
ƷƵ |
ŷһþþƷ |
Բvһc |
첥ɫͼ |
һŷ |
鶹Ʒվ |
լ66ձŷƵ |
Ʒպ߹ۿ |
þݸվ |
|
þþþþ |
һƵ߹ۿ |
ŷҹƷþþþþó |
ŷһҹƵ߹ۿ |
ŷƬƷ |
ŷպϵ |
⾫ƷƵ |
ŷҹƵ |
þþþþþ999ƷƵ |
ŷһ |
ŷһ |
Ʒɫ |
պŷ߹ۿ |
ŷ123 |
99Ʒþ |
ŷһ |
þþþþ㽶 |
һþ |
Ʒ1 |
vŷvձvv |
ŷպһ |
ŷһ߹ۿַ |
ƷþþƷԺ |
ۺϵӰ |
aɫŷ |
1000Ʒ˹ۿ |
Ʒþþþһ |
91þ۲ӰԺһ |
ҹƷƵ߹ۿ |
һ |
þriav |
һ߹ۿƵ
|
ŷɬɬƵ |