Java Applet 详解
一、Java Applet 的核心特性
java.applet.Applet类(或 Swing 中的JApplet)的 Java 类,具有以下鲜明特点:-
跨平台运行:依托 Java 虚拟机(JVM)的 "一次编写,到处运行" 特性,只要浏览器安装了 Java 插件,Applet 就能在不同操作系统(Windows、macOS、Linux 等)的浏览器中一致运行。
-
嵌入网页执行:通过 HTML 中的
<applet>标签嵌入网页,由浏览器加载并在沙箱(Sandbox)环境中运行,无需用户单独下载安装。 -
安全沙箱限制:为防止恶意操作,Applet 默认运行在受限环境中,例如不能访问本地文件系统、不能建立网络连接到非源服务器、不能执行本地程序等。
-
动态交互能力:支持图形绘制、用户输入响应(鼠标 / 键盘事件)、网络通信、多媒体播放等,弥补了早期 HTML 只能静态展示的缺陷。
二、Applet 的工作原理
-
开发与部署流程:
- 开发者编写 Applet 类(继承
Applet),重写init()(初始化)、start()(启动)、paint()(绘制)等生命周期方法。 - 编译为字节码文件(.class),部署到 Web 服务器。
- 在 HTML 中通过
<applet>标签指定类文件路径、尺寸等参数。
- 开发者编写 Applet 类(继承
-
运行过程:
- 用户访问包含 Applet 的网页时,浏览器解析
<applet>标签,从服务器下载.class 文件。 - 若浏览器已安装 Java 插件(Java Plug-in),则启动 JVM 实例加载并执行 Applet。
- 执行过程中,Applet 通过 AWT 或 Swing 组件绘制界面,并与用户交互。
- 用户访问包含 Applet 的网页时,浏览器解析
三、基本结构与生命周期
import java.applet.Applet;
import java.awt.Graphics;public class HelloApplet extends Applet {// 1. 初始化:当Applet被加载到浏览器时调用,用于初始化资源public void init() {// 例如:设置背景色、加载图片等setBackground(Color.white);}// 2. 启动:初始化后调用,或浏览器从后台切换到前台时调用public void start() {// 例如:启动动画线程、开始播放音频等}// 3. 绘制:当Applet需要重绘时调用(如首次显示、窗口大小改变)public void paint(Graphics g) {// 绘制文本或图形g.drawString("Hello, Applet!", 50, 50);}// 4. 停止:浏览器切换到后台或关闭标签页时调用public void stop() {// 例如:暂停动画、停止音频播放等}// 5. 销毁:Applet被永久卸载时调用(如浏览器关闭)public void destroy() {// 例如:释放资源、关闭连接等}
}
<applet code="HelloApplet.class" width="300" height="200"><!-- 浏览器不支持Applet时显示的替代文本 -->您的浏览器不支持Java Applet。
</applet>
四、历史地位与衰落原因
曾经的辉煌
- 填补早期 Web 交互空白:在 JavaScript 尚未成熟、Flash 未普及的年代,Applet 为网页提供了复杂交互能力,广泛用于在线游戏、数据可视化、教育工具、企业内部系统等。
- 企业级应用场景:因 Java 的安全性和跨平台性,Applet 曾被用于银行网银插件、证券交易客户端等对安全性要求较高的场景。
衰落的关键因素
- 性能与体验问题:启动依赖 JVM,加载速度慢,容易出现 "灰屏" 等待,用户体验远不及原生应用或后来的 Flash、JavaScript。
- 安全漏洞频发:尽管有沙箱机制,但历史上多次曝出 Java 插件的安全漏洞,导致浏览器厂商逐渐限制甚至禁用 Applet。
- 技术替代兴起:随着 HTML5、CSS3 和 JavaScript 的发展,网页原生支持图形、动画、多媒体等功能,完全替代了 Applet 的核心应用场景。
- 官方支持终止:Oracle 在 Java 9 中标记 Applet 为过时(deprecated),Java 11 正式移除 Applet API,浏览器也陆续停止支持 Java 插件(如 Chrome 45+、Firefox 52+)。
五、总结
相关新闻
2025年度江苏轮椅升降机改装服务TOP3实力厂商推荐:福祉座椅改装/残疾车改装/福祉座椅维修服务精选。
轮椅升降机作为重要的无障碍设施,在当今社会发挥着越来越重要的作用。它不仅为行动不便者提供了便利,更体现了社会对特殊群体的人文关怀。随着人口老龄化趋势加剧以及无障碍环境建设政策的推进,江苏省轮椅升降机改装…
2025年知名的PP封边条热门厂家推荐榜单
2025年知名的PP封边条热门厂家推荐榜单 开篇介绍 PP封边条作为现代定制家具中不可或缺的组成部分,不仅起到保护板材边缘的作用,更能提升整体家居的美观度和耐用性。随着消费者对环保、美观、耐用等需求的不断提升,…
筛选过滤
client process 客户端进程过滤 request headers 请求头过滤 breakpoints 设置断点 response status code 响应状态码过滤 response type and size 相应类型和大小过滤 response headers 响应头过滤
最新新闻
宝玑苏州网点地址及售后服务热线电话2026年7月权威通告 - 亨得利官方服务中心
根据宝玑苏州网点地址及售后服务热线电话2026年7月权威通告,本文为您汇总核心信息:宝玑全国统一售后服务热线为400-886-1507,该号码为本次正式启用的售后电话,服务覆盖中国所有省份及360余座地级市。苏州网点地址已…
【Rust自学】2.3. 猜数游戏Pt.3 输入数与随机数的对比
2.3 猜数游戏Pt.3 输入数与随机数的对比 2.3.0 本篇知识点 在本篇中,你将学到: - match 的用法 - 遮蔽(shadowing) - 类型转换 - Ordering 类型 2.3.1 游戏目标 生成一个 1 到 100 间的随机数提示玩家输入一个猜测猜完之后,程…
TI TM4C129XNCZAD微控制器深度解析:架构、外设与实战应用
1. 项目概述与核心价值 如果你正在寻找一颗能扛起工业物联网网关、高端人机交互界面或者复杂运动控制任务的“大心脏”微控制器,那么TI的Tiva™ TM4C129XNCZAD绝对是一个绕不开的选项。这颗芯片在业内有个更广为人知的名字——基于ARM Cortex-M4F内核的“连接型”M…
传统运维的“救火”时代结束了:用AI重新定义企业级智能运维
在数字化转型进入深水区的今天,企业业务对IT系统的依赖达到了前所未有的高度。然而,随之而来的是指数级增长的系统复杂度:微服务架构、容器化部署、多云环境交织,让底层架构变得错综复杂。 对于绝大多数企业的运维团队而言&#…
超详细:Dify大语言模型工作流开发平台的安装与使用,deepseek知识库客服等
一、Dify 的详细介绍,综合其功能定位、技术特性、应用场景及市场表现: 一、Dify 概述 Dify 是一款开源的 大语言模型(LLM)应用开发平台,旨在简化生成式 AI 应用的开发与部署流程。它融合了 后端即服务(Ba…
阿里Qwen3-Max-Thinking:万亿参数大模型的技术突破与应用
1. 阿里Qwen3-Max-Thinking技术解析:万亿参数模型的突破性创新北京时间2026年1月26日晚间,阿里云正式发布了千问系列旗舰推理模型Qwen3-Max-Thinking。这款总参数规模突破万亿的大模型,在多项关键性能指标上实现了质的飞跃,标志着…
日新闻
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)
更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…
帝舵佛山**网点地址更新:2026年7月售后热线电话与服务客户指南 - 帝舵中国官方服务中心
帝舵佛山**网点地址已更新,2026年7月起售后热线电话正式启用为400-801-5381,客户指南同步发布。如需售后、维修或咨询服务,请直接拨打该全国统一**热线,服务时间每日8:00至22:00。地址信息详见下文,请按最新公布信…
亨得利盐城维修点在哪里?手表维修保养地址指南**公示(2026年7月最新) - 亨得利官方
亨得利在盐城设有**售后维修服务点,为当地及周边腕表用户提供标准化的保养与维修支持。2026年7月最新公示的全国统一客服热线为400-878-6612,服务时间为每日8:00至22:00,客户拨打时请确认使用本次公布的最新号码。*…
周新闻
2026年7月最新太原百达翡丽官方售后客服电话及服务网点地址查询 - 百达翡丽官方售后中心
2026年7月,百达翡丽在太原的官方售后服务体系完成更新,客户可通过全国统一客服热线与服务网点获得直接、合规的腕表养护与维修支持。所有售后服务均遵循品牌直营标准,覆盖全国范围,客户可选择到店或邮寄方式,但需…
【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC
可视化利器:JConsole、VisualVM、JMC 实战 本文是《JVM调优实战》专栏第 16 讲。 引言 上一讲我们介绍了 JDK 命令行工具箱,它们轻量、快速,但有一个明显的短板:不直观。面对 jstat -gcutil 输出的一行行数字,你能感知 GC 频率,却难以一眼看出内存泄漏的趋势;你能用 js…
什么是PCTFE?医药高端包装的“防潮王牌“材料
——日氟荣高分子材料(上海)有限公司 专业深耕氟材料领域很多人好奇,高端药品包装为什么比普通包装更防潮、更稳定、保质期更长?核心秘密,就藏在一种特种氟材料——PCTFE聚三氟氯乙烯里!作为国内领先的氟材…
月新闻
[C++]内存管理:串顺序存储的内存回收
在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比
移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建
本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…