Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而闻名。下图是TIOBE 11 月编程语言榜TOP20,Java仍稳居前3。
![]()
本文将介绍Java的一些基本概念与常识,帮助你建立起对Java的初步认知。让我们开始这段精彩的Java学习之旅吧! ![]()
Java的诞生
![]()
01 Java的历史 Java的名称来源于印度尼西亚的爪哇岛,据说是因为开发团队喜欢喝咖啡,于是选择了这个名字。Java是由Sun Microsystems公司(现已被Oracle公司收购)于1995年正式发布的。Java的创始人是詹姆斯·高斯林(James Gosling),他在Sun Microsystems工作期间领导了Java的研发工作。最初,Java的设计目标是为了家用电器设备的嵌入式系统,但是随着互联网的迅猛发展,Java 在企业级应用开发方面的优势愈发凸显。
![]()
Java语言的特性
![]()
01 简单性 Java的设计非常注重简单性,去除了C++中的一些复杂特性,如指针和多重继承。这使得Java更加易于学习和使用。例如,Java没有指针,因此不会出现指针相关的错误,如野指针和内存泄漏。此外,Java的语法也非常简洁明了,易于理解。 ![]()
02 跨平台性 Java的跨平台性是其最大的特点之一。通过Java虚拟机(JVM),Java程序可以在任何支持JVM的操作系统上运行,无需重新编译。这意味着你可以在Windows上编写Java程序,然后在Linux或Mac OS上运行,而不需要做任何修改。这种跨平台性使得Java成为了开发跨平台应用的理想选择。 ![]()
03 面向对象 Java是一种纯面向对象的语言,支持封装、继承和多态。面向对象编程使得代码更加模块化,易于维护和扩展。例如,你可以创建一个类,然后通过继承其父类,共享父类的属性和方法。这样,子类不仅可以继承到父类的所有功能,并且还可以添加自己特有的功能。 ![]()
04 自动内存管理 Java通过垃圾回收机制自动管理内存,减少了内存泄漏的风险。程序员不需要手动释放内存,这大大简化了内存管理的工作。例如,当你创建一个对象并分配内存时,Java会自动跟踪该对象的生命周期。当对象不再被引用时,垃圾回收器会自动回收其占用的内存,从而防止内存泄漏。 ![]()
05 丰富的类库 Java提供了大量的内置类库,涵盖了从网络编程到图形界面的各种功能。这些类库使得开发变得更加高效和便捷。例如,java.net包提供了网络编程的功能,java.io包提供了文件I/O操作的功能,java.awt和javax.swing包提供了图形界面开发的功能。通过这些类库,你可以轻松地实现复杂的任务,而不需要从头开始编写代码。 ![]()
06 安全性 Java具有严格的安全模型,确保了程序的安全性。Java沙箱(Sandbox)机制限制了程序的权限,防止恶意代码的执行。例如,Java Applets在浏览器中运行时,只能访问有限的资源,不能随意访问文件系统。此外,Java还提供了数字签名、证书等安全机制,确保了程序的完整性和真实性。 ![]()
Java SE、EE、ME的区别与联系
![]()
01 Java SE (Standard Edition) Java SE 是Java的标准版,它是Java平台的基础。Java SE 包含了核心的Java类库和Java虚拟机(JVM),适用于桌面应用和简单的服务器应用。它是学习Java的基础,也是Java EE和Java ME的基础。 应用场景:桌面应用、简单的服务器应用、命令行工具等。 核心库:java.lang、java.util、java.io、java.nio、java.awt、javax.swing等。 ![]()
02 Java EE (Enterprise Edition) Java EE 是在Java SE的基础上构建的,它依赖于Java SE的核心库和JVM。Java EE 是Java的企业版,提供了额外的企业级服务和框架,使得开发者可以更方便地构建大规模的企业级应用。Java EE 提供了诸如Servlet、JSP、EJB、JMS、JPA等组件,用于构建复杂的分布式系统、Web应用和服务。 应用场景:大型企业级应用、Web应用、分布式系统、事务处理等。 核心库:javax.servlet、javax.ejb、javax.jms、javax.persistence、javax.transaction等。
![]()
03 Java ME (Micro Edition) Java ME 是Java的微型版,它也同样基于Java SE的核心库,但它去除了许多不必要的功能,针对资源受限的设备进行了优化。Java ME 提供了轻量级的类库和JVM,适用于嵌入式设备和移动设备。 应用场景:嵌入式设备、移动设备、物联网设备等。 核心库:javax.microedition、javax.microedition.lcdui、javax.microedition.midlet等。
![]()
JDK与JRE
![]()
01 JDK (Java Development Kit) JDK 是Java开发工具包,包含了JRE(Java Runtime Environment)以及开发工具(如编译器、调试器等)。JDK主要用于开发Java应用程序。 主要组成: JRE:Java运行时环境,包含了JVM和Java类库。 编译器(javac):将Java源代码编译成字节码。 调试器(jdb):用于调试Java程序。 打包工具(jar):用于打包Java类文件和资源文件。 文档生成工具(javadoc):生成API文档。
使用场景:开发人员编写、编译和调试Java代码时使用JDK。例如,当你编写一个Java程序并需要编译和运行时,就需要使用JDK。
![]()
02 JRE (Java Runtime Environment) JRE 是Java运行时环境,包含了JVM和Java类库。JRE主要用于运行Java应用程序,而不包含开发工具。 主要组成:
JVM:Java虚拟机,负责解释和执行Java字节码。
Java类库:提供了大量的内置类库,支持各种功能。
使用场景:普通用户在计算机上运行Java应用程序时只需要JRE。例如,当你从互联网上下载一个Java游戏并希望在你的电脑上运行时,只需要安装JRE即可。
![]()
JVM的简单介绍
![]()
01 JVM是什么 JVM(Java Virtual Machine)是Java虚拟机,负责解释和执行Java字节码。JVM是Java跨平台特性的核心组件。JVM的存在使得Java程序可以在不同的操作系统上运行,而不需要重新编译。
![]()
02 JVM的主要功能 解释执行:JVM将字节码解释成机器码并执行。JVM会在运行时动态地将字节码转换成特定平台的机器码,从而实现跨平台运行。
垃圾回收:JVM自动管理内存,通过垃圾回收机制回收不再使用的内存空间。垃圾回收器会自动跟踪对象的生命周期,并在对象不再被引用时回收其占用的内存。
安全管理:JVM提供了安全机制,限制了程序的权限,防止恶意代码的执行。例如,Java沙箱机制限制了Applets的权限,防止其访问敏感资源。
![]()
03 不同平台的JVM 不同操作系统的JVM实现略有不同,但都遵循相同的规范。(比如我们平时接触最多的HotSpot VM就是JVM规范的一种实现而已)这意味着Java程序可以在不同的操作系统上运行,而无需重新编译。例如,Windows上的JVM和Linux上的JVM虽然实现细节可能有所不同,但都支持相同的字节码格式和Java规范。
![]()
“一次编写,到处运行”
![]()
“一次编写,到处运行” 是Java的一个核心理念,意味着编写一次Java代码,就可以在任何支持Java的平台上运行,无需重新编译。这意味着你可以在Windows上编写Java程序,然后在Linux或Mac OS上运行,而不需要做任何修改。
编译阶段:Java源代码(.java文件)通过Java编译器(javac)编译成字节码(.class文件)。字节码是一种中间代码,不是特定于任何操作系统的机器码。例如,你编写了一个简单的Java程序HelloWorld.java,通过javac HelloWorld.java命令编译成HelloWorld.class。
运行阶段:字节码由Java虚拟机(JVM)解释执行。JVM会将字节码转换成特定平台的机器码,从而实现在不同操作系统上的运行。例如,你可以在Windows上通过java HelloWorld命令运行编译后的HelloWorld.class,然后在Linux或Mac OS上同样通过java HelloWorld命令运行,而不需要重新编译。
![]()
结语
希望通过这篇文章能为你提供一个清晰的知识脉络,帮助你快速建立起对Java的初步认知。如果你有任何疑问或需要进一步的帮助,请在评论区留言。让我们共同努力,开启Java编程的精彩旅程!
【Java驿站】持续给大家更新 扫描下方二维码
关注【Java驿站】公众号
👇👇👇
Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而闻名。下图是TIOBE 11 月编程语言榜TOP20,Java仍稳居前3。
![]()
Java的诞生
![]()
01 Java的历史 Java的名称来源于印度尼西亚的爪哇岛,据说是因为开发团队喜欢喝咖啡,于是选择了这个名字。Java是由Sun Microsystems公司(现已被Oracle公司收购)于1995年正式发布的。Java的创始人是詹姆斯·高斯林(James Gosling),他在Sun Microsystems工作期间领导了Java的研发工作。最初,Java的设计目标是为了家用电器设备的嵌入式系统,但是随着互联网的迅猛发展,Java 在企业级应用开发方面的优势愈发凸显。
Java的诞生
Java语言的特性
Java SE、EE、ME的区别与联系
核心库:javax.servlet、javax.ejb、javax.jms、javax.persistence、javax.transaction等。
核心库:javax.microedition、javax.microedition.lcdui、javax.microedition.midlet等。
JDK与JRE
主要组成: JRE:Java运行时环境,包含了JVM和Java类库。 编译器(javac):将Java源代码编译成字节码。 调试器(jdb):用于调试Java程序。 打包工具(jar):用于打包Java类文件和资源文件。 文档生成工具(javadoc):生成API文档。 使用场景:开发人员编写、编译和调试Java代码时使用JDK。例如,当你编写一个Java程序并需要编译和运行时,就需要使用JDK。
主要组成:
JVM:Java虚拟机,负责解释和执行Java字节码。
Java类库:提供了大量的内置类库,支持各种功能。
使用场景:普通用户在计算机上运行Java应用程序时只需要JRE。例如,当你从互联网上下载一个Java游戏并希望在你的电脑上运行时,只需要安装JRE即可。
JVM的简单介绍
JVM(Java Virtual Machine)是Java虚拟机,负责解释和执行Java字节码。JVM是Java跨平台特性的核心组件。JVM的存在使得Java程序可以在不同的操作系统上运行,而不需要重新编译。
解释执行:JVM将字节码解释成机器码并执行。JVM会在运行时动态地将字节码转换成特定平台的机器码,从而实现跨平台运行。
垃圾回收:JVM自动管理内存,通过垃圾回收机制回收不再使用的内存空间。垃圾回收器会自动跟踪对象的生命周期,并在对象不再被引用时回收其占用的内存。
安全管理:JVM提供了安全机制,限制了程序的权限,防止恶意代码的执行。例如,Java沙箱机制限制了Applets的权限,防止其访问敏感资源。
不同操作系统的JVM实现略有不同,但都遵循相同的规范。(比如我们平时接触最多的HotSpot VM就是JVM规范的一种实现而已)这意味着Java程序可以在不同的操作系统上运行,而无需重新编译。例如,Windows上的JVM和Linux上的JVM虽然实现细节可能有所不同,但都支持相同的字节码格式和Java规范。
“一次编写,到处运行”
“一次编写,到处运行” 是Java的一个核心理念,意味着编写一次Java代码,就可以在任何支持Java的平台上运行,无需重新编译。这意味着你可以在Windows上编写Java程序,然后在Linux或Mac OS上运行,而不需要做任何修改。
编译阶段:Java源代码(.java文件)通过Java编译器(javac)编译成字节码(.class文件)。字节码是一种中间代码,不是特定于任何操作系统的机器码。例如,你编写了一个简单的Java程序HelloWorld.java,通过javac HelloWorld.java命令编译成HelloWorld.class。
运行阶段:字节码由Java虚拟机(JVM)解释执行。JVM会将字节码转换成特定平台的机器码,从而实现在不同操作系统上的运行。例如,你可以在Windows上通过java HelloWorld命令运行编译后的HelloWorld.class,然后在Linux或Mac OS上同样通过java HelloWorld命令运行,而不需要重新编译。
结语
扫描下方二维码
关注【Java驿站】公众号
👇👇👇
关注“Java驿站”