第一,谈谈final, finally, finalize的区别。
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
http://dev.csdn.net/Develop/article/30/30751.shtm
25.JAVA多线程编程。 用JAVA写一个多线程程序,写四个线程,定义一个全局变量i,二个线程先对i加1,二个线程对i减一,输出
这2个题目 有没有人 能帮忙解答一下啊 谢谢了!!!
垃圾回收机制是自动的,不要让我们可能是在随心所欲的情况下建立的对象自生自灭,不用的对象,我们应该让垃圾回收器知道它是可以被回收的(我记得好像是置为null就ok了)25.JAVA多线程编程。 用JAVA写一个多线程程序,写四个线程,定义一个全局变量i,二个线程先对i加1,二个线程对i减一,输出import java.lang.Thread;public class testT extends Thread
{
public static int i = 0;
public static int flag = -1;
public static void main(String args[])
{
for( int j = 0;j<100;j++)
{
testT t = new testT();
t.start();
}
}
public void run()
{
try
{
if( i == 2 || i == 0)
flag = -flag;
i = i + flag;
System.out.println( i );
}
catch(Exception e)
{
System.out.println( e );
}
}}
to 楼主:只能回答几个问题。
8.sleep() 和 wait() 有什么区别?
答:sleep()是自己唤醒的,wait()是需要别的线程唤醒的
10.数组有没有length()这个方法? String有没有length()这个方法?
答:数组有length(),string没有length(),但有length属性
16.启动一个线程是用run()还是start()?
答:start()
17.是否可以继承String类?
答:可以
18.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
答:可以
19.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
答:在return后执行
20.编程题: 用最有效率的方法算出2乘以8等於几?
答:用移位运算
23.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:绝对可以用在string上,前面两个应该也可以
25.JAVA多线程编程。 用JAVA写一个多线程程序,写四个线程,定义一个全局变量i,二个线程先对i加1,二个线程对i减一,输出
答:同意zhou1977(短笛) ,但最好对方法进行同步
finalize
如果我们在子类中复写了finalize我们千万别忘了调用基类的finalize否则基类的终止动作
将永远也不会发生
我们一般情况下不把他作为一般的垃圾回搜工具,而是用于一种特殊的情况
那就是对象生成方式以外的方式生成的对象,也就是说我们调用到了别的语言写的函数
俗称“原生函数”及c++,c等时,我们就要用到他了
晕,你回答的问题只有2条是正确的
错的好多,hoho