• Tags ,         
  • 2018-01-07  16:41:17        
  • 19 °C    

    这篇文章主要讲的是Java中Java的Applet。为了查找方便,小A汇总了所有Java面试题的相关汇总,方便大家查找到所有的Java面试题: Java面试题汇总。此外,还有Java的编程思想的教程。


    什么是Applet

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

    当applet是从网络上加载的时候,applet是由applet类加载器载入的,它受applet安全管理器的限制。

    当applet是从客户端的本地磁盘载入的时候,applet是由文件系统加载器载入的。

    从文件系统载入的applet允许在客户端读文件,写文件,加载类库,并且也允许执行其他程序,但是,却通不过字节码校验。

    解释一下Applet的生命周期

    applet可以经历下面的状态:

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

    Start:开始执行applet。

    Stop:结束执行applet。

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

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

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

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

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

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

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

    Java中applet有哪些限制条件?

    主要是由于安全的原因,给applet施加了以下的限制:

    applet不能够载入类库或者定义本地方法。

    applet不能在宿主机上读写文件。

    applet不能读取特定的系统属性。

    applet不能发起网络连接,除非是跟宿主机。

    applet不能够开启宿主机上其他任何的程序。

    什么是不受信任的applet?

    不受信任的applet是不能访问或是执行本地系统文件的Java applet,默认情况下,所有下载的applet都是不受信任的。

    applet类加载器

    当applet是从网络上加载的时候,它是由applet类加载器载入的。类加载器有自己的java名称空间等级结构。类加载器会保证来自文件系统的类有唯一的名称空间,来自网络资源的类有唯一的名称空间。

    当浏览器通过网络载入applet的时候,applet的类被放置于和applet的源相关联的私有的名称空间中。然后,那些被类加载器载入进来的类都是通过了验证器验证的。验证器会检查类文件格式是否遵守Java语言规范,确保不会出现堆栈溢出(stack overflow)或者下溢(underflow),传递给字节码指令的参数是正确的。

    applet安全管理器

    applet安全管理器是给applet施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器在启动的时候被创建,之后不能被替换覆盖或者是扩展。

    本文内容来自:Java面试题 : Java的Applet – Break易站


    —Author: Arvin Chen —Web Address: www.breakyizhan.com (Break易站)

     
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/1660.html