记录真实开发问题、项目实践和两三句就能说明白的技术点
JMM(Java 内存模型)与 JVM 内存结构是两个易混淆的概念。本文讲清主内存与工作内存的抽象、并发三大特性(原子性/可见性/有序性),用代码演示 volatile 如何解决可见性与重排、为何不保证原子性,剖析双重检查锁单例必须加 volatile 的原因,对比 syn...
加了 @Transactional 却不生效,是 Spring 开发最常见的困惑。本文梳理 7 种传播行为(REQUIRED/REQUIRES_NEW/NESTED 等)、4 种隔离级别与脏读/不可重复读/幻读,并逐一拆解 9 大事务失效场景:非 public 方法、同类自...
线程池参数如何设置是 Java 面试与线上事故的高发点。本文详解 ThreadPoolExecutor 七大核心参数、先核心再队列后扩容的执行流程、四种拒绝策略、execute 与 submit 的区别、Executors 快捷方法的坑、CPU/IO 密集型线程数估算,以及...
HashMap 是 Java 面试必问的集合类。本文基于 JDK 1.8 源码,讲透数组+链表+红黑树结构、hash 扰动函数、put/get 全流程、高低位扩容迁移、为什么容量是 2 的幂、负载因子 0.75 与树化阈值 8 的设计依据,并对比 JDK 1.7 与 Con...
Spring Boot 打 war 包报 webxml attribute is required(或 pre-existing WEB-INF/web.xml) 的原因:maven-war-plugin 版本过低要求 web.xml。解决:配 failOnMissingW...
错误: 在打包工具类是报错 Unable to find main class 原因: 是工具类模块 找不到 启动类 main函数, 而工具类的作用只是共其他模块类调用, 不需要启动类, 经检查 工具类模块的 pom.xml 发现引用了sp…
在编译springboot工具类的时候报错 Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump 经过 网上搜索 得知 是由于 测试类 的问…
最近在写java项目的时候由于所使用的框架不支持注解引入依赖, 所以考虑使用单例模式,下面从网上查找归纳了一些方法做个记录 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式…
前言 判断一个字符串是否为数字是Java开发中很常见的业务需求,实现这个判断有很多种方式,大体上分为异常处理,正则表达式,数字字符,NumberFormat工具类,外部工具类这五大类,不同类型下的实现方式其实略有不同,下边列举出这5类中具体…
1、背景 最近工作中遇到一个情况,需要写6个很相似的查询功能,着6个查询的唯一的区别就是返回实体的字段不相同。 例如:我的待办需求,待办查询方式是一样的,但是待办分为好多种类型,每种类型的列表展示信息又是不一致的。 考虑到代码复用,打算写一…
Spring Boot 版本与 JDK 强相关:2.x 基于 Java 8,3.0+ 最低 Java 17 并迁移到 Jakarta EE。本文给出常用版本对照表与升级注意事项。
Cors的原理就不介绍了,直接先上解决方案, 也可以看这个,https://blog.csdn.net/c5113620/article/details/79132968 https://segmentfault.com/a/1190000…
前言 通过前两篇文章做好了的铺垫和讲述,现在的你应该了解了 CORS 是怎么回事以及 Spring MVC 对它是如何支持的,我有理由相信你现在完全是有能力去解决 CORS 跨域请求问题,而不用再是两眼一抹黑了。 正所谓好人做到底,送佛送到…
前言 上篇文章通过我模拟的跨域请求实例和结果分析,相信小伙伴们都已经 80% 的掌握了 CORS 到底是怎么一回事以及如何使用它。由于Java语言中的web框架几乎都是使用的 Spring MVC ,因此本文将聚焦于 Spring MVC …
前言 CORS 的全称是:跨域资源共享(Cross-origin resource sharing),它是 浏览器 的一个技术规范。 浏览器自己是可以发起跨域请求的(比如你可以外链一个外域的图片或者视频),但是 Javascript 脚本是…