摘要: 【工作篇】接口幂等问题探究 前言 最近遇到一些问题,表单重复提交,导致插入重复数据到数据库,这里查询一些通用的方案,自己都实践一下,以后好回顾。 实践代码项目 Github: https://github.com/h-dj/Spring-Learning/tree/master/repeat-sub 阅读全文
posted @ 2021-12-17 16:45 JiaJianHuang 阅读(593) 评论(0) 推荐(4) 编辑
摘要: 前言 主要现在项目中使用的参数绑定五花八门的,搞得很头大,例如有些用字符串接收日期,用字符串接受数组等等,完全没有利用好 SpringMVC 的优势,这里自己也总结一下,免得到时又要百度谷歌查找。 以下实践的 Spring 版本是:5.2.7.RELEASE 一、SpringMVC 中不同类型的数据 阅读全文
posted @ 2021-08-23 09:20 JiaJianHuang 阅读(330) 评论(0) 推荐(1) 编辑
摘要: 一、背景 最近需要统一升级 Spring 的版本,避免 common 包和各个项目间的 Spring 版本冲突问题。这次升级主要是从 Spring 4.1.9.RELEASE 升级到 Spring 4.3.22RELEASE。 预备知识点 OPTIONS 请求 https://developer.m 阅读全文
posted @ 2021-07-19 22:07 JiaJianHuang 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 一、类加载时机 1.1 触发类初始化的六个场景: 加载? 1、遇到new、getstatic、putstatic或invokestatic这四条字节码指令时 如果类型没有进行过初始化,则需要先触发其初始化阶段。生成这四条指令的Java代码场景是: 使用new关键字实例化对象的时候 读取或设置一个类型 阅读全文
posted @ 2021-04-11 20:23 JiaJianHuang 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 一、概念 1.1 无符号数: 以 u1、u2、u3、u4、u8 代表 1 个字节,2 个字节、4 个字节、8 个字节的无符号数。无符号数可以描述数字,索引引用、数量值和按照 UTF-8 编码构成的字符串值。 1.2 表 表是由多个无符号数或其他表作为数据项构成的复合的数据结构,所有表都习惯性的以“_ 阅读全文
posted @ 2021-03-25 13:52 JiaJianHuang 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 内存分配与回收策略 以下例子使用 openjdk8 测试 一、对象优先在 Eden 分配 大多数情况下,对象在新生代 Eden 区中分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次 Minor GC。 虚拟机参数 -Xms20M -Xmx20M : 限制堆的大小为 20M -Xmn10 阅读全文
posted @ 2021-02-28 16:14 JiaJianHuang 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集器 HotSpot 包含的垃圾收集器 一、串行收集器 1.1、Serial 收集器 在 JDk1.3 之前是新生代收集的唯一选择 单线程,只会使用一个 CPU 去完成 垃圾收集时,必须暂停其他工作线程,直到它收集结束。“Stop The World” 虚拟机后台自动发起和自动完成的,在用户不 阅读全文
posted @ 2021-01-10 23:05 JiaJianHuang 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 一、什么是垃圾回收? 垃圾回收(英语:Garbage Collection,缩写为 GC),在计算机科学中是一种自动的存储器管理机制。当一个电脑上的动态存储器不再需要时,就应该予以释放,以让出存储器,这种存储器资源管理,称为垃圾回收。垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机会。垃圾回 阅读全文
posted @ 2020-12-20 22:45 JiaJianHuang 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去” 一、对象存活判断 1.1 引用计数算法(Reference Counting) 工作原理 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加 1;当引用失效时,计数器值就减 1;任何时候计数 阅读全文
posted @ 2020-12-12 16:33 JiaJianHuang 阅读(69) 评论(0) 推荐(0) 编辑
摘要: Java 内存区域与 OOM 虚拟机基本结构图示 一、运行时数据区域 运行时数据区域 图示 标注颜色的两块区域:所有线程共享的数据区域 1.1 程序计数器(progams count Register) 程序计数器是一块比较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。程序计数器里 阅读全文
posted @ 2020-12-06 16:11 JiaJianHuang 阅读(130) 评论(0) 推荐(0) 编辑