Java 

Java
编程范型多重范型面向对象类别基础)、结构化指令式泛型反射并发计算
設計者詹姆斯·高斯林
太阳计算机系统
實作者甲骨文公司 (太阳计算机系统)
发行时间1995年​(1995[1]
当前版本
  • Java SE 21 (2023年9月20日;長期支援)[2]
編輯維基數據鏈接
型態系統静态、安全、强类型标明类型英语Nominal type system
許可證GNU通用公共许可协议JCP
文件扩展名.java、.class、.jar
網站www.oracle.com/java/ 編輯維基數據鏈接
主要實作產品
OpenJDKGCJ其他
衍生副語言
泛型Java英语Generic JavaPizza英语Pizza (programming language)
啟發語言
Ada 83C++C♯[註 1]CLU[5]Eiffel[6]
Generic Java英语Generics in Java
Lisp[5]Mesa[7]Modula-3[8]Oberon[註 2]Objective-C[註 3]Simula 67[5]Smalltalk[5]UCSD Pascal[10][11]Object Pascal[註 4]
影響語言
Ada 2005BeanShell英语BeanShellC♯ClojureECMAScriptGroovyHack[13]HaxeJ♯JavaScriptKotlinPHPPythonScalaSeed7英语Seed7Vala

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台物件導向泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。

任職於昇陽電腦詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机电话闹钟烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,昇陽電腦放弃了该项计划。随着1990年代網際網路的发展,昇陽電腦看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指標,以參照取代;移除了C++中的运算符重载多重继承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全、与系统无关、可移植、高性能、多线程和动态的语言」。

Java不同於一般的编译語言直譯語言。它首先将源代码编译成字节码,再依赖各种不同平台上的虚拟机来解释执行字节码,从而具有“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。

与传统型態不同,昇陽電腦在推出Java時就将其作为开放的技术。全球的Java开发公司被要求所设计的Java软件必须兼容。“Java语言靠群体的力量而非公司的力量”是昇陽電腦的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來昇陽電腦被甲骨文公司併購[14],Java也隨之成為甲骨文公司的產品。

目前,行動作業系統Android大部分的代碼採用Java程式設計語言編程。

  1. ^ The History of Java Technology. [2012-10-06]. (原始内容存档于2012-11-06). 
  2. ^ JDK 21. 
  3. ^ Java 5 catches up with C#. www.barrycornelius.com. [2006-11-30]. (原始内容存档于2011-03-19). 
  4. ^ Lévénez, Éric. Computer Languages History. www.levenez.com. [2006-11-30]. (原始内容存档于2006-01-07). 
  5. ^ 5.0 5.1 5.2 5.3 Barbara Liskov with John Guttag英语John Guttag. Program Development in Java - Abstraction, Specification, and Object-Oriented Design. USA, Addison Wesley. 2000. ISBN 9780201657685. Java is a successor to a number of languages, including Lisp, Simula67, CLU, and SmallTalk. Java is superficially similar to C and C++ because its syntax is borrowed from them. However, at a deeper level it is very different from these languages. 
  6. ^ Gosling, James; McGilton, Henry. The Java Language Environment. May 1996 [2015-12-22]. (原始内容存档于2014-05-06). 
  7. ^ Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. The Java Language Specification, 2nd Edition. [2013-02-28]. (原始内容存档于2013-05-12). 
  8. ^ The A-Z of Programming Languages: Modula-3. Computerworld.com.au. [2010-06-09]. (原始内容存档于2009-01-05). 
  9. ^ Java Was Strongly Influenced by Objective-C. cs.gmu.edu. [2013-02-28]. (原始内容存档于2011-07-13). 
  10. ^ TechMetrix Research. History of Java (PDF). Java Application Servers Report. 1999 [2015-12-22]. (原始内容 (PDF)存档于2010-12-29). The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code 
  11. ^ A Conversation with James Gosling – ACM Queue. Queue.acm.org. 2004-08-31 [2010-06-09]. (原始内容存档于2015-07-16). 
  12. ^ White Paper About Microsoft's "Delegates"
  13. ^ Facebook Q&A: Hack brings static typing to PHP world. InfoWorld. 2014-03-26 [2015-01-11]. (原始内容存档于2015-02-13). 
  14. ^ Oracle to Buy Sun. web.archive.org. 2009-04-22 [2022-03-18]. 原始内容存档于2009-04-22. 


引证错误:页面中存在标签,但没有找到相应的标签




取材自維基百科 - 中文時事百科