AI智能应用开发(Java)起点-终点 -1、java的前世今生andJava环境配置、jdk下载,以及Idea下载和基本应用

一、JAVA的诞生与成长

起源:Green Team与Java的诞生

Java的起源可以追溯到1990年代,当时Sun Microsystems成立了一个名为Green Team的特别小组,旨在开发一种新型软件以驱动消费电子设备。这个项目的核心成员包括后来被称为"Java之父"的James Gosling。最初,这个项目被命名为Oak,但由于商标问题,后来更名为Java。

发展:从网页到企业级应用

Java的崛起与互联网的快速发展密不可分。1995年,Java 1.0的发布标志着Java语言正式进入大众视野。Java以其"一次编写,到处运行"的特性,迅速在网页开发和企业级应用中占据了一席之地。

挑战与竞争:Java的坚韧成长

Java的发展并非一帆风顺。随着技术的发展,其他编程语言如Python、JavaScript等逐渐崭露头角。Java面临着来自各方面的挑战,但它以其坚韧和适应性不断成长。

智能手机的兴起:Java的再生

2008年,随着智能手机的兴起,Java再次焕发新生。Android操作系统的出现使得Java在移动开发领域得到了广泛的应用。

Java编程语言在全球排名中的现状

近年来,Java在全球编程语言排名中的位置发生了一些变化。根据RedMonk发布的编程语言排行榜,Java一度从第二名下降到了第三位,但近期又与Python并列第二。

同时Java语言自创立以来历经20多年一直经久不息,在全球语言排名中一直位居前列

二、java可以做的事情

作为一种通用型的语言,Java 能做的事情有很多,具体包括:

在这几个开发方向中,网站后台开发人数最多,估计占到一半以上;其次是 Android APP 开发,从业人员也众多;接着是大数据和客户端程序开发,相对来说人数就少了;至于嵌入式开发,现在已经没有人使用 Java 了。

网站后台开发

能够进行网站后台开发的编程语言有很多,包括 PHP、C#、Java、Ruby、Python、JavaScript、Go 等,其中 Java 市场份额最大,更适合中大型 Web 项目,这是因为:

  • Java 是一种半编译型语言,开发比较方便,性能也不算差;
  • Java 生态繁荣,拥有庞大的类库和框架,大部分常用功能都有人帮你封装好了;
  • Java 能够很好地进行模块化开发和分布式开发,更有利于团队管理和协作。

从某种程度上说,Java 几乎是中大型网站开发的唯一选择,因为中大型网站既需要团队协作,也需要部署到服务器集群,而随着 Spring Boot 和 Spring Cloud 框架的成熟,Java 在模块化和分布式方面拥有了得天独厚的优势。

使用 Java 开发的著名网站真是太多了,数不胜数,Google、Facebook、Amazon、淘宝、百度、携程等国内外巨头无一不在使用 Java。

Java 的火爆也催生了大量线上/线下培训班,其中绝大部分都是针对 Web 后台方向。没办法,Java Web 岗位需求量太大了,曾经一度供不应求。

各位读者如果想学习 Java,小编也建议选择 Web 开发方向,毕竟工作岗位多,薪资待遇高。

Android APP 开发

Android 手机从 2010 年就开始爆发了,但是直到 2017 年 Android 官方才推出自己的编程语言 Kotlin;在这之前,Java 是 Android APP 开发的唯一语言。

在 Android 手机快速增长的前几年,APP 开发人员曾经一度供不应求,各家公司也相互抬价来哄抢人才。

除了手机,还有很多其它智能硬件也使用 Android 作为操作系统,包括平板、电视、汽车等。

但是随着智能手机增量的放缓,以及 APP 的饱和,市场对于 Android APP 开发人员的需求也逐渐降温了,大概从 2016 年以后,Android APP 开发人员就不再吃香了,慢慢回归理性了。

使用 Java 开发的 Android APP 太多了,比如抖音、快手、微信、淘宝、Facebook、Instagram、WhatsApp 等。

大数据开发

大数据技术是当今最流行最热门的话题,它也是未来的发展趋势。大数据技术用来从不规则、大规模的数据集中分析和提取出有用信息。

开源软件 Hadoop 是大数据处理的热门框架之一,它就使用 Java 语言编写,要想熟练地使用 Hadoop,就得掌握 Java。

相比其它编程语言,Java 在垃圾自动回收、堆内存和栈内存分配方面拥有更大的优势,这使用 Java 更加适合处理大数据集。

除了 Hadoop,还有很多其它基于 Java 的大数据工具,比如 Apache HBase、ElasticSearch、Accumulo 等。

客户端程序

客户端程序也叫"GUI 程序",是指运行在 PC 上的、带有操作界面的、可以进行安装的软件,比如 QQ、迅雷、360 等。

Java 附带了 AWT、Swing 和 JavaFx 模块,它们都是用来开发 GUI 程序的。这些模块提供了丰富的 API,能够让我们开发出复杂炫酷的界面,比如选项卡、表格、颜色拾取器、树形菜单、3D图形等。

使用 Java 开发 GUI 程序的真实案例:

  • Adobe Acrobat Reader
  • ThinkFree Office
  • Eclipse
  • IntelliJ IDEA
  • NetBeans

但是随着云计算的发展,以及 Web 前端的强大,很多常见功能都可以通过网站来提供了,客户端程序已经不再是各个互联网公司率先考虑的平台,只有那些运算量大、数据量大的项目,才会考虑开发客户端程序。

互联网的冲击使得客户端开发成了一个没落产业,选择这个方向的人越来越少了。

另外,客户端开发的技术路线也有很多,包括 C/C++、C#、Electron、Python、易语言等,Java 只是其中之一,并且不算主流的技术路线。

如果读者对客户端程序开发感兴趣,可以关注一下《C/C++ Windows 软件开发学习路线》,它将告诉你使用 C/C++ 开发一个客户端程序的完整流程。

嵌入式开发/功能手机开发

Java 有一个裁剪过的版本,叫做 J2ME(Java 2 Platform Micro Edition),主要用于嵌入式系统或者功能手机的开发。

嵌入式系统是完整工业产品的一部分,由微型芯片、微处理器等构成,它们往往比较廉价,性能不高,所以一般被当做低级系统。

Java 能够有效且快速地处理程序异常,因此它也可以开发运行在低级系统上的应用程序,比如 SIM 卡、蓝光 DVD 播放机、机顶盒上的控制程序

早期的功能手机也可以看成一个嵌入式系统,在智能机还没有大行其道之前,还记得摩托罗拉、诺基亚手机上的小游戏吗?这些就是使用 Java J2ME 开发的。另外,诺基亚上流行的 WhatsApp 也是用 J2ME 开发。

咳咳,Java 嵌入式开发这个方向已经死透了,大家了解一下即可,不要再去学习或者研究了。

总结

虽然 Java 能够胜任的开发方向有很多,但是随着软件产业的快速发展,其中一些开发方向已经逐渐没落,或者被其它技术栈取代了。

从整体上看,Java 从业人数最多的还是网站后台方向,因为 Java 在中大型 Web 项目开发方面具有得天独厚的优势。

三、Java经久不息的原因

1.一次运行到处编译

首先是java一次编程到处运行的机制发力,由于java并非是直接运行在本地,而是运行在JVM虚拟机上,简单来说,Java程序并不直接运行在操作系统上,而是运行在JVM这个中间层上,只要当前设备安装了对应版本的JVM就可以直接运行java

具体原理(三步走)

Java源代码编译成字节码(.class文件)

Java源代码(.java文件)通过 javac 编译器编译后,生成的是字节码(.class文件),而不是直接生成特定平台的机器码。

字节码是一种中间代码,它和具体的操作系统、硬件无关。

JVM作为"翻译官"

不同平台(Windows、Linux、macOS)有不同的JVM实现。

JVM会将字节码翻译成当前平台能理解的机器码,再由操作系统执行。

跨平台的关键:JVM的平台相关性

Java程序本身是平台无关的(因为是字节码)。

但JVM是平台相关的------Oracle为不同操作系统和硬件架构提供了对应的JVM版本。

所以,只要你的设备装了JVM,就能运行Java程序。

举个生活中的例子

想象你写了一本小说(Java源代码),想让全世界的人读。

传统方式:你得为每个国家的人单独翻译成他们的语言(比如中文版、英文版、法文版),这就是C/C++的"一次编写,到处编译"。

Java方式:你只写一个"通用版本"(字节码),然后给每个国家的人发一个"翻译机"(JVM),他们用翻译机就能读你的小说。

为什么其他语言(如C/C++)不能跨平台?

C/C++程序在编译时直接生成特定平台的机器码,比如Windows的 .exe 文件不能在Linux上运行。而Java通过JVM屏蔽了底层差异,实现了"平台无关性"。

Java跨平台的本质是:Java程序运行在JVM上,而JVM适配了各种平台。这就像你写代码时面对的是一个"虚拟的计算机",而真正的计算机通过JVM来模拟这个"虚拟计算机"的行为。

2. 极其庞大且成熟的生态系统 🌳

这是 Java 最大的护城河之一。经过 20 多年的发展,Java 拥有世界上最大、最成熟的开源生态。

  • **框架支持**:在企业级开发领域,**Spring**(及 Spring Boot、Spring Cloud)框架几乎成为了行业标准,极大地简化了后端开发、微服务治理和分布式系统的构建。此外,还有 Hibernate、MyBatis 等优秀的 ORM 框架。

  • **工具与库**:无论你需要做大数据(Hadoop、Spark)、移动端开发(Android SDK)、还是测试(JUnit),都有现成的、经过大规模验证的开源库可供使用,开发者几乎不需要"重复造轮子"。

3. 企业级的稳定性与健壮性 🛡️

Java 从设计之初就强调稳定性,非常适合构建高并发、高可用的企业级应用。

  • **自动内存管理(GC)**:Java 的垃圾回收机制自动管理内存,大大减少了因手动释放内存而导致的内存泄漏和程序崩溃风险。

  • **强类型与异常处理**:严格的编译期检查能帮开发者在早期发现错误,而完善的异常处理机制保证了程序的健壮性。

  • **安全性**:Java 拥有沙箱安全模型、字节码验证器等机制,非常适合处理银行转账、电商交易等对安全性要求极高的场景。

4. 持续进化的能力 🚀

很多人对 Java 的刻板印象是"冗长"、"老气",但实际上 Java 的更新迭代非常活跃且稳健。

  • **现代化语法**:从 JDK 8 的 Lambda 表达到现在的虚拟线程(Virtual Threads,JDK 21),Java 不断引入函数式编程、模式匹配等现代语言特性,让代码更简洁、并发性能更强。

  • **云原生支持**:面对微服务和云原生浪潮,Java 通过 GraalVM 实现了原生镜像编译,大幅缩短了启动时间,同时 Quarkus、Micronaut 等轻量级框架也让 Java 在容器化环境中更具竞争力。

5. 庞大的开发者社区与人才储备 👥

  • **人才众多**:全球有数百万的 Java 开发者,企业招聘相对容易。

  • **社区活跃**:遇到技术难题时,几乎总能在 Stack Overflow、GitHub 或各大技术论坛上找到解决方案。这种"人多力量大"的效应,降低了企业的技术选型风险。

6. 优秀的向后兼容性 🔄

Java 非常注重兼容性,这为企业省去了巨大的维护成本。

  • 用旧版本 JDK 编写的代码,通常可以在新版本的 JVM 上无缝运行。这不像 Python 2 到 Python 3 那样有巨大的割裂性,保证了存量系统的长期稳定维护。

总结优势:

不断提升,适应云原生和微服务新趋势 |

| 人才丰富 | 全球超千万开发者,社区活跃 | 招聘容易,技术问题解决快,项目风险低 |

简而言之,Java 不只是一个编程语言,它更是一个极其成熟、安全、且拥有强大社区支持的技术平台。只要企业级应用和后端服务存在,Java 就很难被完全替代。

相信经过上面的描述:大家对于java有了基本的了解,现在让我们来正式操作java

四 、jdk的下载安装

1、JDK官网

官网地址:
Java Downloads | Oracle 中国

https://www.oracle.com/cn/java/technologies/downloads/

选择"Java archive",

鼠标往下滑,选择对应的jdk版本,

2、基于JDK官网下载JDK版本

第一步,选择jdk版本,

第二步,选择相应操作系统,

第三步,选择下载(平时在开发时,会在同一台电脑上安装多个jdk版本,以适应不同的项目需求的要求,普遍都是选.exe文档进行安装)

解释一下(jdk不同的安装包):

.zip: 下载后,需要解压;

.exe:下载后,双击就可以进行安装了(安装简单);

.msi:适合企业环境,适合批量安装;

第四步,等待下载成功,

然后开始无脑下一步往下点点点

注意,个人建议不要下在C盘,因为如果不指定,会自动下载C盘,当然如果下载到C盘问题也不大,不会影响运行

五,java环境变量配置

1首先解释为何要配置环境变量

简单来说,配置 Java 环境变量的核心目的是让操作系统能在任意目录下找到并执行 Java 相关命令(如javajavac,同时让程序能定位到 Java 的核心运行环境,具体可以拆解为以下 3 个关键原因:

1. 让系统全局识别 Java 命令(最核心)

Java 安装后,java.exe(运行字节码)、javac.exe(编译源码)等可执行文件存放在JDK安装目录\bin下。

  • 如果不配置环境变量:你只能在bin目录下执行javac HelloWorld.javajava HelloWorld等命令,换个目录就会提示「'javac' 不是内部或外部命令」------ 因为操作系统不知道这些命令在哪。
  • 配置环境变量(主要是PATH):把JDK的bin目录添加到系统PATH中,操作系统在执行java/javac时,会自动遍历PATH里的目录找对应程序,你在电脑任意文件夹下都能编译、运行 Java 代码。
2. 让程序找到 Java 运行时环境(JRE/JDK)

除了PATH,通常还会配置JAVA_HOME(指向 JDK 根目录):

  • 很多基于 Java 的框架 / 工具(如 Spring Boot、Tomcat、Maven)会读取JAVA_HOME,自动定位 Java 的核心类库、运行时环境,无需手动指定路径;
  • 如果不配置JAVA_HOME,这些工具会报错「找不到 Java 运行环境」,因为它们不知道该用哪个版本的 Java 运行。
3. 多版本 Java 切换(实用场景)

如果电脑装了多个 JDK 版本(如 JDK8、JDK17),只需修改JAVA_HOMEPATH指向不同版本的目录,就能快速切换全局使用的 Java 版本,无需重新安装或复制文件。

举个直观例子

假设你的 JDK 安装在C:\Program Files\Java\jdk1.8.0_301bin目录是C:\Program Files\Java\jdk1.8.0_301\bin

  • 未配置环境变量:你必须打开命令行,切换到bin目录才能执行javac
  • 配置后:在桌面、D 盘任意文件夹,直接输入javac -version就能显示 JDK 版本,编译运行代码不受目录限制。

核心环境变量说明

表格

环境变量 作用 配置示例
JAVA_HOME 指向 JDK 根目录(非 bin) C:\Program Files\Java\jdk1.8.0_301
PATH 追加 JDK 的 bin 目录 %JAVA_HOME%\bin(通过 % JAVA_HOME% 复用,方便切换版本)
CLASSPATH(可选) 指定 Java 类库路径(Java 1.5 + 后可省略,除非用老旧代码) .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

总结

  1. 全局执行命令 :配置PATH后,任意目录可执行java/javac,无需切换到 JDK 的 bin 目录;
  2. 定位运行环境JAVA_HOME让框架 / 工具自动找到 Java 核心文件,避免手动指定路径;
  3. 便捷切换版本:修改环境变量即可快速切换多版本 Java,适配不同项目需求。

简单记:环境变量就是给操作系统和程序「指路」------ 告诉它们 Java 的命令、核心文件在哪,不用每次都问你

2.具体操作步骤

一 首先先进入你的jdk下载目录,比如说我的

在地址栏上先复制

然后点击系统设置,搜索编辑系统环境变量点击

然后新建JAVA_HOME把刚才复制的jdk地址复制进去

然后点击PATH

选择新增

新增环境变量(%JAVA_HOME%\bin),点击确定,

然后键盘点击win+R输入cmd就可以进入命令行界面

输入java -version 注意 java和- 之间有空格

出现版本号就代表配置成功

六、下载java专用工具IDEA并写第一行java代码

1.首先下载ToolboxAPP 官网链接https://www.jetbrains.com.cn/en-us/toolbox-app/

下载这个软件之后就可以下载并实时管理,开发idea所在公司旗下所有软件,

下载IDEA之后,是需要先激活,或者可以先点击免费使用三十天

然后开始新建我们的第一个项目

记得选择自己刚才下载好的jdk版本

然后我们在src下面创建我们的第一个java文件,当然不在src下面创建也可以

创建完成后先写完基本结构输入psvm

快速生成结构

然后写我们第一段代码并打印HelloWorld,也可以输入快捷单词

写完

之后点击运行或者调试

运行或者调试结果

总结:AI智能应用开发(Java)起点-终点 -1java的前世今生andJava环境配置、jdk下载,以及Idea下载和基本应用 讲解完毕

相关推荐
Scott9999HH5 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
腻害兔5 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海6 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区10 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大10 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说10 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json