- 博客(79)
- 收藏
- 关注
原创 Java Web :JDBC CRUD 与前后端交互
本教程专为基础薄弱的学习者设计,全程采用套路化代码 + 实战演练模式,弱化复杂理论,强化动手实践。核心覆盖三大模块:JDBC 基础 CRUD 操作、数据库工具类封装优化、jQuery+Ajax+Servlet 前后端数据交互,最终实现前端页面动态展示数据库数据的完整功能。四步核心:加载驱动 → 获取连接 → 执行 SQL → 关闭资源;增删改用,查询用;MySQL 8.0 必配:时区、编码,否则连接失败 / 乱码。本教程覆盖了Java Web 开发最核心的基础实战内容。
2026-05-12 19:02:05
95
原创 Web 开发:计算机网络知识梳理
梳理访问网站的完整流程:从输入域名到页面加载完成,梳理 DNS 解析、TCP 连接、HTTP 请求、服务器响应、页面渲染的完整链路,并尝试用自己的话复述,加深理解;在开发中验证理论:写一个简单的 Servlet 接口,通过 AJAX 调用,观察请求的 URL、状态码,结合网络抓包工具(如 Wireshark)查看数据包的 IP、MAC 地址变化,将理论与实践结合;持续补充与输出:撰写博客整理学习笔记,既能帮你巩固知识,也能在遇到问题时快速回顾;同时多与同行交流,从他人的问题中拓展自己的知识边界。
2026-05-12 17:53:43
111
原创 Java List 集合介绍
List 是 Java 集合框架中有序、可重复的接口,继承自Collection,允许通过索引访问元素。其核心实现类包括ArrayListLinkedList和Vector,各有不同的底层结构和适用场景。二、核心实现类详解底层结构:动态数组(Object[]),支持自动扩容。核心特性访问效率:按索引访问快(时间复杂度O(1)),适合随机访问。增删效率:尾部增删快(O(1)),中间增删慢(需移动元素,O(n)线程安全:非线程安全,多线程环境需手动同步(如内存占用:较低(仅存储数据,无额外指针开销)
2026-05-09 12:35:59
801
原创 Java:final 关键字 + String 不可变性 + 字符串拼接
修饰变量:基本类型值不可改,引用类型地址不可改、内容可改;修饰方法:可继承、可调用,不可重写,可重载;修饰类:不可继承,内部方法自动为 final;核心作用:保证数据安全、保护核心逻辑、提升代码可读性。String 对象创建后,其内容(底层数组的元素)不能被修改,看似修改(如拼接、替换),本质是创建了新的 String 对象。修饰变量:基本类型值不可改,引用类型地址不可改、内容可改;成员变量三选一赋值,局部变量使用前赋值。修饰方法:可继承、可调用、不可重写,可重载。
2026-05-09 12:34:01
286
原创 Java:文件上传
文件上传是 Web 应用的核心功能,允许客户端将图片、文档、压缩包等文件发送到服务器保存。:若未做安全校验,极易被上传,导致服务器被入侵。
2026-05-09 10:43:37
324
原创 Java :封装、继承、多线程安全
封装是 Java 面向对象三大特性(封装、继承、多态)的基础,也是软件设计中 “高内聚、低耦合” 思想的核心体现。核心本质:将类的 “状态(成员变量)” 与 “行为(方法)” 捆绑在一起,隐藏类内部的实现细节,对外只暴露统一、可控的访问接口,禁止外部直接操作内部数据,从而实现数据安全与访问控制。箱子里的东西(成员变量)是私有的,别人不能直接拿;想要拿 / 放东西,必须通过箱子上的 “专属接口”(getter/setter 方法);接口可以做 “安检”(数据校验),确保放进箱子的东西合法、安全。
2026-05-09 09:48:14
357
原创 MySQL 基础查询
SQL 是数据库交互的核心语言,无论是后端开发、数据分析还是运维管理,都是必备技能。本文以 MySQL 为例,从六大模块,结合实战代码与原理讲解,带你构建完整的 SQL 查询知识体系。
2026-05-08 23:58:01
348
1
原创 数据库概念结构设计(E-R 模型)
一个实体 → 一张表实体名 = 表名,属性 = 字段,主键 = 表主键1:1 联系在任意一方表中加入另一方主键作为外键,并加唯一约束。1:n 联系在多的一方表中加入一的一方主键作为外键。m:n 联系新建一张中间表,包含双方主键作为联合主键,同时存储联系属性。联系的属性1:1 / 1:n → 放入对应表中m:n → 放入中间表概念结构设计 = E-R 模型设计实体、属性、联系m:n 必须用中间表实现结构清晰、无冗余、易转表、满足需求。
2026-05-07 19:28:47
430
原创 Java:八大基本数据类型与类型转换
8 大基本类型:byte short int long float double char boolean小范围 → 大范围,自动无损大范围 → 小范围,手动强转,可能溢出、丢精度char 可自动转 int,int 转 char 必须强转运算提升:byte/short/char 运算一律先提升为 int有浮点就向高精度浮点靠拢,有 long 就向 long 靠拢+""String 转基本类型:用各包装类parseXxx()方法boolean 独立存在,不与任何类型转换。
2026-05-06 15:59:42
341
原创 Java:字符串与数字(String ↔ int/Integer)转换
String → int:优先用(性能最优),或工具类(省心)。String → Integer:优先用(缓存优化),或工具类。int/Integer → String:优先用(空安全、通用),简写用num + ""(开发高效)。
2026-05-06 15:53:29
360
原创 Java:基本类型与包装类(Integer)
Java 有8 种基本数据类型,为了让基本类型具备对象特性、可以赋值为 null、支持泛型、参与集合存储,每种基本类型都对应一个包装类基本类型对应包装类占用字节取值范围byteByte1 字节-128 ~ 127shortShort2 字节intInteger4 字节longLong8 字节很大floatFloat4 字节小数doubleDouble8 字节小数charCharacter2 字节0 ~ 65535booleanBoolean。
2026-05-06 15:48:08
343
原创 Java:多线程
写法简单直观,入门容易。自定义类直接继承 Thread,可直接调用 Thread 类所有通用方法(sleep、getName、setName 等)。
2026-05-05 18:56:29
194
原创 Java:IO流
Input 输入、Output 输出流:数据在设备间按字节 / 字符顺序传输的通道,Java IO 用于文件读写、网络传输、数据持久化。
2026-05-05 18:49:04
321
原创 Java 抽象类、接口与对象排序
抽象类是对所有子类公有方法的共性提取,把子类都会实现的、重复的方法,抽取到父类中统一定义,避免代码冗余。当父类本身不应该被实例化(比如Animal只是动物的概念,不应该直接创建Animal对象),且只需要定义子类必须实现的方法规范时,就可以把父类定义为抽象类。抽象类:用abstract关键字修饰的类,不能被实例化(不能直接new抽象方法:用abstract关键字修饰的方法,没有方法体(连大括号都没有,直接以分号结尾),定义在抽象类中,强制子类必须重写实现。接口用interface。
2026-04-25 17:58:25
311
原创 Java中Object 与包装类知识点
判断两个对象地址是否相同,相同直接返回 true;判断传入对象是否为 null、是否为当前类类型;对比对象核心成员变量的值,完成内容比较。自定义实体类重写 equals 示例@OverrideObject 是所有类父类,原生equals等价于==,只比较地址;自定义类需重写,保证哈希集合正常去重;装箱依靠valueOf(),拆箱依靠intValue()等底层方法;Integer 缓存区间:-128~127,包装类值对比统一使用equals规避缓存陷阱。
2026-04-23 20:40:06
369
原创 二叉搜索树与二叉树遍历
BST 的基础是TreeNodedata:数据域,存储节点的实际值(通常为可比较类型,如intIntegerleft:左子节点引用,指向左子树的根节点right:右子节点引用,指向右子树的根节点模块核心要点BST 节点结构dataleftright,引用类型保证内存指向正确BST 构建左小右大,递归 / 非递归插入,堆内存存储对象,栈内存存储临时引用深度优先遍历前序(根左右)、中序(左根右)、后序(左右根),递归实现,依赖方法栈广度优先遍历层序遍历,队列实现,先进先出,按层级访问节点。
2026-04-15 19:37:53
332
原创 数据结构笔记2
红黑树:折中平衡与维护成本,最优二叉搜索树,适用于内存中数据的高效操作;哈夫曼编码:基于哈夫曼树的前缀编码,核心用于数据压缩,兼顾高效与无歧义;B树:多叉结构降低树高,减少磁盘I/O,适用于数据库、文件系统等磁盘存储场景。
2026-04-12 18:17:56
172
原创 数据结构笔记
时间复杂度:描述数据规模 N 与算法执行次数的增长关系,反映算法执行效率。空间复杂度:衡量算法运行所需额外存储空间大小。优化原则:工程中常采用时间换空间,优先优化时间复杂度。
2026-04-11 18:04:58
229
原创 测试题整理1
TCP是面向连接的可靠传输协议,适用于需要可靠数据传输的场景,如Web浏览(HTTP/HTTPS)、文件传输(FTP)、电子邮件等。UDP是无连接的不可靠传输协议,适用于实时性要求高、可容忍少量数据丢失的场景,如视频流媒体、语音通话、在线游戏、DNS查询等。实现通常使用哈希表+双向链表的数据结构,哈希表提供快速查找,双向链表维护访问顺序,最近访问的移动到头部,最久未访问的在尾部。作用:保证核心类库安全、避免类重复加载、保证类的唯一性、实现类的隔离和共享。答案:是的,子类实例初始化会触发父类实例初始化。
2025-11-17 15:17:00
624
原创 Spring DI 与IOC 注解
<value>美美</value> <value>小凤</value> <value>熊大</value> <value>熊二</value>
2025-11-13 16:52:58
907
原创 Spring 框架核心概念整理 (IOC & AOP)
程序执行过程中明确的点,如方法调用、异常抛出(在 Spring AOP 中,主要指。:通过 IOC 容器,将对象的创建和依赖关系的维护交由 Spring 管理。:是 Spring 容器的核心接口,用于获取 Bean 对象。:即控制反转,将对象的创建权反转(交给)Spring 框架。:是通知和切点的结合,定义了“何时”在“何处”执行增强。先创建工厂类的实例,再通过该实例的方法返回对象。:匹配连接点的谓词,定义了哪些连接点会收到通知。:将切面应用到目标对象以创建代理对象的过程。
2025-11-13 16:47:13
391
原创 SSM框架实训测试题整理3
可以。MyBatis 在解析 XML 映射文件时,并不是顺序解析的。它会先将整个文档解析成一棵 DOM 树,然后再进行处理。因此,<sql>标签(B标签)的定义位置可以在引用它的<include>标签(A标签)之前或之后,都不会影响最终的结果。MyBatis 是一个优秀的持久层框架,它封装了 JDBC 的繁琐操作,简化了数据库编程。它是一个半自动的 ORM框架,因为开发者需要自己编写 SQL,但它负责将结果集智能地映射到 Java 对象中。它的核心在于通过SQL 映射文件或注解。
2025-11-04 15:42:56
831
原创 SSM框架实训测试题整理2
MyBatis提供了两级缓存来提高查询性能。特性一级缓存二级缓存作用域SqlSession级别。级别。默认开启是。否,需要在配置文件中显式开启()并在Mapper.xml中配置<cache/>。共享性同一个SqlSession内共享。同一个namespace下的所有SqlSession共享。失效时机当执行操作,或调用,或关闭SqlSession时,一级缓存会清空。当执行同namespace下的增删改操作时,二级缓存会被清空。也可以通过配置设置刷新间隔等。存储结构内存中的一个简单HashMap。
2025-11-04 15:33:29
790
原创 SSM框架实训测试题整理1
IoC (Inversion of Control) 容器是一个更抽象、更概念化的术语。它代表的是一种设计原则,即“控制反转”或“依赖注入”。传统编程 vs. IoC:对象自己主动去创建和管理它所依赖的对象。// OrderService 自己负责创建 UserRepository对象的依赖关系由外部容器来建立和注入。控制权从程序代码本身反转到了外部容器。// OrderService 不负责创建,只声明它需要一个依赖@Autowired。
2025-11-04 15:06:50
812
原创 SSM 框架整合梳理
Spring 的 IOC 容器管理所有 Bean,实现组件解耦。Spring AOP 可统一处理日志、事务等横切逻辑。Spring MVC 简化 Web 层开发,实现请求与响应的高效处理。MyBatis 灵活控制 SQL,兼顾性能与开发效率。
2025-10-28 19:55:46
636
原创 Spring MVC 框架梳理
/ getter省略// 请求处理前执行(返回true则继续执行,false则拦截)@Override// 未登录,重定向到登录页// 请求处理后、视图渲染前执行@OverrideSystem.out.println("postHandle执行");// 视图渲染后执行@OverrideSystem.out.println("afterCompletion执行");
2025-10-28 19:55:32
690
原创 MyBatis 框架梳理
MyBatis 是半自动的 ORM 框架(需手动编写 SQL,自动完成对象与结果集的映射),它的前身是 iBatis,2010 年由 Apache 软件基金会迁移到 Google Code 并更名 MyBatis,后又迁移到 GitHub。核心优势:引入依赖:在中添加 MyBatis 和数据库驱动依赖。 配置(MyBatis 核心配置文件): 2. 编写实体类与映射文件 实体类: 映射文件: 3. 编写测试代码三、代理 Dao 的方式进行 CR
2025-10-28 19:55:13
895
原创 Spring 框架梳理
Spring 是一款Spring 的生态体系非常庞大,涵盖了 Spring Core、Spring MVC、Spring Boot、Spring Cloud 等子项目,几乎覆盖了 Java 开发的全场景。
2025-10-28 19:55:03
959
原创 Maven 项目管理工具
依赖管理是指 Maven 能自动下载、管理项目所需的第三方库(如 Spring、MyBatis),并处理库之间的依赖关系(避免版本冲突)。开发者只需在配置文件中声明依赖,Maven 会自动完成后续的依赖解析和资源获取。项目构建是指 Maven 能自动化执行一系列构建流程编译:将 Java 源码编译为字节码。测试:执行单元测试代码。打包:将项目打包为 jar、war 等格式。部署:将打包后的产物部署到服务器或仓库。Maven 私服是企业内部的私有仓库存储内部项目的依赖(如公司自研的公共模块)。
2025-10-23 17:06:02
1108
原创 JSP 视图: EL 与 JSTL
JSP 是,它本质上是一个 Servlet(JSP 会被服务器编译为 Servlet 类)。JSP 的核心作用是,实现前后端数据的可视化交互。
2025-10-23 17:00:48
360
原创 Session 会话与 Cookie 响应
Session 是服务器端的会话对象,用于存储用户的 “会话级” 数据(如登录状态、购物车信息)。每个用户(会话)对应一个唯一的 Session,服务器通过 **Cookie(JSESSIONID)** 识别不同用户的 Session。特性CookieSession存储位置客户端浏览器服务器内存(或持久化存储)存储容量小(一般 4KB 以内)大(取决于服务器资源)安全性低(数据在客户端,易被篡改)高(数据在服务器,客户端仅存 ID)生命周期可设置较长时间。
2025-10-23 16:34:45
427
原创 Java Web 过滤器与监听器
过滤器是运行在服务器端的拦截器,它可以在请求到达 Servlet 之前 “拦截” 请求,也可以在响应返回给客户端之前 “拦截” 响应,从而实现统一的请求处理、权限控制、编码过滤等功能。统一设置请求 / 响应的编码格式。拦截非法请求(如未登录用户访问受保护页面)。记录请求日志、统计接口访问次数。监听器是监听 Web 应用中 “事件”的组件,它可以感知这三个域对象的创建、销毁或属性变化,从而实现全局事件处理、数据统计、资源初始化等功能。ServletContext 监听器。
2025-10-23 16:13:26
622
原创 Servlet梳理
方式说明适用场景实现Servlet接口最原始的方式,需重写initservicedestroy等所有方法了解 Servlet 底层原理继承抽象类,封装了Servlet接口的通用逻辑,只需重写service方法自定义通用 Servlet 基类继承最常用的方式,专门处理 HTTP 请求,自动区分doGetdoPost等请求方式绝大多数 Web 开发场景。
2025-10-23 16:02:15
614
原创 IntelliJ IDEA内容梳理
访问,选择对应系统(Windows/macOS/Linux)的安装包(推荐 “Ultimate” 旗舰版,功能更完整)。
2025-10-23 15:48:27
501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅