
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
工厂方法模式的升级版本,核心是一个超级工厂创建多个产品工厂,可以生产一系列相关联的产品族群,解决多品类、多维度对象创建问题。使用方法:定义顶层抽象工厂,包含多个不同产品族的创建方法;定义多个产品抽象接口,再实现不同系列的具体产品;具体工厂实现顶层抽象工厂,负责生产同一系列的所有关联产品;业务端通过超级工厂获取整套产品对象。适用场景:多系列关联对象统一创建,如操作系统适配(Windows/Mac 按
Java 枚举(enum)是 JDK 1.5 引入的一种特殊的数据类型,用于定义固定数量的常量集合。Java枚举是一个功能强大且安全的特性,它不仅提供了类型安全的常量定义方式,还支持面向对象的特性如方法、字段和继承接口。ordinal()返回枚举常量的序号(从0开始)toString()返回枚举常量的名称(可重写)GREEN(“绿色”, “#00FF00”),BLUE(“蓝色”, “#0000FF
核心含义编译期能找到类,但运行期JVM无法找到该类的字节码文件(与的核心区别:前者是运行期类加载失败,后者是编译/反射时类不存在)典型场景:编译后删除了类的class文件、依赖的第三方包编译期存在但运行期缺失、Maven/Gradle依赖包版本冲突标准规避方式环境检查:确认项目运行时的classpath包含所有依赖包,编译后的class文件完整无缺失;依赖管理:使用Maven/Gradle统一管理
场景推荐类本地日期时间(无时区)仅日期LocalDate带时区的时间时间戳(系统/数据库)Instant格式化/解析时间间隔Duration(时分秒)、Period(年月日)💡记住:Java 8 的java.time是处理时间的终极答案,简洁、安全、强大。
Java 多线程开发从基础线程创建到高级并发工具,是一个逐步演进的过程。“少用原始 Thread,多用 Executor;少用 synchronized,多用并发集合和原子类;善用 CompletableFuture 实现异步非阻塞。掌握这些知识,你就能写出高效、安全、可维护的并发程序。
Comparable= “我是怎么排的”→ 定义对象的内在排序规则。Comparator= “你想怎么排我”→ 提供外部、灵活的排序策略。合理结合两者,可写出清晰、高效、可维护的排序逻辑。在现代 Java(8+)中,Comparator的链式 API 极大提升了可读性和表达力,推荐熟练掌握。
作用:判断两个对象是否“逻辑相等”。默认实现(来自Object类):public boolean equals(Object obj) {// 仅比较引用地址(即是否是同一个对象)HashSet场景是否需要重写对象仅用于局部变量、临时计算❌ 不需要对象要放入HashSetHashMapHashtable等✅必须同时重写equals()和hashCode()对象要作为Map的 key✅必须重写对象要
场景传统 IONIO.2推荐路径操作FilePathPaths✅ NIO.2文件属性查询File方法FilesPath✅ NIO.2创建/删除/复制手动实现copydelete✅ NIO.2读写小文本文件write✅ NIO.2流式读写大文件+ 缓冲⚖️ 两者皆可对象序列化无直接替代✅ 传统 IO网络 I/OSocket+ 流⚖️ 按需选择目录遍历递归✅ NIO.2文件监听无✅ NIO.2特性传统
配置方式:Spring Boot项目优先使用,通过配置;纯Java项目手动初始化。核心参数:重点关注maxActive(最大连接数)和(空闲检测),平衡性能与连接可用性。核心优势:Druid的监控面板是核心亮点,能直观查看连接池状态和SQL执行情况,便于生产环境排查问题。
Docker 是基础:将 Nginx/后端服务打包成镜像,提供隔离的运行环境,通过卷挂载实现数据持久化;Nginx 是核心网关:接收用户请求,按配置转发给后端服务,处理静态资源、负载均衡和响应封装;K8s 是编排管理者:通过 Service 实现服务发现、Ingress 暴露入口、Pod 调度和存储管理,打通所有组件的网络和数据通道。用户请求 → K8s Ingress → Nginx 容器 →







