摘要: 一、Spring事务的7种传播行为 如果将这7中行为进行分类的话,可按照是否支持当前事务来分为一下三类 A. 支持当前事务 1. TransactionDefinition.PROPAGATION_REQUIRED 如果当前存在事务,则加入该事务;如果不存在则创建新事务 2. Transaction 阅读全文
posted @ 2020-09-12 09:25 _dafeng 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 在工作中经常能遇到索引失效的情况,只要索引失效就导致了SQL查询慢,服务响应慢,用户体验差的情况;所以下面我们就讨论一下MySQL中索引失效的情况 口诀 全职匹配我最爱,最左前缀要遵守; 带头大哥不能死,中间兄弟不能断; 索引列上少计算,范围之后全失效; LIKE百分写最右,覆盖索引无所谓; 不等空 阅读全文
posted @ 2020-09-09 20:43 _dafeng 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 1. AQS介绍 AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。 AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Sem 阅读全文
posted @ 2020-08-07 22:21 _dafeng 阅读(205) 评论(0) 推荐(0) 编辑
摘要: HashMap的源码应该是我看过最多变的JDK源码,没有之一,自己也写过一些帖子来记录自己的感悟,虽然其中涉及数据结构以及实现方式也都有所掌握,但是每次看都有不一样的收获,尤其是源码作者的编码思路以及对极致性能的追求。 最近又温习了一边,结果在网上无意间发现了一片堪称史上最详细的源码解析,特留此贴: 阅读全文
posted @ 2020-08-05 19:48 _dafeng 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 看过HashMap源码的人可能都用印象,就是hashMap的哈希表长度可以由自己指定也可以不指定使用默认长度,但是如果在了解或者发现tableSizeFor方法的话,你就会知道此方法会改变我们的输入长度 (如果我们输入15,他会改为16),那么他为什么要修改我们设置的长度,以及修改后有什么作用?带着 阅读全文
posted @ 2020-08-02 22:23 _dafeng 阅读(1542) 评论(0) 推荐(0) 编辑
摘要: 有Java编程经验的程序员应该都知道: Java程序是运行在JVM(Java虚拟机)上的,在开发程序之前都要配置Java开发环境,其中首先要做的就是JDK的安装和配置,打开安装路径后又发现有个包是JRE; 那么JDK、JRE、JVM 到底有何联系和区别呢?想必并不是每一个程序员都能说得清楚的,本文接 阅读全文
posted @ 2020-08-02 21:57 _dafeng 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 线程在一定条件下,状态会发生变化。线程一共有以下几种状态: 新建状态(New):新创建了一个线程对象。 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其 阅读全文
posted @ 2020-08-01 10:49 _dafeng 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 原文地址: https://www.cnblogs.com/ironHead-cjj/p/11366888.html 阅读全文
posted @ 2020-07-30 21:50 _dafeng 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 该文章为转载(原文链接在结尾),虽然篇幅偏长,但是却能使你真正理解hashCode和queals各自的作用以及之间的联系,尤其是第四部分,读完肯定会让你有所收获。 第1部分 equals() 的作用 equals() 的作用是 用来判断两个对象是否相等。 equals() 定义在JDK的Object 阅读全文
posted @ 2020-07-30 21:41 _dafeng 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 最近项目需求需要用到操作Excel的功能,之前使用POI实现,但是数据量大了之后支持不是很好,所以就在网上找找资源,果不其然,如下: 原文链接:没想到啊,Java操作Excel竟然这么简单! 阅读全文
posted @ 2020-06-21 21:16 _dafeng 阅读(196) 评论(0) 推荐(0) 编辑