对两者的简介

他们是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页面增加了按钮等功能,从而增 加了交互性。

java的两种运行方式Applet和Application你真的懂吗相关推荐

  1. java中两种异常类型_Java中的三种异常类型

    java中两种异常类型 Errors are the bane of users and programmers alike. Developers obviously don't want thei ...

  2. Java多线程两种实现方式的对比

    Java多线程两种实现方式的对比 一种,直接继承Thread类 一种,实现Thread类的Runnable接口 两种方式的区别 比如,售票厅有四个窗口,可以发售某日某次列出的100张车票,此时,100 ...

  3. python的编程模式有哪两种_python程序的两种运行方式是什么

    python程序的两种运行方式是什么 第一种方式:REPL 所谓REPL即read.eva.print.loop(读取.计算.打印.循环),实现REPL运行方式有以下两种: 1.IDLE( 集成开发环 ...

  4. python的运行方式有哪两种 有何区别_python程序的两种运行方式是什么

    python程序的两种运行方式是什么 第一种方式:REPL 所谓REPL即read.eva.print.loop(读取.计算.打印.循环),实现REPL运行方式有以下两种: 1.IDLE( 集成开发环 ...

  5. 十进制转二进制,用java的两种基本方法,适合新手

    十进制转二进制,用java的两种基本方法,适合新手 1.String字符串拼接法 package cn.sxt;import java.util.Scanner;/*** 6. 从键盘输入某个十进制整 ...

  6. Java实现两种方式 RSA签名, RSA签名校验

    Java实现两种方式 RSA签名, RSA签名校验 通过 .keystore密钥文件实现 生成密钥文件 test2.keystore 相关使用 通过密钥生成器实现 Byte数据转换成 Hex字符串 相 ...

  7. 分析Java的两种数据类型

    一.Java的两种数据类型 1.基本数据类型:四类八种 整数型:byte short int long 浮点数型:float double 布尔型:boolean 字符型:char 2.引用数据类型: ...

  8. java的两种比较器

    比较算法 日常生活中,如果想比较两个数的大小,可采用做差的方式,做差结果的正负可用来判断两个数的大小.假设A - B = C 若整数C > 0,说明 A > B ; 若整数C = 0,说明 ...

  9. Java中两种抛出异常的方式

    Java中两种抛出异常的方式 在Java中有两种抛出异常的方式,一种是throw,直接抛出异常,另一种是throws,间接抛出异常. 直接抛出异常是在方法中用关键字throw引发明确的异常.当thro ...

最新文章

  1. 汇编程序设计与计算机体系结构软件工程师教程笔记:指令
  2. 便携式不锈钢管道焊接机器人_不锈钢管道焊接工艺
  3. dva 中的响应编程
  4. DZY Loves Math IV(杜教筛)
  5. javascript中对象、JSON格式数据、创建对象的方式、数据类型分类及特点
  6. 【源码分析】微信小程序 - 01表单组件 - 01button - 实践
  7. 字符集匹配:\s 匹配一个空格,一边后面加量词表示多个空格,\s*表示0个以上空格,\s+表示1个以上空格,\s相当于[\f\r\n\t ]5种空白字符。...
  8. python课后题答案第一章_python核心编程课后习题解答第一章
  9. Zookeeper原理分析之存储结构ZkDatabase
  10. log4j配置以及logback配置
  11. 网络故障排除连载之四:OSPF故障排除
  12. chown无效的用户mysql_求大神指引,安装MYSQL时执行chown指令出错,已经创建组和用户。local中并没有找到mysql。用find找过路径...
  13. 微星笔记本每次都进bios
  14. was compiled with optimization - stepping may behave oddly; variables may not be available.
  15. 植物大战僵尸无尽版游泳池优秀阵容推荐(一)
  16. 综合评价的基本理论和数据预处理
  17. vue中iframe嵌套页面父子组件互相通信
  18. 2021山西高考口试成绩查询,2021年山西高考成绩电话手机查询方法入口 附成绩打印教程...
  19. 03-核心类库-04-多线程笔记
  20. [网络流][最大点权独立集] 方格取数

热门文章

  1. 网易云信与林鹿科技联手推出云对讲服务
  2. React Native基础入门教程:初步使用Flexbox布局
  3. 【HIBERNATE框架开发之九】HIBERNATE 性能优化笔记!(遍历、一级/二级/查询/缓存、乐观悲观锁等优化算法)...
  4. 华为路由器的NAT配置
  5. HOT!闲来无聊,总结了下10个作为网民不得不知道的网址
  6. Java ACM模式
  7. npm install时报平台不兼容Unsupported platform for xxx的解决办法:npm install -f强制安装(centos7下安装vite2 vue依赖时出现这个问题)
  8. k8s 安装redis-operator并以operator方式部署redis-standalone redis-cluster集群完整操作记录
  9. yum 下载全量依赖 rpm 包及离线安装(终极解决方案)
  10. VMware虚拟机里面无法直接访问主机磁盘怎么办?