今天是我踏上AI 全栈工程师学习之旅的第一天。根据课程规划第一阶段的目标是建立扎实的编程思维掌握 Java 基础与面向对象编程。古人云工欲善其事必先利其器在正式开始编码之前首先要完成开发环境的搭建。本文将完整记录今天的环境配置过程、踩过的坑以及对后续学习路径的思考。JavaMySQL环境搭建HTML/CSS/JS学习路线5h今日学习01/70总进度8学习阶段目录一、学习路线总览70天养成计划二、开发环境搭建实录三、Java 基础语法快速扫盲四、MySQL 数据库初体验五、HTML/CSS/JS 三件套速览六、今日踩坑记录七、收获总结与学习感悟八、明日学习计划一、学习路线总览70天养成计划在正式开始之前我先梳理了整个学习路线的全貌。这套课程体系非常系统从编程基础一路延伸到企业级 AI 应用开发共分为八个阶段AI 应用编程基础今天— Java 基础、面向对象、MySQL、HTML/CSS/JSAI 应用编程进阶4天— 接口开发、Spring 框架、数据库设计与优化AI 应用 Web 开发20天— Vue 3、SpringBoot/Cloud、Redis、MongoDB、DockerAI 大模型开发基础5天— Python、提示工程、LangChain、FastAPI、向量数据库AI 大模型微调基础7天— 神经网络、HuggingFace、LoRA、量化压缩企业级智能问答项目 EduRAG7天— RAG 全链路、多路检索、生产部署企业级微服务 SCA 与 AI8天— Nacos、Sentinel、分布式事务、ES企业级项目实战约20天— 星辰 WMS、云岚到家、AgentCenter 三大项目第一阶段AI 应用编程基础虽然标注今天完成但实际内容非常多包括 Java 基础语法、面向对象编程、集合框架、IO/NIO、多线程、网络编程、MySQL、HTML/CSS/JS 等。我计划将这部分拆分为 3-4 天来消化吸收确保每一步都走得扎实。***二、开发环境搭建实录2.1 JDK 17 安装与配置课程推荐 JDK 17LTS 长期支持版本。从 Oracle 官网下载后需要配置三个环境变量Shell环境变量配置# 新建 JAVA_HOME 变量 JAVA_HOME C:\Program Files\Java\jdk-17 # 编辑 Path 变量新增两行 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin # 新建 CLASSPATH 变量 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar配置完成后在终端验证Shelljava -version javac -version踩坑提醒Path 变量中的顺序问题如果系统中安装了多个 JDK 版本Path变量中%JAVA_HOME%\bin的位置必须放在其他 Java 路径之前否则系统会优先使用其他版本的 Java。我一开始把 JDK 17 的 Path 放在了末尾导致java -version显示的还是旧版本排查了半小时才发现是这个原因。2.2 IntelliJ IDEA 安装与配置IDEA 是 Java 开发的首选 IDE。我下载了 Community 版免费安装后做了以下配置优化主题Darcula深色主题护眼字体Consolas / JetBrains Mono字号 14编码UTF-8File Encodings 全部设置为 UTF-8Maven绑定已安装的 Maven修改 settings.xml 配置阿里云镜像加速依赖下载自动导入开启 Add unambiguous imports on the fly代码格式化设置 Tab 为 4 个空格开启自动格式化XMLsettings.xml — 阿里云 Maven 镜像mirror idaliyun/id mirrorOfcentral/mirrorOf nameAliyun Maven/name urlhttps://maven.aliyun.com/repository/central/url /mirror2.3 Maven 安装Maven 是 Java 项目的依赖管理和构建工具。下载解压后配置MAVEN_HOME环境变量并在 Path 中添加%MAVEN_HOME%\bin。验证命令Shellmvn -v2.4 MySQL 8.0 安装MySQL 安装过程中需要注意以下几点选择Server only安装类型不需要 Workbench用 IDEA 的数据库工具即可认证方式选择Legacy Authentication兼容旧版驱动root 密码设置后务必牢记后续连接数据库都要用到安装完成后在 IDEA 的 Database 工具中添加 MySQL 连接测试小技巧IDEA 内置数据库工具IDEA 右侧边栏的 Database 工具可以直接连接 MySQL支持 SQL 编写、表结构查看、数据编辑等功能完全可以替代 Navicat 等付费工具省下一笔钱。2.5 第一个 Java 程序环境就绪后编写经典的 HelloWorld 程序验证一切正常JavaHelloWorld.javapublic class HelloWorld { public static void main(String[] args) { System.out.println(Hello, AI Full-Stack Engineer!); } }编译运行Shelljavac HelloWorld.java java HelloWorld # 输出Hello, AI Full-Stack Engineer!***三、Java 基础语法快速扫盲今天的语法学习目标是掌握 Java 的核心基础包括数据类型、流程控制、数组和方法。以下是关键知识点的整理。3.1 数据类型与变量Java 是强类型语言变量必须先声明类型。基本数据类型分为四类八种Java// 整数类型 byte b 127; // 1字节-128 ~ 127 short s 32767; // 2字节 int i 2147483647; // 4字节最常用 long l 9999999999L;// 8字节后缀 L // 浮点类型 float f 3.14f; // 4字节后缀 f double d 3.14159; // 8字节默认 // 字符和布尔 char c A; // 2字节Unicode boolean flag true; // true / false3.2 流程控制Java 的流程控制与其他 C 风格语言类似重点注意switch在 JDK 12 支持箭头语法Java// 传统 switch switch (day) { case 1: System.out.println(Monday); break; case 2: System.out.println(Tuesday); break; default: System.out.println(Other); } // JDK 12 箭头语法更简洁 switch (day) { case 1 - System.out.println(Monday); case 2 - System.out.println(Tuesday); default - System.out.println(Other); }3.3 数组Java 数组是引用类型声明时需要指定长度Java// 静态初始化 int[] nums {1, 2, 3, 4, 5}; // 动态初始化 int[] arr new int[5]; // 默认值 0 String[] names new String[3]; // 默认值 null // 遍历增强 for 循环 for (int num : nums) { System.out.println(num); }***四、MySQL 数据库初体验今天的 MySQL 学习集中在基础操作上包括数据库创建、表设计、数据类型和简单查询。4.1 常用数据类型INT整型4字节范围约 -21亿 ~ 21亿BIGINT长整型8字节适合主键自增VARCHAR(n)变长字符串n 最大 65535DECIMAL(m,d)精确小数适合金额计算DATETIME日期时间格式 YYYY-MM-DD HH:MM:SSTIMESTAMP时间戳自动记录创建/更新时间4.2 创建第一个数据库和表SQLinit_db.sql-- 创建数据库 CREATE DATABASE IF NOT EXISTS ai_learning DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci; USE ai_learning; -- 创建用户表 CREATE TABLE user ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 主键ID, username VARCHAR(50) NOT NULL COMMENT 用户名, email VARCHAR(100) COMMENT 邮箱, age INT DEFAULT 0 COMMENT 年龄, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间 ) ENGINEInnoDB COMMENT用户表; -- 插入测试数据 INSERT INTO user (username, email, age) VALUES (zhangsan, zsexample.com, 22), (lisi, lsexample.com, 25); -- 简单查询 SELECT * FROM user WHERE age 20 ORDER BY created_at DESC;为什么用 utf8mb4 而不是 utf8MySQL 的utf8实际上只支持 3 字节的 UTF-8 编码无法存储 Emoji 等 4 字节字符。utf8mb4才是真正的完整 UTF-8 实现建议所有新项目都使用 utf8mb4。***五、HTML/CSS/JS 三件套速览作为全栈工程师前端三件套是必须掌握的基础。今天快速过一遍核心概念。5.1 HTML 语义化标签HTML5 引入了大量语义化标签让页面结构更清晰也有利于 SEO 和可访问性HTML!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleAI 学习笔记/title /head body header页头/header nav导航/nav main article文章正文/article aside侧边栏/aside /main footer页脚/footer /body /html5.2 CSS 核心概念今天重点理解了盒模型、Flexbox 布局和选择器优先级CSS/* 盒模型content padding border margin */ .box { width: 300px; padding: 20px; border: 1px solid #ccc; margin: 10px auto; box-sizing: border-box; /* 关键让 width 包含 padding 和 border */ } /* Flexbox 居中 */ .container { display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ }5.3 JavaScript 基础JavaScript 是弱类型语言与 Java 虽然名字相似但差异很大。今天学习了变量声明、函数和 DOM 操作JavaScript// 变量声明ES6 推荐用 let/const let name AI Engineer; const PI 3.14159; // 箭头函数 const greet (name) Hello, ${name}!; // DOM 操作 document.querySelector(#btn).addEventListener(click, () { document.querySelector(#result).textContent Clicked!; }); // 异步操作Promise / async-await const fetchData async () { const res await fetch(/api/data); const data await res.json(); return data; };***六、今日踩坑记录坑 1JDK 版本冲突系统中原本安装了 JDK 8安装 JDK 17 后没有正确配置环境变量导致终端中java -version显示的还是旧版本。解决方案将%JAVA_HOME%\bin移到 Path 变量最前面并删除旧的 JDK Path 条目。坑 2MySQL 认证方式选择MySQL 8.0 默认使用caching_sha2_password认证方式但一些旧版 JDBC 驱动不支持。如果后续用 Java 连接 MySQL 出现认证错误可以执行以下 SQL 修改认证方式SQLALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密码; FLUSH PRIVILEGES;坑 3Maven 下载依赖过慢默认 Maven 中央仓库在国外下载依赖非常慢。解决方案在 settings.xml 中配置阿里云镜像见上文代码速度提升 10 倍以上。坑 4IDEA 中文乱码IDEA 默认文件编码可能不是 UTF-8导致中文注释乱码。解决方案Settings - Editor - File Encodings将 Global Encoding、Project Encoding 和 Default encoding for properties files 全部设置为 UTF-8。***七、收获总结与学习感悟今日收获环境搭建能力独立完成了 JDK、IDEA、Maven、MySQL 的完整环境配置并解决了版本冲突、编码乱码等实际问题。环境搭建虽然繁琐但一次配好后续学习就能专注于代码本身。Java 语法基础掌握了数据类型、流程控制、数组等核心语法理解了 Java 作为强类型语言的特点。MySQL 基础操作学会了数据库创建、表设计、数据类型选择和简单 CRUD 查询。前端三件套概览快速了解了 HTML 语义化、CSS 盒模型与 Flexbox、JavaScript 基础语法和 DOM 操作。学习感悟万事开头难但有了清晰的学习路线图每一步都走得踏实。今天最大的感悟是编程学习不能只看不练环境搭建过程中的每一个报错都是宝贵的学习机会。排查错误的过程本身就是对操作系统、环境变量、网络连接等底层知识的巩固。另外我发现做学习笔记是一个非常好的习惯。在整理笔记的过程中会强迫自己对知识点进行二次加工从听懂升级到理解。这篇博客就是我今天学习过程的完整记录既是对自己的督促也希望能够帮助到同样在自学路上的同学。***