1. java简介
1.1 java语言的发展史
java由詹姆斯·高斯林(james gosling)带领sun公司团队开发,初期命名为oak(橡树),因商标注册冲突更名为java(爪哇咖啡,源自开发团队常去的咖啡馆)。
- 归属变更:java最初属于sun公司,2009年sun被oracle(甲骨文)收购,java自此由oracle负责维护和迭代。
- 版本号演变:
- 初代版本为1.0,后续依次为1.1、1.2、1.3、1.4;
- java se 5.0(2004年)起调整命名规则,1.5直接升级为5.0,后续为6.0、7.0、8.0(业界主流)、9+(模块化版本)。
1.2 java三大技术平台
java并非单一版本,而是包含「运行环境+核心类库+规范标准」的完整技术体系,三大平台对应不同应用场景:
| 平台名称 | 英文全称 | 定位与应用场景 | 现状 |
|---|---|---|---|
| java se(标准版) | java platform standard edition | 基础核心平台,支撑所有java应用开发 | 必学基础,无替代 |
| java me(小型版) | java platform micro edition | 嵌入式/移动设备(如功能机、家电) | 已被android、iot框架替代 |
| java ee(企业版) | java platform enterprise edition | 企业级web应用、分布式系统 | 2018年更名jakarta ee |
关键说明:
- 所有java方向的学习都以java se为基础,包含语法、数据结构、io、多线程等核心知识;
- jakarta ee是java ee的开源继任者,由eclipse基金会管理,核心能力(servlet、jsp、spring等)未变;
- 目前java工程师的主流就业方向为jakarta ee(java ee)相关的企业级开发,java se桌面开发需求极少。
1.3 java语言核心特点
| 特点 | 通俗解释 |
|---|---|
| 简单性 | 摒弃c/c++的指针、内存手动管理等复杂特性,语法简洁易上手 |
| 跨平台性 | 一次编写,多处运行(java最核心特性) |
| 开源 | 核心类库源代码开放,社区可参与迭代 |
| 面向对象 | 万物皆对象,通过类、继承、多态等特性实现代码复用和模块化 |
| 多线程 | 支持并发编程,可充分利用cpu资源(如多任务处理) |
| 安全性 | 内置安全机制(如沙箱、字节码校验),避免恶意代码执行 |
| 健壮性 | 自动垃圾回收(gc)、异常处理机制,减少内存泄漏和程序崩溃风险 |
2. java跨平台原理
2.1 核心:jvm(java virtual machine,java虚拟机)
java跨平台的本质是「中间层适配」:
- 开发者编写的java代码(.java文件)编译后生成字节码文件(.class),而非直接生成操作系统原生指令;
- 不同操作系统(windows/linux/mac)安装对应的jvm,jvm负责将字节码解释/编译为当前系统能执行的原生指令;
- 字节码与操作系统解耦,仅依赖jvm,因此一份字节码可在所有有jvm的平台运行。
形象比喻:java字节码是「通用语言」,jvm是不同国家的「翻译官」,将通用语言翻译成当地语言(系统指令)。
3. jdk与jre(核心概念先行)
3.1 核心概念
| 名称 | 英文全称 | 核心作用 |
|---|---|---|
| jdk | java development kit | java开发工具包,包含开发工具(编译、调试、文档生成等) + 运行工具 + jre |
| jre | java runtime environment | java运行环境,包含jvm和核心类库,仅能运行已编译的java程序(仅含运行工具) |
| jvm | java virtual machine | java虚拟机,jre的核心组件,负责执行字节码 |
3.2 jdk工具分类(概念先行,安装后验证)
| 工具类型 | 代表工具 | 作用 | 存在位置(安装后) |
|---|---|---|---|
| 开发工具 | javac | java编译器,将.java源代码编译为.class字节码(开发阶段专用) | jdk安装目录\bin |
| 开发工具 | javadoc | 文档生成工具,将代码中的文档注释生成html格式的api文档(开发阶段专用) | jdk安装目录\bin |
| 开发工具 | jdb | java调试器,用于调试程序(设置断点、查看变量等,开发阶段专用) | jdk安装目录\bin |
| 运行工具 | java | java运行器,启动jvm并执行.class字节码(开发/运行阶段都可用) | jdk安装目录\bin |
| 运行工具 | javaw | 无控制台的java运行器,用于运行gui程序(如桌面应用) | jdk安装目录\bin |
3.3 三者关系
jdk = 开发工具集(javac、javadoc、jdb等) + jre jre = jvm + 核心类库(如java.lang、java.io)
- 开发环境:仅需安装jdk(自带jre,无需单独安装);
- 运行环境(如客户机器):仅需安装jre(体积更小,无需开发工具)。
4. jdk的下载与安装(实操环节)
4.1 版本选择建议
- 新手首选:jdk 8(java se 8)(代号1.8),兼容性最好、教程最丰富、企业使用最广泛;
- 进阶可选:jdk 11(长期支持版lts),模块化特性更完善,无商业授权限制。
4.2 下载渠道(两种主流方式)
方式1:oracle官方下载(需注意授权)
oracle jdk 8需注册账号,且商用场景可能需要授权,适合学习/个人使用:
- 打开oracle官网jdk下载页:https://www.oracle.com/java/technologies/downloads/
- 下滑找到「java se 8」板块,点击「jdk download」;
- 选择对应系统版本(windows选「windows x64 installer」,即64位安装包);
- 勾选「accept license agreement」,点击下载链接(需登录oracle账号,无账号可免费注册)。
方式2:openjdk下载(开源免费,无授权限制)
推荐新手使用,完全开源免费,功能与oracle jdk一致:
- 打开openjdk镜像站(如adoptium):https://adoptium.net/
- 选择「temurin 8」(对应jdk 8),系统选择「windows」,架构选择「x64」;
- 下载「.msi」格式安装包(windows安装程序),无需注册,直接下载。
4.3 安装步骤(windows系统,以jdk 8为例)
- 双击下载的安装包(如
jdk-8u381-windows-x64.exe),点击「下一步」; - 关键:修改安装路径(建议路径无空格、无中文):
- 默认路径:
c:\program files\java\jdk1.8.0_381(可改为g:\java\jdk1.8.0_381,方便后续配置); - 无需单独安装jre(jdk自带),直接点击「下一步」;
- 默认路径:
- 等待安装完成,点击「关闭」即可。
4.4 安装后验证(确认bin目录和工具)
- 打开文件资源管理器,进入jdk安装目录的
bin文件夹(如g:\java\jdk1.8.0_381\bin); - 确认包含
javac.exe(开发工具)、java.exe(运行工具)等可执行文件,说明安装成功; - 此步骤验证「3.2工具分类」中的概念,让新手理解「工具对应实际文件」。
4.5 jdk安装后目录结构
| 目录 | 核心内容 |
|---|---|
| bin | 可执行工具(开发工具:javac.exe、javadoc.exe;运行工具:java.exe等) |
| db | 内置的derby轻量级数据库(极少使用) |
| include | 跨平台开发的c/c++头文件(底层开发用,因java是用c/c++编写的) |
| jre | 内置的jre运行环境(包含jvm和核心类库) |
| lib | 核心类库文件(.jar格式),如rt.jar(java核心类库) |
| src.zip | java核心类库的源代码(可解压查看,如string、arraylist的实现) |
5. java环境变量配置
5.1 配置目的
未配置环境变量时,仅能在jdk的bin目录下执行javac/java命令;配置后,任意目录均可执行java命令,避免代码文件必须放在bin目录的问题。
5.2 配置步骤(windows系统)
前提:已安装jdk(路径如g:\java\jdk1.8.0_381)
- 打开环境变量配置页:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」;
- 区分「用户变量」(仅当前用户生效)和「系统变量」(所有用户生效),建议配置「系统变量」。
- 新建系统变量
java_home:- 变量名:
java_home; - 变量值:jdk安装目录(如
g:\java\jdk1.8.0_381,复制路径,避免手写错误)。
- 变量名:
- 编辑系统变量
path:- 点击「新建」,添加两行内容:
%java_home%\bin %java_home%\jre\bin
- 上移至顶部(避免与其他版本冲突),点击「确定」保存。
- 验证配置:
- 打开新的cmd窗口(必须重启cmd),执行:
# 验证开发工具(javac)是否生效 javac -version # 验证运行工具(java)是否生效 java -version
输出jdk版本信息(如javac 1.8.0_381)即配置成功。
注意:jdk 5.0及以上无需配置
classpath,系统会自动加载核心类库。
6. helloworld入门程序
6.1 纯手动方式(理解底层原理,依赖环境变量)
步骤1:编写源代码
新建文本文件,命名为helloworld.java(文件名必须与public类名一致),内容如下:
// 单行注释:这是第一个java程序
/* 多行注释:
public class 定义公共类,类名helloworld必须与文件名一致
*/
public class helloworld {
// 程序入口方法:main方法(固定格式)
public static void main(string[] args) {
// 输出语句:向控制台打印"hello world!"
system.out.println("hello world!");
}
}步骤2:编译(用开发工具javac)
打开命令行(cmd),进入helloworld.java所在目录,执行编译命令:
javac helloworld.java
- 成功:生成
helloworld.class字节码文件; - 失败:检查语法、文件名、大小写是否正确。
步骤3:运行(用运行工具java)
在同一目录执行运行命令(无需加.class后缀):
java helloworld
- 成功输出:
hello world!。
6.2 核心语法规范
public class 类名:公共类名必须与文件名完全一致(大小写敏感);main方法:程序入口,固定格式public static void main(string[] args),缺一不可;- 语句结束:每行代码以
;结尾(块语句{}除外); - 大小写敏感:
main≠main、system≠system; - 编码要求:所有符号(
{}();""等)必须使用英文输入法。
7. java se的明确边界
7.1 java se的定义与边界
java se(标准版)是java的核心基础体系,其能力边界严格限定在「单机、通用、非web」场景,具体划分如下:
| 范畴 | java se 能搞定 | java se 完全搞不定(超出边界) |
|---|---|---|
| 程序类型 | 1. 控制台程序(如helloworld、计算器) 2. 桌面gui程序(如swing写的记事本) 3. 简单的本地工具(如文件批量处理) | 1. 浏览器能访问的web程序(如电商网站、管理后台) 2. 分布式/高并发的企业级服务(如支付系统) 3. 需要处理http请求/响应的程序 |
| 核心能力 | 本地计算、文件读写、基础网络通信、单机多线程等“通用能力” | 处理http请求、多用户并发访问、web会话管理、动态页面渲染(jsp)、分布式事务等“企业级web能力” |
| 运行方式 | 直接通过java命令运行(java 类名),无需任何额外工具 | 无法直接运行,必须依赖tomcat等容器提供的“web运行能力” |
7.2 核心结论
java se的边界就是「不涉及web/企业级分布式场景」——只要程序不需要被浏览器访问、不需要处理http请求、不需要多用户并发长期运行,仅靠se的jdk就能独立完成;一旦超出这个边界,就需要java ee的规范+tomcat等容器补充能力。
8. java ee(jakarta ee)
8.1 核心结论:ee无需单独安装,基于se扩展而来
java ee并不是一个独立的“安装包”,而是一套企业级开发的规范标准+扩展类库,它的运行和开发完全依赖java se的基础环境(jdk):
- 开发时:安装java se的jdk(如jdk8)即可,ee的能力通过引入专属的ee类库/jar包实现;
- 运行时:无需单独安装ee的“运行环境”,但需要ee规范的实现容器(如tomcat、jetty),容器会内置ee的核心类库并提供运行支持。
比喻:java se是基础地基,java ee是地基上的企业级建筑规范+预制构件。
8.3 java ee与java se的核心差异
| 对比维度 | java se(标准版) | java ee(jakarta ee,企业版) |
|---|---|---|
| 核心类库 | 仅包含通用基础类库(java.lang、java.io、java.util等) | 基于se,新增企业级扩展类库(jakarta.servlet、jakarta.jms等) |
| 规范标准 | 仅定义基础语法/通用api规范 | 新增servlet/jsp/jta等企业级场景规范(仅定规则,无实现) |
| 运行依赖 | 独立运行,直接用java命令即可 | 必须依赖tomcat等容器运行 |
| 开发目标 | 解决通用基础开发问题 | 解决企业级web/分布式开发问题 |
9. ide的安装与配置(实际开发推荐)
9.1 ide的核心价值
ide(integrated development environment,集成开发环境)集成「代码编写、编译、运行、调试、语法提示」等功能,纯手动方式仅用于理解原理,实际开发必用ide(无需手动配置环境变量,ide自动识别jdk)。
9.2 主流ide选择
| ide名称 | 特点 | 适用场景 |
|---|---|---|
| intellij idea | 功能最强、智能提示最完善,业界主流 | 企业开发、个人学习 |
| eclipse | 开源免费、插件丰富,老牌ide | 入门学习、小型项目 |
| netbeans | 轻量、简单,oracle官方维护 | 新手入门(极少使用) |
推荐:新手直接选「intellij idea 社区版」(免费开源,功能满足学习需求)。
9.3 intellij idea安装与配置(windows)
步骤1:下载
打开官网:https://www.jetbrains.com/idea/download/,选择「community edition(社区版)」,下载windows版本。
步骤2:安装
- 双击安装包,点击「next」;
- 选择安装路径(如
g:\java\idea,无空格/中文); - 勾选以下选项(关键配置):
64-bit launcher(适配64位系统);add launchers dir to path(将idea加入系统路径,方便启动);add open folder as project(支持文件夹直接打开为项目);
- 点击「next」→「install」,等待安装完成后点击「finish」。
步骤3:首次启动配置(关键)
- 打开idea,选择「do not import settings」,点击「ok」;
- 跳过欢迎引导,进入主界面;
- 配置jdk(sdk):
- 点击「file」→「project structure」→「sdks」;
- 点击「+」→「jdk」,选择已安装的jdk目录(如
g:\java\jdk1.8.0_381); - 点击「apply」→「ok」,完成jdk关联。
9.4 ide中运行helloworld(se程序)
步骤1:创建新项目
- 点击「new project」;
- 左侧选择「java」,右侧确认「project sdk」已选中配置好的jdk 8;
- 取消勾选「create project from template」(不使用模板),点击「create」。
步骤2:创建java类
- 在项目面板中,右键「src」目录→「new」→「java class」;
- 输入类名「helloworld」(必须与代码中的public类名一致),点击「ok」。
步骤3:编写代码(ide自动补全)
在打开的helloworld.java文件中输入代码:
public class helloworld {
public static void main(string[] args) {
system.out.println("hello world!");
}
}
步骤4:运行程序
- 右键代码编辑区域→「run ‘helloworld.main()’」;
- 结果:底部「run」窗口输出
hello world!(ide自动完成编译+运行)。
9.5 ide常用配置
- 设置字体大小:「file」→「settings」→「editor」→「font」,调整「size」(推荐14-16);
- 设置编码格式:「file」→「settings」→「editor」→「file encodings」,所有编码改为「utf-8」;
- 自动保存:ide默认开启,无需手动保存代码。
到此这篇关于java 基础入门与开发环境搭建详细过程的文章就介绍到这了,更多相关java开发环境搭建内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论