Java平台即由Java程式語言所撰寫的軟體賴以執行的平台,是Java軟體和電腦系統的中介,最初被設計用在 Applet 等桌面端程式,不過後來逐漸轉移到伺服端的運用。
![](//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/25px-Disambig_gray.svg.png)
此條目介紹的是软件平台。关于编程语言,请见「
Java」。关于从java.com下载的软件包,请见「
Java SE」。
Java 執行環境,即 Java Runtime Environment,简称为JRE,是在任何平台上运行Java编写的程序都需要用到的软件。终端用户可以以软件或者插件方式得到和使用 JRE。Sun 公司还发布了一个JRE的更复杂的版本,叫做JDK,即Java 2开发包,裡面包含了Java需要的编译器、参考文档和调试器等。
- Java的类库,包含了编译Java程序所需要的最核心文件。
-
- 数据结构的库,包括列表、字典和树等
- XML分析库
- 安全方面应用库
- 国际化和本地化应用库
- 综合库文件,包含了程序员和其他系统通信的功能文件。
- 一个用于执行软件的Java虚拟机(JVM)
- 插件,可以在浏览器裡面使用
- JWS,可以让终端用户连接到互联网
- 许可文件和文档
根据Sun公司的统计,安裝Java运行环境的个人计算机已经超过7亿。[1]自从Sun指控微软添加Windows特效类文件到Java运行环境(JRE),并通过Visual J++运行这些类文件,微软不再绑定Java运行环境到Windows操作系统。Apple的Mac OS X一般默认绑定Java运行环境, 而且许多Linux发行版也绑定一些兼容的自由软件包GNU Classpath。[2]
一些Java软件被桌面计算机广泛应用,比如NetBeans和Eclipse integrated development environments,文件共享程序如LimeWire和Vuze. Java还被应用于线性代数计算编程环境,包括用户界面和部分系统核心功能。
Java ME在移动设备上越来越流行,并开始与Symbian, BREW,和.NET Compact Framework展开竞争。
因为手机制造商的多样性,需要一种新的统一标准,使程序可以运行于不同手机供应商制造的手机上。第一代这样的标准是MIDP 1,它假设手机显示屏很小,没有音频操作权限,而且只允许小于32kb的程序运行。MIDP2有声音访问权限,程序大小限制提高到了64kb。随着手机设计的能力和速度的快速提升,其发展速度远比标准的制定快的多,一些厂商开始放松了对标准的遵守,比如允许更大的程序在手机上运行。
扩展和与Java程序设计语言紧密相关的架构(按字母排序)。
- Groovy,一种用纯Java实现的脚本语言,Python的强有力竞争者
- JAIN (Java API for Integrated Networks)Java综合网络应用程序开发接口
- JAI,(Java Advanced Imaging)Java进阶图像
- JAXP,(Java API for XML Processing)Java XML處理API
- Java EE(原名J2EE),Java平台企业版
- Java ME(原名J2ME),Java平台微型版为PDA和智能手机开发的移动版本
- Java SE(原名J2SE),Java平台标准版
- JDBC,(Java Database Connectivity)Java数据库联通
- JDMK,(Java Dynamic Management Kit)Java动态管理开发包
- JDO,(Java Data Objects)Java数据对象
- JPA,(Java Persistence API)Java持久化API
- JJSF,Java服务器界面
- JMF,(Java Media Framework)Java媒体框架
- JMI,Java元数据接口
- JML,(Java Modeling Language)Java建模软件
- JMX,(Java Management Extensions)Java管理扩展
- JNDI,(Java Naming and Directory Interface)Java命名和目录接口
- JNI,(Java Native Interface)Java本地编程接口
- JOGL,使用OpenGL的低阶三位游戏开发接口
- JSML,(Java Speech API Markup Language)Java的语音和标记语言
- JSP,(JavaServer Pages)Java服务器页面
- JSF,(JavaServer Faces)
- JXTA,P2P虚拟网络协议
- Java Card
- Java3D,用于三维游戏编程的高阶应用程序开发接口
- JavaSpaces
- Jini,Java网络分布计算结构
- Jiro
- OSGi,(Dynamic Service Management and Remote Maintenance)动态服务管理和远程控制
- Rhino,用Java实现的JavaScript语言。
- Swing,Java的圖像用戶界面API
- SWT,Standard Widget Toolkit,由IBM和Eclipse基金會主導開發的開源圖像用戶界面API
- SuperWaba,手持设备的虚拟机程序