海上生明月,天涯共此时。
Java
是一种通用的计算机编程语言,它具有卓越的通用性、高效性、平台移植性和安全性。它旨在让应用程序开发人员 “write once, run anywhere”
( WORA
),这意味着编译的 Java
代码可以在支持 Java
的所有平台上运行,而无需重新编译。
例如,你可以在 UNIX
上编写和编译 Java
程序,并在 Microsoft Windows
, Macintosh
或 UNIX
计算机上运行它,而无需对源代码进行任何修改。 WORA
是通过将 Java
程序编译成称为字节码的中间语言来实现的。字节码的格式与平台无关。称为 Java
虚拟机( JVM
)的虚拟机用于在每个平台上运行字节码。
Java
最初是由 Sun Microsystems
的 James Gosling
开发的(后来被 Oracle Corporation
收购),并于1995年作为 Sun Microsystems
Java
平台的核心组件发布。该语言的大部分语法来自 C
和 C ++
,但它比它们任何一种都简单易学。
在2010年1月27日收购 Sun Microsystems
之后, Oracle Corporation
成为 Java SE
平台官方实施的当前所有者。此实现基于 Sun
最初的 Java
实现。 Oracle
实施适用于 Microsoft Windows
, Mac OS X
, Linux
和 Solaris
。
Oracle
实现打包成两个不同的发行版:
Java
运行时环境( JRE
),包含运行 Java
程序所需的 Java SE
平台部分,面相大多数用户。 Java Development Kit(JDK
),面向软件开发人员,包括 Java
编译器, Javadoc
, Jar
和调试器等开发工具。 Java
使用自动垃圾收集器来管理对象在内存中的生命周期 。程序员只需要确定何时创建对象,并且 Java
运行时负责在对象不再使用时恢复内存。一旦没有对对象的引用,无法访问的内存就有资格被垃圾收集器自动释放。
如果程序员的代码保存对不再需要的对象的引用,则通常会发生类似于内存泄漏的事情,通常是当不再需要的对象存储在仍在使用的容器中时。如果调用不存在的对象的方法,则抛出 “NullPointerException”
。
垃圾收集可能随时发生。理想情况下,它会在程序空闲时发生。如果堆上的可用内存不足以分配新对象,则可以保证触发;这可能导致程序暂时失速。 Java
中不可能进行显式内存管理。
传统的 “Hello,world!”
程序可以用Java编写:
public class HelloWorldApplication { public static void main(String[] args) { System.out.println("Hello World!"); // Prints Hello World! to the console. } }
Java
源文件必须以它们包含的公共类命名,并附加后缀 .java
,例如 HelloWorldApplication.java
。 Java
编译器将其编译为字节码,从而生成名为 HelloWorldApplication.class
的文件。只有这样才能执行或“启动”。 “public”
,并使用该公共类名称命名源文件。
关注微信公众号 java干货
不定期分享干货资料
原文链接: What is Java programming language?