【Java编程基础】Chapter 1:认识Java
一、什么是Ja va?
提起Ja va,很多人脑海里可能会立刻蹦出一串标签:简单、面向对象、跨平台……没错,这正是其创造者SUN公司给出的经典定义:一种简单、面向对象、分布式、跨平台、半编译半解释、健壮、安全、高性能、多线程的动态语言。这一长串定语,几乎概括了Ja va语言的核心特质与设计哲学。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
二、Ja va的历史
任何一门成功技术的背后,都有一条清晰的时间线。对于Ja va而言,这几个关键节点值得记住:
1995年5月23日,这一天Ja va正式诞生并发布,开启了它的传奇之旅。
到了1998年12月,随着1.2版本的推出,它被更名为Ja va 2,并细分为三个明确的方向:J2SE(标准版)、J2EE(企业版)和J2ME(微型版)。
时间来到2004年12月,1.5版本(也称5.0)发布,命名规则再次简化,直接称为Ja va 5,对应的三个平台也更名为我们如今更熟悉的Ja va SE、Ja va EE和Ja va ME。
此后,2006年4月的1.6版本(6.0)和2011年7月的1.7版本(7.0)相继推出,持续推动着这门语言的演进。
三、Ja va语言版本
正如前面历史中提到的,Ja va根据应用场景分成了三个主要版本,它们各有侧重:
Ja va SE(标准版):这是Ja va语言的基石。它包含了构成Ja va核心的类库,非常适合开发桌面应用程序和底层系统程序。更重要的是,它是其他两个版本的基础平台。
Ja va EE(企业版):这是在SE基础上构建的“增强版”。它除了包含SE的所有类,还额外提供了用于开发大规模、分布式企业级应用的类,比如EJB、Servlet、JSP和事务控制等。可以说,Ja va EE为企业级应用开发提供了一套标准且高效的解决方案,极大地简化了复杂的企业级编程。
Ja va ME(微型版):顾名思义,这是为资源受限的微型设备准备的版本。它包含了SE中的一部分核心类库,专门针对手机、PDA、机顶盒等小型消费电子产品进行优化,用于嵌入式系统开发。
四、Ja va技术的组成部分
要全面理解Ja va,不能只把它看作一门编程语言。实际上,Ja va技术是一个完整的生态体系,主要包含三个紧密相连的部分:
首先,它是一种编程语言。开发者使用Ja va语法来编写应用程序,这和其它编程语言在本质上是一样的。
其次,它是一套开发环境。Ja va技术提供了一系列强大的工具链,包括编译器、解释器、文档生成器、打包工具等。同时,JRE(Ja va运行环境)中包含了一个完整的、丰富的Ja va类库集合,这是开发者可以直接调用的“武器库”。
最后,它是一种部署环境。这主要指JRE(Ja va Runtime Environment)以及集成了Ja va支持的Web浏览器。正是这个环境,保证了编写好的Ja va程序能够在各种设备上顺利运行。
五、Ja va开发环境——JRE(Ja va Runtime Environment)、JDK(Ja va Development Kit)
对于初学者来说,JRE和JDK这两个概念容易混淆,但它们的分工其实非常明确。
JRE(Ja va运行环境),由SUN公司开发,是一个软件包。它的使命很单纯:让计算机系统能够执行Ja va应用程序。你可以把它理解为一个“播放器”。JRE内部包含了一个Ja va虚拟机(JVM)以及一些核心的标准类库,这些都是运行Ja va程序所必需的基础环境。
JDK(Ja va开发工具包),则是目前最主流的Ja va SDK(软件开发工具包)。它的功能更加强大,可以看作是“创作套件”。一个完整的JDK包含了三部分:Ja va运行环境(JRE)、一系列Ja va开发工具(如编译器ja vac)以及Ja va基础类库(例如著名的rt.jar)。
所以,选择就很简单了:如果你只想运行已有的Ja va程序,那么安装一个JRE就足够了。但如果你打算自己动手开发Ja va软件,那就必须下载并安装带有JRE的完整JDK。
六、Ja va程序开发流程
上图清晰地展示了一个典型的Ja va程序从源代码到最终运行的完整生命周期。这个过程始于开发者编写的.ja va源文件,经过编译器的编译,生成平台无关的.class字节码文件,最终由Ja va虚拟机(JVM)加载并解释执行。正是这套精妙的机制,保障了Ja va“一次编写,到处运行”的跨平台承诺得以实现。
相关攻略
如何执行编译过的 Ja va 文件 今天,我们来实际操作一下,看看如何运行一个已经编译好的 Ja va 程序。整个过程其实非常清晰,我们用一个经典的“Hello World”示例来走一遍。 首先,这是我们的源代码文件 HelloWorld ja va,内容如下: HelloWorld ja va 文
如何在 Ja va 中通过 Class getResource() 读取 Classpath 下的资源文件并获取其绝对路径 开门见山地说,Class getResource() 这个方法,它本身并不返回你想象中的那个文件系统绝对路径。它返回的是一个 URL 对象,这个对象指向的是 classpath
如何在 Ja va 中利用 Condition awaitNanos() 实现带高精度超时控制的线程等待 先明确一个核心事实:Condition awaitNanos() 确实提供了纳秒级的超时参数,但这并不意味着它能实现纳秒级的等待精度。其实际响应能力,严重受制于 JVM 和操作系统的调度粒度,通
如何在 Ja va 中利用 Scanner next() charAt(0) 仅获取控制台输入的第一个有效字符 使用 scanner next() charat(0) 获取第一个有效字符时,一个常见的“坑”是:如果输入为空、仅含空格或者用户直接回车,程序很容易抛出异常,比如 nosuchelemen
VSCode怎么使用Debugger for Ja va插件 先说一个核心前提:Debugger for Ja va 插件不能单打独斗。它必须和 Extension Pack for Ja va 这个扩展包配套安装。否则,你会遇到一系列麻烦:断点形同虚设、调试按钮是灰色的,甚至在 launch js
热门专题
热门推荐
红米Note 11 Pro系统升级,为何坚持要求连接Wi-Fi? 当红米Note 11 Pro收到MIUI或澎湃OS的系统更新推送时,官方总会明确提示:整个过程请在Wi-Fi网络环境下完成。这项要求并非随意设定,而是基于清晰的技术与体验考量。一次完整的系统升级包,其大小通常在2GB至4GB之间。如果
小米13 Ultra的NFC功能深度解析:它如何重新定义“全场景智能交互”? 在旗舰手机领域,NFC功能看似已成为标配,但体验却千差万别。小米13 Ultra所搭载的全功能NFC方案,在“全能”与“好用”两个维度上树立了新的标杆。它不仅无缝集成了公交卡模拟、门禁卡复制、数字车钥匙等核心生活服务,更全
嵌入式消毒柜电源插座安装指南:隐蔽式布局提升安全与美观 在规划嵌入式消毒柜的安装方案时,电源插座的布局方式直接影响到最终的整体效果与安全性。正确的做法是避免插座外露,采用隐蔽式安装。根据国家《住宅厨房设计规范》及主流厨电品牌的安装标准,推荐将插座预留在消毒柜后方或侧方的墙体内部,安装高度宜控制在距地
是的,魔音(Beats)耳机充电状态一目了然,指示灯明确显示 当你为Beats头戴式耳机充电时,如何判断它是否已经充满?答案就藏在机身自带的五段式LED电量指示灯里。在充电过程中,这排指示灯会持续闪烁,实时反馈充电进度。一旦所有五个指示灯全部转为稳定常亮、不再闪烁,即代表电池已完全充满。整个充电周期
博朗剃须刀型号全解析:从编码规则到选购技巧的终极指南 面对博朗剃须刀复杂的字母数字组合感到困惑?实际上,其型号命名体系逻辑严谨,是用户选购的核心依据。简单来说,型号首位的数字(1、3、5、7、9)直接代表产品系列,数字越大,通常意味着技术越先进、功能越全面、定位越高端。例如,顶级的9系旗舰机型普遍搭





