异常与Applet

8 篇文章 0 订阅
5 篇文章 0 订阅

异常处理

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 应用一般使用比较宽松的安全策略。
52.Java applet 有哪些限制条件?
主要是由于安全的原因,给 applet 施加了以下的限制:
applet 不能够载入类库或者定义本地方法。
applet 不能在宿主机上读写文件。
applet 不能读取特定的系统属性。
applet 不能发起网络连接,除非是跟宿主机。
applet 不能够开启宿主机上其他任何的程序。
53.什么是不受信任的 applet?
不受信任的 applet 是不能访问或是执行本地系统文件的 Java applet,默认情况下,所有下载的 applet 都是不受信任的。
54.从网络上加载的 applet 和从本地文件系统加载的 applet 有什么区别?
当 applet 是从网络上加载的时候,applet 是由 applet 类加载器载入的,它受 applet 安全管理器的限制。
当 applet 是从客户端的本地磁盘载入的时候,applet 是由文件系统加载器载入的。
从文件系统载入的 applet 允许在客户端读文件,写文件,加载类库,并且也允许执行其他程序,但是,却通不过字节码校验。
55.applet 类加载器是什么?它会做哪些工作?
当 applet 是从网络上加载的时候,它是由 applet 类加载器载入的。类加载器有自己的 java名称空间等级结构。类加载器会保证来自文件系统的类有唯一的名称空间,来自网络资源的类有唯一的名称空间。
当浏览器通过网络载入 applet 的时候,applet 的类被放置于和 applet 的源相关联的私有的名称空间中。然后,那些被类加载器载入进来的类都是通过了验证器验证的。验证器会检查类
文件格式是否遵守 Java 语言规范,确保不会出现堆栈溢出(stack overflow)或者下溢(underflow),传递给字节码指令的参数是正确的。
56.applet 安全管理器是什么?它会做哪些工作?
applet 安全管理器是给 applet 施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器在启动的时候被创建,之后不能被替换覆盖或者是扩展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值