-
JAVA面试题解惑系列(四)——final、finally和finalize的区别,该如何处理
JAVA面试题解惑系列(四)——final、finally和finalize的区别------------------------------------------------我想出一本名为《JAVA面试题解惑系列》的书籍,详情请见:http://rmyd.group.javaeye.com/group/topic/6193目前网络连载中:http://zangweiren.javaeye.co...
254
热度 -
Java面试有关问题之二十二
Java面试问题之二十二请分析一下finalize()方法和finally代码块之间在作用上面的异同。答:在Object类中提供了finalize()方法,它的初衷是用于在对象被垃圾回收之前,释放所占用的相关资源,这和try...catch...finally语句的finally代码块的用途比较相似。但是由于垃圾回收器是否执行finalize()方法以及何时才执行这个方法都是不确定的,因此在程序中...
31
热度 -
Java面试有关问题之二十一
Java面试问题之二十一请问finalize()方法在垃圾回收过程中的作用,它具有哪些特点?答:当垃圾回收器将要释放无用对象的时候,先调用该对象的finalize()方法。如果在程序终止之前垃圾回收器始终没有执行垃圾回收操作,那么垃圾回收器将始终不会调用无用对象的finalize()方法。在Java的Object祖先类中提供了protected类型的finalize()方法方法,因此任何Java类...
88
热度 -
再问个很菜的有关问题,不要见怪,小弟我实在是想了很久了
再问个很菜的问题,各位大哥不要见怪,我实在是想了很久了classB{inta,b;publicvoidfinalize(){System.out.println("objectisgoing!");}publicstaticvoidmain(String[]args){newB();//<<==如果改成了Bb=newB();运行的时候可以通过,但什么都不显示了!Sy...
106
热度 -
java JDK中的一些非native步骤在哪实现的
javaJDK中的一些非native方法在哪实现的?比如Object的finalize方法,在编译器里还是在JVM中实现的呢?我怎样才能看道他的具体实现代码???分享到:finalize方法,在编译器里还是在JVM中实现的呢???我怎样才能看道他的具体实现代码???'data-pics=''>color='#FF8000'>------解决方案--------------------Object的...
82
热度 -
請問一下程序中的System.gc()代錶什么?该如何解决
請問一下程序中的System.gc()代錶什么?????classMyObject{Testmain;//记录Test对象,在finalize中时用于恢复可达性publicMyObject(Testt){main=t;//保存Test对象}protectedvoidfinalize(){main.ref=this;//恢复本对象,让本对象可达System.out.println("Thi...
343
热度 -
小米笔试的一题。该如何解决
小米笔试的一题。这题搁了好久,都忘了问了。以下程序打印什么结果?JavacodepublicclassNo_4{publicstaticvoidmain(String[]args){MyClassm=newMyClass();m=null;System.gc();MyClass.o=null;System.gc();}}classMyClass{publicstaticMyClasso;prote...
1680
热度 -
关于JAVA中的垃圾回收解决方案
关于JAVA中的垃圾回收JAVA的垃圾回收机制是不是可以这么理解:(1)对象所占用的内存空间(通常是经由new创建,在堆中),是由垃圾回收器负责回收;但是这种回收并不一定会发生,JAVA中的对象并不一定会被销毁;内存空间如果没用完,垃圾回收也许永远不会执行。(2)而对于非“创建对象”分配的内存,JAVA的finalize()方法派上用场。JAVA中一切皆为对象,所谓的“非创建对象”分配的空间,是指...
35
热度 -
java功课求教
java作业求教java课布置两个作业不过本人才疏学浅实在是看不懂到底要做什么,望高手赐教。题目如下:第一题编写java程序,创建一个TestDestroy类,该类中声明一个String类型的成员变量str,其初始值为"Howareyou",在finalize方法中销毁成员变量str,并输出销毁后的成员变量str的值。第二题1定义一个接口CanFly,描述会飞的方法public...
75
热度 -
关于fianlize的有关问题,搞不懂
关于fianlize的问题,搞不懂JavacodeclassT{booleanempty=false;T(booleanstatus){empty=status;}voiddropout(){empty=true;}protectedvoidfinalize(){if(empty==false)System.out.println("error:thetankisstillnotempt...
199
热度 -
java怎么释放内存单元
java如何释放内存单元~谢谢各位大侠了,java如何释放那些不需要的内存单元!讲的越详细越好!关键是finalize()方法的使用,这个方法是否能强制释放堆区的内存单元!color='#e78608'>------解决方案--------------------是从C++转到Java的吧?呵呵Java是由GC来释放无用的内存单元,但是什么时候会执行是由JVM决定的,程序无法控制。即使你显式的调用...
288
热度 -
提问关于回收机制
提问关于回收机制 请大家帮忙判断一下,有能力的话详细说明一下,我谢谢大家了tureorfalseA.MemoryisreclaimedbycallingRuntime.gc().B.Objectsarenotcollectediftheyareaccessiblefromlivethreads.C.Objectsthathavefinalize()methodsaren...
286
热度 -
关于String类问题?(已解决但是String新问题出来了)
关于String类问题?(已解决但是String新问题出来了) Stringstr=newString("aaa"); str="bbb"; 这个有几个对象,产生了几个垃圾内存我自己觉得是三个对象,两个垃圾内存。但下面的程序有不理解了 代码如下: classStringTest{ publicvoidfinalize(){ ...
345
热度 -
[讨论]垃圾回收器机制-质疑Think in java,该如何解决
[讨论]垃圾回收器机制--质疑Thinkinjava程序员都知道“初始化”的重要性,但通常忘记清除的重要性。毕竟,谁需要来清除一个int呢?但是对于库来说,用完后简单地“释放”一个对象并非总是安全的。当然,Java可用垃圾收集器回收由不再使用的对象占据的内存。现在考虑一种非常特殊且不多见的情况。假定我们的对象分配了一个“特殊”内存区域,没有使用new。垃圾收集器只知道释放那些由new分配的内存,所...
421
热度 -
一个容易的例子
一个简单的例子简单了解finalize()与垃圾回收publicclassA{ publicstaticAa1=newA(); publicstaticvoidmain(String[]args)throwsException{ a1=null; System.gc(); Thread.sleep(300); System.out.println(a1); a1=null; Syste...
32
热度 -
Qt sqlite3,该怎么解决
Qtsqlite3我现在想用qt下sql相关的类替换sqlite3库的api,现在的问题是有些sqlite3的api在qt的sql中找不到(在我看来阿),例如sqlite3_finalize(),sqlite3_free()等。现在我如何在尽可能少改代码的情况下保证操作数据库和原来一样正确呢?color='#FF8000'>------解决方案--------------------不知道连上数据...
18
热度 -
SQLite3内存泄露
SQLite3内存泄露紧急求助在用SQLite操作大数据量时,发现应用程序占的内存一直在上涨.直到500M,报Outofmemory错误,而此时系统的总共内存有3G.操作都是些普通的操作.Sqlite3_Prepare,Sqlite3_BindText,Sqlite3_Step,Sqlite3_Exec等.发现Sqlite3_Exec最可疑,有内存泄露的情况,一执行此动作就有几十K到几百K的内存丢...
8215
热度 -
JAVA中NEW的使用,该怎么处理
JAVA中NEW的使用使用NEW实现一个垃圾回收机制的测试小程序不停的打印输出一句话.color='#e78608'>------解决方案--------------------楼主试试这个:Javacodeimportjava.util.Arrays;publicclassCsdnGarbageCollect{staticintnumber=0;intobjectId=number++;//对象...
73
热度 -
新手!对象的销毁机制!
新手求助!!!对象的销毁机制!!!小弟初学Java,望各位多多关照最近编写一个观察对象销毁的程序,但用Eclipse运行的时候却没有结果,望哪位帮看一看!程序如下:publicclassFinTest{ intn; FinTest(inti) { n=i; } publicvoidfinalize() /*显示各对象的销毁方法*/ { System.out.println("...
60
热度 -
iphone开发中sqlite3惯用操作
iphone开发中sqlite3常用操作一使用原生库1新建或插入 sqlite3*db; if(sqlite3_open(@"xx.db",&db)!=SQLITE_OK){ return; } sqlite3_stmt*dbps;intdbrc;NSString*sql=@""; constchar*sqlChar=[sqlUTF8String]; dbrc=sqlite3_pre...
70
热度