java的两种运行方式Applet和Application你真的懂吗

对两者的简介

他们是java的两种程序,能够独立运行的程序称为Java应用程序也包含我们正常写的java文件所生成的可执行程序(Application)其运行和普通的java文件相同。Java语言还有另外一种程序——Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序,Applet类是浏览器类库中最为重要的类,同时也是所有java小应用程序的基本类。Apple类中只有一种格式的构造方法public Apple(),此种方法用来创建一个Apple类的实例。因此,在编写Applet程序时,首先必须引入java.applet.Applet包,Applet程序主要继承java.applet包中的Applet类并重写paint()方法。

Applet的介绍

  1. 当applet程序运行时,首先由浏览器自动调用into()方法对小程序进行初始化(又称为初始态),初始化完成后调用start()方法使Applet成为激活状态(又称为运行态),当Applet被覆盖的时候可以用stop()方法停止线程(停止态),关闭浏览器的时候调用destroy()彻底终止Applet小程序(消亡态),从内存中卸载并释放改小程序的所有资源
方法 作用
init() 自动调用,init()方法是Applet运行的起点。当启动Applet程序时,系统首先调用此方法,以执行初始化任务。
start() start()方法是表明Applet程序开始执行的方法。当含有此Applet程序的Web页被再次访问时调用此方法。因此,如果每次访问Web页都需要执行一些操作的话,就需要在Applet程序中重载该方法。在Applet程序中,系统总是先调用init()方法,后调用start()方法。
stop() stop()方法使Applet停止执行,当含有该Applet的Web页被其他页代替时也要调用该方法。
destroy() destroy()方法收回Applet程序的所有资源,即释放已分配给它的所有资源。在Applet程序中,系统总是先调用stop()方法,后调用destroy()方法。
paint(Graphics g) paint(Graphics g)方法可以使Applet程序在屏幕上显示某些信息,如文字、色彩、背景或图像等。参数g是Graphics类的一个对象实例,实际上可以把g理解为一个画笔。对象g中包含了许多绘制方法,如drawstring()方法就是输出字符串。
repaint() repaint()方法的功能是,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。

值得注意的是,在Applet类中没有提供init()、start()、stop()、destroy()和paint()方法的任何实现,且它们都是被浏览器或Appletviewer(一种小程序浏览器存在于JDK中用于执行html文件)调用的,所以这几个方法要完成的功能应由编程人员自行编制。
2.java为了防范恶意程序的攻击,保护本地主机对Applet做出安全限制
(1)Applet不能运行本地任何可执行程序
(2)禁止加载本地的库和方法
(3)禁止读写本地计算机的文件系统
(4)禁止提供Applet之外的任何主机建立网络连接
(5)不能读取某些系统信息
(6)由一个Applet弹出的窗口外观上与与一个Application弹出的窗口不同,Applet弹出的窗口中会有警告提示信息,帮助用户区分Applet窗口与可信的Application的窗口
这里注意Applet只能读取有限的系统信息,并不是一点不能读取
在这里插入图片描述

Applet和Application的区别

(1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。
(2)运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,程序执行时,首先寻找main方法,并以此为入口 点开始运行。含有main方法的那个类,常被称为主类,也就是说,Java Application程序都含有一个主类。而Applet程序则没有含 main方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含main方法的主类,但Applet一定有一个 从 java.applet.Applet派生的类,它是由Java系统提供的。
(4)Java Applet程序可以直接利用浏览器或AppletViewer提供的图形用户界面,而Java Application程序则必须另外书写专用代码来营建自己的图形界面。
(5)受到的限制不同。Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作,但是 Java Applet 对站 点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于Applet的引入,使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功 能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增 加了交互性。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45737068/article/details/105547064