使用Spring Mail和FreeMarker发送HTML邮件

使用Spring Mail和FreeMarker发送HTML邮件 引言 最近在写自己的博客项目,有收到新评论后发送邮件通知的功能,使用MQ通知服务,使用了没接触过的FreeMarker和JavaMail,记录一下实现过程,代码仓库:https://github.com/mashirot/Mashir


Jackson在Kotlin下全局自定义序列化器Long转String不生效

Jackson在Kotlin下全局自定义序列化器Long转String不生效 起因 雪花算法生成的主键传到前段后发生精度丢失,例如后端传入1397844263642378242,前端接收后变成1397844263642378000 因为Number的精度是16位,而雪花ID是19位 找了网上很多Ja


MySQL笔记

MySQL笔记 事务 ACID Atomicity 原子性 Consistency 一致性 Isolation 隔离性 Durability 持久性 并发事务问题 脏读:一个事务在未提交时读到其他事务未提交的数据 不可重复读:一个事务内两次读取同一行的结果不一致 幻读(虚读):一个事务内无法查询到某


SpringBoot 配合 Jwt 实现请求鉴权

SpringBoot 配合 Jwt 实现请求鉴权 Session 与 JWT Session 在初学Servlet或Spring时,采用的往往是通过Session来实现登录状态保持以及用户信息的存储,但问题在于Session是有有效期的,当有一段时间不访问后Session就会被服务器销毁(Tomca


Spring 高级笔记

Spring 高级笔记 容器接口 由图可见,ConfigurationApplicationContext 实现了 ApplicationContext 接口,实现了 BeanFactory 接口。 BeanFactory 接口是 Spring 的核心容器,主要的 ApplicationContex


缓存雪崩、缓存穿透、缓存击穿

缓存雪崩、缓存穿透、缓存击穿 缓存雪崩 某一个时刻出现大规模的缓存失效的情况,导致大量的请求直接打在数据库上,导致数据库压力巨大,如果在高并发的情况下,可能瞬间就会导致数据库宕机。 解决方案: 1、在原有的失效时间上加上一个随机值,比如1-5分钟随机。这样就避免了因为采用相同的过期时间导致的缓存雪崩


ChatGPT API 的 Java 简单使用

ChatGPT API 的 Java 简单使用 引言:想着openai送的额度不能浪费,就使用OKHTTP框架做了一个简单的控制台对话实现 请求部分 /** * 发送消息请求 * @param msgList 消息列表,包含历史对话 * @param delay 等待回


操作系统导论 笔记

操作系统导论 笔记 第二章 操作系统介绍 有一类软件负责让程序运行变得容易(甚至允许你同时运行多个程序),允许程序共享内存,让程序能够与设备交互,以及其他类似的工作。这类软件称为操作系统(Operating System, OS) 要做到这一点,操作系统主要利用一种通用的技术,我们称之为虚拟化。 也


Java设计模式 笔记

Java设计模式 笔记 UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息 UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图