首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
认识 Java 语言

认识 Java 语言

热心网友
37
转载
2026-05-05

认识 Ja va 语言

说到计算机,其实可以拆解成两个核心部分:硬件和软件。硬件嘛,就是那些看得见摸得着的物理装置,比如主板、CPU、内存条,由电子、机械和光电元件组成。而软件呢,则是为了管理和维护计算机,或者完成用户特定任务而编写的各种程序的总和。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

编程语言的发展历程,其实是一部不断追求“说人话”的历史。最早是机器语言,全是0和1的代码,对程序员来说简直是天书。后来进步到汇编语言,用一些助记符代替了二进制指令,但依然不够直观。直到高级语言的出现,比如C、C++、PHP、.NET,当然还有我们今天的主角——Ja va,才真正让编程变得贴近人类的思维。

Ja va语言诞生于1995年,由Sun公司推出。这里有个有趣的小插曲:后来IBM公司推出的著名开发工具Eclipse,名字意为“日食”,而Sun公司的名字正是“太阳”,这其中的隐喻颇值得玩味。到了2010年,Ja va随着Sun公司一起被Oracle(甲骨文)收购。而这一切的起点,都要归功于“Ja va之父”——James Gosling。

Ja va 版本

Ja va家族主要分为三个版本,各有侧重:

Ja va ME(微型版):主要用于嵌入式系统开发,比如早期的塞班手机(诺基亚的辉煌时代还记得吗?)就大量应用了它。

Ja va SE(标准版):这是Ja va技术最核心、最基础的部分,主要用于桌面应用程序的开发。可以说,它是整个Ja va体系的基石。

Ja va EE(企业版):顾名思义,它主要面向企业级应用,用于开发大规模、分布式的网络程序,构建复杂的服务器端系统。

Ja va 语言的特点

Ja va之所以能风靡多年,离不开它几个鲜明的特点:

首先,它是面向对象的,这符合我们对现实世界的认知方式。不过,它采用的是单继承机制,这与C++的多继承有所不同,目的是让类之间的关系更清晰,避免复杂性。

最广为人知的特点恐怕是跨平台了。“一次编写,到处运行”的口号正是源于此。这个魔法的关键,就在于JVM(Ja va虚拟机)。Ja va程序编译后生成的是字节码(.class文件),而不是直接针对特定操作系统的机器码。不同平台(Windows、Linux、macOS)只需要安装对应的JVM,就能解释执行相同的字节码文件,从而实现跨平台。

这里需要理清几个关键概念:

JDK (Ja va Development Kit):这是Ja va开发工具包,是开发者的必备。它包含了JRE (Ja va Runtime Environment) 以及编译器(ja vac)、调试器等开发工具。

JRE (Ja va Runtime Environment):这是Ja va运行环境。如果只想运行Ja va程序而不开发,安装JRE就够了。它由JVMJa va系统类库(API) 组成。

配置环境变量

要让Ja va在命令行中顺畅运行,配置环境变量是新手必经的一步。这个过程可以分解为几个清晰的步骤:

Step1: 安装JDK。这没什么好说的,从官网下载并运行安装程序即可。

Step2: 配置PATH变量。它的作用是告诉操作系统,当你在任意目录下输入“ja va”或“ja vac”等命令时,应该去哪个路径下寻找这些可执行文件。通常的做法是,将JDK安装目录下的“bin”文件夹的路径(例如`C:\Program Files\Ja va\jdk1.8.0_171\bin`)添加到系统的PATH变量中。

Step3: 配置CLASSPATH变量(在较新版本中,这一步有时不是必须的)。它的作用是告诉Ja va编译器(ja vac)和虚拟机(ja va),应该去哪些目录下寻找用户自定义的类文件(.class)和系统类库。一个常见的设置是包含当前目录(用一个点“.”表示)和JDK类库的路径。

为了管理方便,我们通常会先创建一个名为JA VA_HOME的系统变量,其值设为JDK的安装根目录(如`C:\Program Files\Ja va\jdk1.8.0_171`)。然后,在配置PATH时,就可以使用`%JA VA_HOME%\bin`这样的引用方式,这样即使以后JDK路径变了,也只需修改JA VA_HOME一处。

配置完成后,如何验证成功呢?很简单,打开命令行窗口,依次输入`ja va -version`、`ja va`、`ja vac`这三个命令。如果都能正常显示信息而非“找不到命令”的错误,那就大功告成了。

简单总结一下PATH和CLASSPATH的区别:PATH是给操作系统用的,用于查找可执行文件(如ja va.exe);而CLASSPATH是给JVM用的,用于查找运行程序时需要的类文件。

Ja va语言的执行过程

一个Ja va程序从代码到运行,背后经历了一场精密的“旅程”:

首先,编译器(ja vac)将我们编写的源代码(.ja va文件)编译成一种中间格式——字节码文件(.class文件)。这个文件不是任何特定CPU的机器指令。

当我们在命令行输入`ja va ClassName`启动程序时,JVM就开始工作了。它会将对应的.class文件加载到内存中,并为这个类创建一个`ja va.lang.Class`类型的对象。

接着进行连接,这个阶段包括验证字节码、为静态变量分配内存等准备工作。

然后是初始化。这是关键一步,JVM会执行类中的静态变量赋值操作和静态代码块。

最后,找到并执行我们定义的入口方法——main方法,程序便正式跑起来了。

所以,完整的链条可以概括为:源文件(.ja va) -> 编译器(ja vac) -> 字节码文件(.class) -> 解释器(JVM) -> 机器语言。对应的命令行操作就是:用`ja vac A.ja va`来编译,用`ja va A`来运行。

编写Ja va程序时需要注意

在动手编写第一个Ja va程序前,有两个细节必须牢记,它们常常是新手踩坑的地方:

第一,.ja va源文件的名称,必须与该文件中被public修饰的类名完全一致(包括大小写)。如果文件里有一个`public class HelloWorld`,那么保存的文件名就必须是`HelloWorld.ja va`。

第二,一个源文件里可以定义多个类。但是,至多只能有一个类被声明为public,并且这个public类的名字必须和文件名相同。其他非public类则没有这个限制,编译后它们会各自生成独立的.class文件。

来源:https://blog.csdn.net/likang315/article/details/105074776
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Java 实例 - 如何执行编译过 Java 文件
编程语言
Java 实例 - 如何执行编译过 Java 文件

如何执行编译过的 Ja va 文件 今天,我们来实际操作一下,看看如何运行一个已经编译好的 Ja va 程序。整个过程其实非常清晰,我们用一个经典的“Hello World”示例来走一遍。 首先,这是我们的源代码文件 HelloWorld ja va,内容如下: HelloWorld ja va 文

热心网友
05.05
如何在 Java 中通过 Class.getResource() 读取 Classpath 下的资源文件并获取其绝对路径
编程语言
如何在 Java 中通过 Class.getResource() 读取 Classpath 下的资源文件并获取其绝对路径

如何在 Ja va 中通过 Class getResource() 读取 Classpath 下的资源文件并获取其绝对路径 开门见山地说,Class getResource() 这个方法,它本身并不返回你想象中的那个文件系统绝对路径。它返回的是一个 URL 对象,这个对象指向的是 classpath

热心网友
05.05
如何在 Java 中利用 Condition.awaitNanos() 实现带高精度超时控制的线程等待
编程语言
如何在 Java 中利用 Condition.awaitNanos() 实现带高精度超时控制的线程等待

如何在 Ja va 中利用 Condition awaitNanos() 实现带高精度超时控制的线程等待 先明确一个核心事实:Condition awaitNanos() 确实提供了纳秒级的超时参数,但这并不意味着它能实现纳秒级的等待精度。其实际响应能力,严重受制于 JVM 和操作系统的调度粒度,通

热心网友
05.04
如何在 Java 中利用 Scanner.next().charAt(0) 仅获取控制台输入的第一个有效字符
编程语言
如何在 Java 中利用 Scanner.next().charAt(0) 仅获取控制台输入的第一个有效字符

如何在 Ja va 中利用 Scanner next() charAt(0) 仅获取控制台输入的第一个有效字符 使用 scanner next() charat(0) 获取第一个有效字符时,一个常见的“坑”是:如果输入为空、仅含空格或者用户直接回车,程序很容易抛出异常,比如 nosuchelemen

热心网友
05.04
VSCode怎么使用Debugger for Java插件
编程语言
VSCode怎么使用Debugger for Java插件

VSCode怎么使用Debugger for Ja va插件 先说一个核心前提:Debugger for Ja va 插件不能单打独斗。它必须和 Extension Pack for Ja va 这个扩展包配套安装。否则,你会遇到一系列麻烦:断点形同虚设、调试按钮是灰色的,甚至在 launch js

热心网友
05.04

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

红米Note11 Pro更新系统需连WiFi吗?
电脑教程
红米Note11 Pro更新系统需连WiFi吗?

红米Note 11 Pro系统升级,为何坚持要求连接Wi-Fi? 当红米Note 11 Pro收到MIUI或澎湃OS的系统更新推送时,官方总会明确提示:整个过程请在Wi-Fi网络环境下完成。这项要求并非随意设定,而是基于清晰的技术与体验考量。一次完整的系统升级包,其大小通常在2GB至4GB之间。如果

热心网友
05.05
小米13ultra有nfc功能吗
电脑教程
小米13ultra有nfc功能吗

小米13 Ultra的NFC功能深度解析:它如何重新定义“全场景智能交互”? 在旗舰手机领域,NFC功能看似已成为标配,但体验却千差万别。小米13 Ultra所搭载的全功能NFC方案,在“全能”与“好用”两个维度上树立了新的标杆。它不仅无缝集成了公交卡模拟、门禁卡复制、数字车钥匙等核心生活服务,更全

热心网友
05.05
嵌入式消毒柜电源插座位置必须外露吗?
电脑教程
嵌入式消毒柜电源插座位置必须外露吗?

嵌入式消毒柜电源插座安装指南:隐蔽式布局提升安全与美观 在规划嵌入式消毒柜的安装方案时,电源插座的布局方式直接影响到最终的整体效果与安全性。正确的做法是避免插座外露,采用隐蔽式安装。根据国家《住宅厨房设计规范》及主流厨电品牌的安装标准,推荐将插座预留在消毒柜后方或侧方的墙体内部,安装高度宜控制在距地

热心网友
05.05
魔音耳机操作说明包含充电指示吗?
电脑教程
魔音耳机操作说明包含充电指示吗?

是的,魔音(Beats)耳机充电状态一目了然,指示灯明确显示 当你为Beats头戴式耳机充电时,如何判断它是否已经充满?答案就藏在机身自带的五段式LED电量指示灯里。在充电过程中,这排指示灯会持续闪烁,实时反馈充电进度。一旦所有五个指示灯全部转为稳定常亮、不再闪烁,即代表电池已完全充满。整个充电周期

热心网友
05.05
博朗剃须刀如何识别型号?
电脑教程
博朗剃须刀如何识别型号?

博朗剃须刀型号全解析:从编码规则到选购技巧的终极指南 面对博朗剃须刀复杂的字母数字组合感到困惑?实际上,其型号命名体系逻辑严谨,是用户选购的核心依据。简单来说,型号首位的数字(1、3、5、7、9)直接代表产品系列,数字越大,通常意味着技术越先进、功能越全面、定位越高端。例如,顶级的9系旗舰机型普遍搭

热心网友
05.05