Java Applets
7.1 Applet是什么?
java applet是一个可以被包含在HTML页面里面,可以在客户端浏览器运行的程序。Applet是用来创建动态及交互式的web应用。
7.2 解释applet的声明周期
applet可能经历以下几个情况:
Init:applet初始化的时候,会加载一次。
Start:开始applet的执行。
Stop:停止applet的执行。
Destroy:在卸载applet前,执行最后的清理。
7.3 applet加载的时候会发生什么?
首先,会创建applet的控制类的实例。applet会初始化然后开始运行。
7.4 applet和java应用之间的区别是什么?
applet在浏览器中执行,但是java应用是一个在浏览器外可以独立执行的java程序。两者都需要jvm的才能执行。与此同时,java应用需要一个main方法来开始执行。java applet不需要这样一个方法来开始执行。java applet有限定的安全策略,同时java应用通常有宽松的安全策略。
7.5 java allpet的约束是什么?
大部分是出于安全原因,java applet的约束有以下:
applet不能加载库或定义本地方法。
applet不能在执行的主机上读或者写文件。
applet不能读某些系统属性。
applet创建处来源的主机以外的网络连接。
applet不能在执行它的主机上开始任何的程序。
7.6 什么是不被信任的applet
不被信任的applet是指不被被访问或者执行的本地系统文件。默认情况下,所有下载的applet被认为是不被信任的。
7.7 通过internet下载的applet和通过文件系统下载的applet之间的区别是什么?
与applet在网上加载的情况相比,通过applet类记载器加载的情况,是由applet安全管理者强制限制的。与从客户端本地驱动器加载的apple相比,applet是由文件系统加载器加载。applet通过文件系统加载被允许读文件,写文件和在客户端记载哭。同时,applet通过文件系统加载被允许用来执行进程,最后通过文件系统加载的applet不会经过字节码证实。
7.8 applet类加载器是什么,它可以提供什么功能?
当applet通过Internet下载的时候,它实际是被applet类加载器加载。类加载器强制java命名空间分层。同事,类加载器保证一个特有的命名空间存在,为来至本地文件系统的类,和一个特有的命名空间为每个网络资源。当一个浏览器通过网络加载applet的时候,applet的类通过被放在一个和applet源有关的私有命名空间下。然后,这些类通过类加载器加载之后会通过证实。证实器会检查类文件根据java语言的规范。证实其保证没有栈上溢或下溢,所有字节码的参数都是正确的。
7.9 applet的安全管理器是什么,它能提供什么功能?
applet安全管理器在java applet上加载限制的机制。浏览器可能只能有一个安全管理器。安全管理器在启动的时候建立,它不能在此之后被替换、超负荷、越控或扩展。
7.9