Java Web 开发环境配置笔记(基于 Servlet + Tomcat + Thymeleaf) 本笔记整理自项目实战文档,涵盖 JDK、Tomcat、IDEA、MySQL 及各类依赖库的完整配置,适用于 Servlet + JSP + Thymeleaf + JDBC 的传统 Java Web 开发。
在 Java 中,继承 Thread 类和实现 Runnable 接口是两种经典的多线程实现方式。它们本质上都是通过 Thread 类来执行线程,但设计理念和适用场景有明显区别。 核心区别总结 对比维度 继承 Thread 类 实现 Runnable 接口 资源共享 较难实现(需要共享静态变量或外部对象) 天然支持多个线程共享同一个 Runnable 实例 灵活性 低(Java单继承限制) 高(可以继承其他类) 代码与逻辑分离 未分离(线程创建和任务代码耦合) 已分离(线程和任务解耦) 线程池支持 不推荐使用(Thread 对象不能被重用) 推荐使用(Runnable 或 Callable 提 …
UML速成 面向对象程序设计与UML建模知识 1. 面向对象程序设计基础 1.1 面向对象程序设计的三大特性 封装 继承 多态 1.2 面向对象的概念 面向对象=对象+类+继承+消息传递 可以说,这4个概念涉及面向对象的基本建模原则:抽象、封装、继承、分类等。
Java I/O 流复制文件练习 本练习演示了如何使用 字符缓冲流 和 字节缓冲流 实现文件的复制。其中 BufferedReader + BufferedWriter 适合复制文本文件,而 BufferedInputStream + BufferedOutputStream 可以复制任意类型的文件(图片、视频、可执行文件等)。
Java的反射机制是Java语言提供的一种强大特性,它允许程序在运行时检查和操作类、接口、字段和方法,而无需在编译时知道它们的具体名称。你可以把它理解为一种“自省”能力——程序可以审视自己,甚至修改自己的内部状态。
SQL 中 IN 与 EXISTS 的区别笔记(含常见误区澄清) 基于常见问题与易混淆点整理,重点标注容易出错和误导的地方。 一、核心区别速览 维度 IN EXISTS 语义 判断外层表达式的值是否存在于子查询返回的值列表中。 判断子查询是否有行返回(存在性检查)。 子查询返回列数 通常只能返回一列;多列需使用行构造器且外层也要匹配。 可以返回任意列,甚至 SELECT *,返回值本身无关紧要。 对 NULL 的处理 ⚠️ 容易出错:NOT IN 若子查询结果包含 NULL,整个查询返回空(不是报错)。 ✅ 安全:子查询的 WHERE 条件正常比较,不受子查询 SELECT 列中的 NULL …
1.hugo博客的文章规范 Markdown 写作格式: --- title: "{{ replace .Name "-" " " | title }}" description: "{{ .Name }}" keywords: "{{replace .Name "-" ","}}" date: {{ .Date }} lastmod: {{ .Date }} math: false mermaid: false categories: - tags: - - --- {{ …