首页 文章
  • ThreadLocal 源码解读

    1. 背景 ThreadLocal源码解读,网上面早已经泛滥了,大多比较浅,甚至有的连基本原理都说的很有问题,包括百度搜索出来的第一篇高访问量博文,说ThreadLocal内部有个map,键为线程对象,太误导人了。 ThreadLoc...
  • 深入解析 Java 容器类List、Set、Map

    本篇文章带你从Java源码深入解析关于Java容器的概念。 参考文献: Java容器相关知识全面总结 Java官方API文档 1 常用容器继承关系图 先上一张网上的继承关系图 集合继承关系图 个人觉得有些地方不是很准确,比如Itera...
  • Spring 事务管理机制

    Spring支持两种方式的事务管理: 编程式事务管理: 通过Transaction Template手动管理事务,实际应用中很少使用, 使用XML配置声明式事务: 推荐使用(代码侵入性最小),实际是通过AOP实现 实现声明式事务的四种...
  • Git 分支管理实践

    Git 是目前最流行的源代码管理工具。大量的软件项目由 GitHub、Bitbucket 和 GitLab 这样的云服务平台或是私有的 Git 仓库来管理。在使用 Git 时通常会遇到的一个问题是采用何种分支管理实践,即如何管理仓库中...
  • JVM 内存分配及 GC 详解

    JVM中的内存使用方式,包括虚拟机内存区域的划分,Java对象分配时的处理原则和逻辑,以及我们日常开发中最需要关心的GC回收的策略和算法,是开发出拥有出色而稳定的Java软件产品所必须深刻理解的。从各种途径阅读到的讲解JVM内存管理,...
  • Java中Optional类的使用

    从 Java 8 引入的一个很有趣的特性是Optional类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。 本质上,这是一个包含有...
  • Java设计模式之工厂模式

    设计模式要求我们应该针对接口编程,而不是针对实现编程,所谓的针对实现编程指的就是我们代码中利用new实例的对象,当对象有变动时,我们也需要修改对应的类,违反开闭原则,也会使我们代码的耦合度变高,工厂模式的作用就是将实例化对象的过程交由...
  • Java 日期格式化工具类(兼容 Date 与 LocalDateTime)

    public class DateUtils { private static final String DEFAULT_DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; pub...
  • Spring Boot 实现对 Fat Jar jsp 的支持

    spring boot 对于jsp支持的限制 对于jsp的支持,Spring Boot官方只支持了war的打包方式,不支持fat jar。参考官方文档 这里spring boot官方说是tomcat的问题,实际上是spring boo...
  • MySql 数据误删除恢复

    在开发中,可能会遇到误删除数据库的问题,对于MySQL数据库来说,可以使用基于 binlog 的方式生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能。 在格式为 binlog 格式的日志模式下,不仅记录了数据库中曾经执...

热门问题