115个Java面试题和答案——终极(下)

本文深入探讨了Java中的关键概念和技术,包括面向对象编程的特点、Java的功能特性、集合类、垃圾收集器、异常处理机制等。此外,还介绍了Java小应用程序(Applet)、Swing、JDBC、远程方法调用(RMI)、Servlet和JSP等内容。

第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

 

异常处理

 

Java小应用程序(Applet)

 

Swing

 

JDBC

 

远程方法调用(RMI)

 

Servlet

 

JSP

 

异常处理

 

43.Java中的两种异常类型是什么?他们有什么区别?

 

Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。这里有Java异常处理的一些小建议。

 

44.Java中Exception和Error有什么区别?

 

Exception和Error都是Throwable的子类。Exception用于用户程序可以捕获的异常情况。Error定义了不期望被用户程序捕获的异常。

 

45.1 throw和throws有什么区别?

 

throw关键字用来在程序中明确的抛出异常,相反,throws语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

 

45.2 异常处理的时候,finally代码块的重要性是什么?

 

无论是否抛出异常,finally代码块总是会被执行。就算是没有catch语句同时又抛出异常的情况下,finally代码块仍然会被执行。最后要说的是,finally代码块主要用来释放资源,比如:I/O缓冲区,数据库连接。

 

46.异常处理完成以后,Exception对象会发生什么变化?

 

Exception对象会在下一个垃圾回收过程中被回收掉。

 

47.finally代码块和finalize()方法有什么区别?

 

无论是否抛出异常,finally代码块都会执行,它主要是用来释放应用占用的资源。finalize()方法是Object类的一个protected方法,它是在对象被垃圾回收之前由Java虚拟机来调用的。

 

Java小应用程序(Applet)

 

48.什么是Applet?

 

java applet是能够被包含在HTML页面中并且能被启用了java的客户端浏览器执行的程序。Applet主要用来创建动态交互的web应用程序。

 

49.解释一下Applet的生命周期

 

applet可以经历下面的状态:

 

Init:每次被载入的时候都会被初始化。

Start:开始执行applet。

Stop:结束执行applet。

Destroy:卸载applet之前,做最后的清理工作。

 

50.当applet被载入的时候会发生什么?

 

首先,创建applet控制类的实例,然后初始化applet,最后开始运行。

 

51.Applet和普通的Java应用程序有什么区别?

 

applet是运行在启用了java的浏览器中,Java应用程序是可以在浏览器之外运行的独立的Java程序。但是,它们都需要有Java虚拟机。

 

进一步来说,Java应用程序需要一个有特定方法签名的main函数来开始执行。Java applet不需要这样的函数来开始执行。

 

最后,Java applet一般会使用很严格的安全策略,Java应用一般使用比较宽松的安全策略。

 

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值