
Source Code
night field
https://nightfield.com.cn
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MyBatis内置DataSource的连接池实现原理
前言MyBatis是一个流行的ORM框架,它简单易用,支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。作为一款优秀的持久层框架,连接池是必不可少的。本文将分析MyBatis内置的数据源是如何实现连接池功能的(源码基于MyBatis3.4.5)。JDBC对数据库的操作回忆一下,我们用原生的JDBC来操作数据库的一般流程:public class JDBCExample { // JDBC driver name and dat原创 2020-12-12 14:29:19 · 1085 阅读 · 0 评论 -
深入理解ThreadLocal
前言并发是Java开发中绕不开的一个话题。现代处理器都是多核心,想要更好地榨干机器的性能,多线程编程是必不可少,所以,线程安全是每位Java Engineer的必修课。应对线程安全问题,可大致分为两种方式:同步: 用Synchronized关键字,或者用java.util.concurrent.locks.Lock工具类给临界资源加锁。避免资源争用: 将全局资源放在ThreadLoca...原创 2020-01-02 09:30:43 · 199 阅读 · 0 评论 -
Java四种引用类型详解
前言为了满足对不同情况的垃圾回收需求,从Java从版本1.2开始,引入了4种引用类型(其实是额外增加了三种)的概念。本文将详细介绍这四种引用。Java 4种引用类型Java中的4中引用类型分别为强引用(String Reference),软引用(Soft Reference),弱引用(Weak Reference)和虚引用(Phantom Reference)。概念及应用场景强引用:...原创 2020-01-01 23:48:10 · 702 阅读 · 1 评论 -
SimpleDateFormat线程安全问题深入解析
背景众所周知,Java中的SimpleDateFormat不是线程安全的,在多线程下会出现意想不到的问题。本文将解析SimpleDateFormat线程不安全的具体原因,从而加深对线程安全的理解。例子简单的测试代码,当多个线程同时调用parse方法的时候会出问题:public class SimpleDateFormatTest { private static SimpleDat...原创 2019-12-08 21:09:43 · 325 阅读 · 0 评论