# how2java **Repository Path**: webturing/how2java ## Basic Information - **Project Name**: how2java - **Description**: how2java 代码 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-29 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # how2java #### 介绍 how2java 是一个从零开始学习 Java 的开源项目,旨在帮助 Java 爱好者循序渐进地掌握从基础到高级的各项技能。配套学习网站:[www.how2j.cn](https://www.how2j.cn)。 本项目包含了网站上各个阶段的配套代码、实践项目和示例程序。 #### 软件架构 how2java 按照学习阶段组织内容,代码按模块划分,方便独立学习与实践。以下为规划中的目录结构,代码将逐步完善: ``` how2java/ ├── stage12_JAVA基础/ # HelloWorld、面向对象、变量、操作符、控制流程、数组、类与对象、接口与继承、数字与字符串、日期 ├── stage25_JAVA中级/ # 异常处理、I/O、集合框架、泛型、Lambda、多线程、JDBC、图形界面、网络编程 ├── stage33_JAVA高级/ # 反射机制、注解 ├── stage42_JAVA应用/ # Log4j、JUnit、Hutool、Jsoup、Lombok ├── stage27_前端部分/ # HTML、CSS、JavaScript、HTML DOM、JSON、Ajax、jQuery、Bootstrap、Vue.js、Node.js、Webpack、Chart.js ├── stage13_J2EE/ # Tomcat、Servlet、HTTP协议、JSP、MVC、Filter、Listener、购物车、Thymeleaf、前后端分离 ├── stage14_JAVA框架/ # Hibernate、Struts、Spring、Spring MVC、MyBatis、SpringBoot、SSH/SSM 整合 ├── stage43_工具和中间件/ # Maven、Git、IDEA、Redis、Nginx、Docker、WebSocket、Quartz、Shiro 等 ├── stage45_分布式和集群/ # SpringCloud ├── stage11_数据库/ # Oracle、MySQL、HSQLDB、SQLite ├── stage46_第三方开发/ # 微信登录、SSL ├── stage39_实践项目/ # 一本糊涂账、天猫系列项目、趋势投资、DiyTomcat └── stage30_面试题/ # J2SE、J2EE、框架面试题 ``` #### 课程大纲 ##### JAVA 基础 | 模块 | 说明 | |------|------| | [HelloWorld](https://how2j.cn/module/42.html) | 分别使用命令行和 Eclipse 运行第一个 HelloWorld 程序 | | [面向对象](https://how2j.cn/module/76.html) | 设计一个 LOL 的英雄类,创建两个英雄对象 | | [变量](https://how2j.cn/module/49.html) | 变量类型、命名规则、类型转换 | | [操作符](https://how2j.cn/module/50.html) | 算数、关系、逻辑、位、赋值、三元 | | [控制流程](https://how2j.cn/module/51.html) | 条件判断、循环语句 | | [数组](https://how2j.cn/module/52.html) | 相同类型的多个数据组成的一种结构 | | [类和对象](https://how2j.cn/module/53.html) | 武器和护甲是物品类的子类 | | [接口与继承](https://how2j.cn/module/54.html) | 继承、抽象类、多态、重写、内部类 | | [数字与字符串](https://how2j.cn/module/55.html) | 格式化输出、操纵字符串、StringBuffer | | [日期](https://how2j.cn/module/78.html) | 日期、日历、格式化解析 | ##### JAVA 中级 | 模块 | 说明 | |------|------| | [异常处理](https://how2j.cn/module/56.html) | 用 Java 打开 LOL.exe 文件 | | [I/O](https://how2j.cn/module/77.html) | 输入输出流、常见文件操作 | | [集合框架](https://how2j.cn/module/57.html) | 把多个英雄放在一个容器里 | | [泛型](https://how2j.cn/module/58.html) | 类型安全的容器 | | [Lambda](https://how2j.cn/module/103.html) | 匿名方法,把方法作为参数进行传递 | | [多线程](https://how2j.cn/module/31.html) | 同时攻击多个英雄 | | [JDBC](https://how2j.cn/module/15.html) | 把英雄的数据保存到数据库中 | | [图形界面](https://how2j.cn/module/60.html) | 英雄管理界面 | | [网络编程](https://how2j.cn/module/59.html) | 揭示 LOL 联机的基本原理 | ##### JAVA 高级 | 模块 | 说明 | |------|------| | [反射机制](https://how2j.cn/module/43.html) | 通过反射机制查看一个英雄都能做什么 | | [注解](https://how2j.cn/module/118.html) | Hibernate 的注解为什么能替换掉 hbm.xml 配置文件 | ##### JAVA 应用 | 模块 | 说明 | |------|------| | [Log4j](https://how2j.cn/module/120.html) | 灵活地把日志信息输出到控制台、日志文件等地方 | | [JUnit](https://how2j.cn/module/160.html) | 白盒单元自动测试 | | [Hutool](https://how2j.cn/module/158.html) | 超级方便的工具类,大大提高工作效率 | | [Jsoup](https://how2j.cn/module/174.html) | 解析 XML/HTML 的工具 | | [Lombok](https://how2j.cn/module/175.html) | 简化 getter/setter/构造方法等样板代码 | ##### 前端部分 | 模块 | 说明 | |------|------| | [HTML](https://how2j.cn/module/62.html) | 网页上显示的内容 | | [CSS](https://how2j.cn/module/63.html) | 网页内容的表现形式 | | [JavaScript](https://how2j.cn/module/64.html) | 网页和用户之间的交互 | | [HTML DOM](https://how2j.cn/module/67.html) | 从面向对象的角度来看 HTML 的标签 | | [JSON](https://how2j.cn/module/68.html) | 轻量级数据传输格式 | | [Ajax](https://how2j.cn/module/66.html) | 异步提交数据,网页不刷新 | | [jQuery](https://how2j.cn/module/17.html) | 对 JavaScript 的封装 | | [Bootstrap](https://how2j.cn/module/69.html) | 前端框架,快速构建响应式页面 | | [Vue.js](https://how2j.cn/module/153.html) | 渐进式 JavaScript 框架 | | [Node.js](https://how2j.cn/module/154.html) | JavaScript 也可以写服务端代码 | | [Webpack](https://how2j.cn/module/155.html) | 前端打包工具 | | [Chart.js](https://how2j.cn/module/167.html) | 前端画各种图表的工具 | ##### J2EE | 模块 | 说明 | |------|------| | [Tomcat](https://how2j.cn/module/70.html) | 常见的免费 Web 服务器 | | [Servlet](https://how2j.cn/module/71.html) | 用于处理用户提交的数据 | | [HTTP 协议](https://how2j.cn/module/87.html) | 浏览器和服务器之间的通信协议 | | [JSP](https://how2j.cn/module/72.html) | 可以写 Java 代码的 HTML | | [MVC](https://how2j.cn/module/86.html) | 模型-视图-控制器架构 | | [Filter](https://how2j.cn/module/73.html) | 拦截每个页面的请求 | | [Listener](https://how2j.cn/module/74.html) | 监听 Web 应用的生命周期 | | [Thymeleaf](https://how2j.cn/module/151.html) | JSP 的替代品,对前端更友好 | | [前后端分离](https://how2j.cn/module/152.html) | 通过 Ajax 获取后台数据并渲染 | ##### JAVA 框架 | 模块 | 说明 | |------|------| | [Hibernate](https://how2j.cn/module/12.html) | 对 JDBC 的轻量级封装,面向对象操作数据库 | | [Struts](https://how2j.cn/module/10.html) | 基于 MVC 设计模式的 Web 应用程序框架 | | [Spring](https://how2j.cn/module/11.html) | 基于 IoC 和 AOP 的构架多层 J2EE 系统的框架 | | [Spring MVC](https://how2j.cn/module/98.html) | 时下流行的 MVC 框架 | | [MyBatis](https://how2j.cn/module/121.html) | 对 SQL 进行轻量级封装的高效率 ORM 框架 | | [SpringBoot](https://how2j.cn/module/143.html) | 几乎不用配置的 SSM(H) 框架 | ##### 工具和中间件 | 模块 | 说明 | |------|------| | [Maven](https://how2j.cn/module/129.html) | 构建结构一致的 Java 项目 | | [Git](https://how2j.cn/module/131.html) | 免费、开源的分布式版本控制系统 | | [IntelliJ IDEA](https://how2j.cn/module/132.html) | Java 语言开发的集成环境 | | [Redis](https://how2j.cn/module/133.html) | 内存键值数据库 | | [Nginx](https://how2j.cn/module/139.html) | 高性能 Web 服务器,常用于负载均衡 | | [Docker](https://how2j.cn/module/161.html) | 容器化部署,解决环境问题 | | [WebSocket](https://how2j.cn/module/141.html) | 服务器主动向浏览器发消息 | | [Quartz](https://how2j.cn/module/149.html) | 加强版的定时器,支持集群 | | [Shiro](https://how2j.cn/module/150.html) | 流行的 Java 安全框架 | | [搜索引擎技术](https://how2j.cn/module/148.html) | Lucene、Solr、ElasticSearch | ##### 分布式和集群 | 模块 | 说明 | |------|------| | [SpringCloud](https://how2j.cn/module/166.html) | 用 SpringCloud 做分布式和集群 | ##### 数据库 | 模块 | 说明 | |------|------| | [Oracle](https://how2j.cn/module/23.html) | 处于领先地位的关系数据库 | | [MySQL](https://how2j.cn/module/80.html) | 中小型网站常用的数据库 | | [HSQLDB](https://how2j.cn/module/123.html) | 无需安装,跟着 JVM 一起启动的内置数据库 | | [SQLite](https://how2j.cn/module/164.html) | 直接运行在 JVM 里的数据库 | ##### 第三方开发 | 模块 | 说明 | |------|------| | [微信登录](https://how2j.cn/module/168.html) | 通过微信扫描方式实现登录 | | [SSL](https://how2j.cn/module/172.html) | 启用 HTTPS,提升安全性能 | ##### 面试题 | 模块 | 说明 | |------|------| | [J2SE](https://how2j.cn/module/89.html) | Java 基础知识面试题:面向对象、IO、异常、多线程、JDBC、数组、集合等 | | [J2EE](https://how2j.cn/module/90.html) | J2EE 面试题:HTML、JavaScript、CSS、DOM、jQuery、Servlet、JSP、Filter、Listener 等 | | [框架](https://how2j.cn/module/91.html) | Hibernate、Spring、Struts、Spring MVC 等框架面试题 | ##### 实践项目 | 项目 | 说明 | |------|------| | [一本糊涂账](https://how2j.cn/module/104.html) | 将 J2SE 各个知识融会贯通的综合性桌面应用 | | [天猫前端](https://how2j.cn/module/106.html) | 使用 HTML、CSS、JS 实现天猫官网 | | [天猫整站 J2EE](https://how2j.cn/module/115.html) | 使用 J2EE 技术实现天猫整站 | | [天猫整站 SSM](https://how2j.cn/module/134.html) | 使用 SSM 框架实现天猫整站 | | [天猫整站 SpringBoot](https://how2j.cn/module/156.html) | 使用 SpringBoot + Vue.js 实现天猫整站 | | [趋势投资 SpringCloud](https://how2j.cn/module/170.html) | 分布式和集群的趋势投资项目 | | [DiyTomcat](https://how2j.cn/module/176.html) | 徒手写一个 Tomcat | #### 安装教程 1. 安装 [JDK](https://www.oracle.com/java/technologies/downloads/) 8 或更高版本 2. 安装 [Maven](https://maven.apache.org/) 用于依赖管理 3. 安装 [Git](https://git-scm.com/) 用于版本控制 4. 克隆本仓库: ``` git clone https://gitee.com/how2java/how2java.git ``` 5. 使用 IDEA 或 Eclipse 导入项目 #### 使用说明 1. 访问 [www.how2j.cn](https://www.how2j.cn) 学习对应阶段的理论知识 2. 在本仓库中找到对应模块的代码进行实践 3. 每个模块独立运行,按照课程进度循序渐进 #### 参与贡献 1. Fork 本仓库 2. 新建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交代码 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 新建 Pull Request #### 联系方式 - 学习网站:[https://www.how2j.cn](https://www.how2j.cn) - Gitee 仓库:[https://gitee.com/how2java/how2java](https://gitee.com/how2java/how2java) #### 开源协议 本项目基于 [MIT License](LICENSE) 开源。