IDEA导入新项目踩坑


 在用IDEA进行java开发的时候,可能因为更改工程名或者其他原因,需要重新导入项目,这时候经常会遇到大片代码飘红,并显示”Cannot resolve symbol XXX”的报错信息,目前主要有以下解决方案 (1) 首先检查项目的External Libraries,如果没有pom文件中添加的那些依赖,在Maven Projects视图中双击Lifecycle里的clean,然后点刷新...

阅读全文 »


数据库的事务隔离级别


 数据库中的事务有四大特性(ACID),换句话说如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性...

阅读全文 »


Timsort算法浅析


 上一篇谈到的双轴快排,是Arrays对八种基本类型进行排序的算法,针对其它的对象类型,JDK1.6及以前的版本使用的是归并排序,从JDK1.7开始,默认情况下会采用Timsort排序算法,而Collections.sort实际上也是调用Arrays.sort方法。现实中的大多数据通常是有部分已经排好序的,该算法利用这一特点提升了排序效率,下面将跟随JDK1.8源码,对Timsort的实现进...

阅读全文 »


双轴快排原理解析


 快速排序使用的是分治思想,将原问题分成若干个子问题进行递归解决。选择一个元素作为轴(pivot),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比轴元素小,另外一部分的所有数据都比轴元素大,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 双轴快排(DualPivotQuicksort),顾名思义有两个轴元素piv...

阅读全文 »


20180630万米测试


 六月份天气开始炎热,按照计划这个月是备战北马的第一阶段。我选择采用MAF慢跑来提升有氧能力,为接下来的进阶训练和强化训练打好基础。整个月以12公里左右的有氧轻松跑为主,配速530到550不等,状态也是随着训练慢慢提升。 今天的万米测试,旨在检验第一阶段的训练效果,以便制定更合理的比赛目标和备战计划。时间定在气温相对较低的清晨(其实也是热成狗),地点在农大西区的操场,装备了虎走5和新入不久的...

阅读全文 »


基于junit的多线程单元测试


背景 用Spring的线程池调度器ThreadPoolTaskScheduler进行多线程的调度。问题 在main方法中正常运行,然而用junit进行单元测试的时候,子线程并没有按照预设的情况执行,并且出现以下信息:support.GenericWebApplicationContext: Closing org.springframework.web.context.support.G...

阅读全文 »


github博客新篇章


 端午假期迎来一个难得的休息机会,突然想起自己还没有一个可以写东西的空间。早上心血来潮,在github上新建了一个仓库,于是正式开启自己的博客生涯。 我写博客的初心,是想记录在技术学习中的感悟。将来再回来看的时候,一定还会有新的收获。明末文学家张岱在《陶庵梦忆》中有说到,“人无癖不可交也,以其无深情也;人无疵不可与之交,以其无真气也。”也许我的嗜好就是长跑,所以跑步也是博文的题材之一。 在我...

阅读全文 »