Xiaowo

I Lay My Love On You~

排序:
默认
按更新时间
按访问量

Java处理InterruptedException

机制 在Java中,一个线程是不能终止另一个线程的,除非那个线程自己想退出,或者JVM退出了。 比如: Thread loop = new Thread( new Runnable() { @Override public void run() { whi...

2018-06-14 00:04:19

阅读数:16

评论数:0

Java并发编程:并发任务执行及结果获取

Executor:任务执行 Executor ExecutorService 任务生命周期管理 对任务提交方法的拓展 Future:未来对任务结果的获取 CompletionService:及时获取已完成任务的结果 Executor:任务执行 关系:Executor &am...

2018-06-13 17:54:25

阅读数:29

评论数:0

ThreadLocal原理及内存泄露预防

前言 原理 为什么key使用弱引用 内存泄露 线程池 参阅:http://www.importnew.com/22039.html 前言 ThreadLocal提供了线程独有的局部变量,可以在整个线程存活的过程中随时取用,极大地方便了一些逻辑的实现。常见的ThreadLo...

2018-05-24 13:38:21

阅读数:34

评论数:0

“树”据结构三:B树

前言 起源 问题 时间消耗 索引加速 B树 vs. 多级索引 定义 数据结构 参考 前言 之所以写“树”据结构这一系列的文章,就是因为有一天突然看到了一句话:心里要有B树……是的,做人心里要有B数,做程序员心里一定要有B树。 之前无论是在学校里学B树,还是自己看B树,总是...

2018-05-15 01:35:39

阅读数:30

评论数:0

“树”据结构二:AVL树

前言 定义 节点高度 平衡因子 算法 数据结构 二叉树的旋转 左旋转 右旋转 失衡类型及其调整 L-L L-R R-L R-R Rebalance 增 rebalance after add rotate left rotate right 删 rebalance afte...

2018-05-14 23:01:25

阅读数:22

评论数:0

“树”据结构一:二叉搜索树(Binary Search Tree, BST)

前言 定义 来源 算法 数据结构 查 遍历 增 删 总结 前言 想写两篇关于AVL树和B树的较为详细的介绍,发现需要先介绍二叉搜索树作为先导。 定义 二叉搜索树(Binary Search Thee, BST),也被称为二叉排序树(Binary Sort Tree, B...

2018-05-14 00:27:40

阅读数:30

评论数:0

Java IO的实现

从一个方法看javaIO: public byte[] compress(IWritable value) { if (value == null) return null; try { ByteArrayOutputStrea...

2018-04-20 14:44:01

阅读数:49

评论数:0

DelayQueue实现的Comparable接口

DelayQueue Comparable接口和Delayed接口 外话-线程池 外话-静态内部类DelayQueueDelayQueue是JDK对BlockingQueue接口的一种实现类。对于DelayQueue的介绍,可以参考一篇很不错的文章。Comparable接口和Delayed接口De...

2017-11-28 02:31:34

阅读数:129

评论数:1

对Java8中distinct()的思考

list的转map的另一种猜想 使用distinct给list去重 直接使用distinct失败 原因distinct依赖于equals 重写equals的注意事项 引申 结论 list的转map的另一种猜想Java8使用lambda表达式进行函数式编程可以对集合进行非常方便的操作。一个比较常见的...

2017-11-16 23:59:34

阅读数:951

评论数:0

mock

mock的由来一开始,没有mock的时候,人们测试的时候只能自己mock。比如需要一个PersonDao类的对象,其中有连接数据库查询数据库当前存储人数的方法getPersonNum()。但是可能因为数据库不存在等问题,其中的操作并不能正确执行,这时候一般:public PerSonDaoMock...

2017-10-25 22:45:02

阅读数:159

评论数:0

Spring xml配置文件头解析

最简洁xml文件头 详解 命名空间 头解析 模式内容Spring的xml配置虽然比较繁琐,不如推荐使用的注解方式简介,但是能读懂xml配置文件还是很重要的,尤其是对于一些老系统的维护,几乎不可避免要面对xml配置文件的问题。现在我们就从默认的xml文件头说起。最简洁xml文件头以下可谓是最简洁的s...

2017-10-20 03:17:42

阅读数:181

评论数:2

Java Map初始化的一个错误:new HashMap().put("a", "b");

今天在使用PowerMock进行代码测试用例编写的时候,需要新建一个map,当时脑一抽,写成了:Map<String, Object> testMap = new HashMap().put("a", "b");然后收到了IDE的友善提醒:Inc...

2017-09-16 19:34:53

阅读数:1183

评论数:0

Archlinux安装UEFI Grub

最近换了电脑,以前的老电脑使用的是旧BIOS架构启动,新电脑都变成了新的BIOS架构即UEFI启动(UEFI是新BIOS架构,自从UEFI出来之后,老的BIOS架构便被称为legacy),在安装grub时比之前稍微麻烦了一点。准备参考教程:https://wiki.archlinux.org/in...

2017-08-27 03:45:07

阅读数:2110

评论数:0

使用枚举实现单例模式

前言 单例模式的实现方式有多种,从最基础的非LazyLoad的懒汉式,到LazyLoad但需要双重检查的饿汉式,再到比较简单实现LazyLoad的静态内部类方式,均可实现单例模式。(忘了的可以查查资料:D 友情链接:http://blog.51cto.com/devbean/203501)不过...

2017-08-10 11:32:20

阅读数:241

评论数:0

Future/FutureTask & Callable/Runnable & Executor/ExecutorService/Executors

用途:笔记。 各类具体方法参阅JDK API。Callable/Runnable接口 Runnable用于实现线程。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该...

2017-07-31 17:03:01

阅读数:122

评论数:0

Java异常处理

Java的异常处理有两种方式: - 默默解决。使用try...catch。 - 甩锅。使用throw和throws。通常,我们喜欢用try/catch捕获异常,然后对异常进行处理。但是有时候,我们也会不予理会,直接将异常扔出去,让调用者自己去处理异常。当然对调用者来说,它也有两种同样的选择:自...

2017-07-28 14:02:35

阅读数:119

评论数:0

快速排序及优化(三路划分等)

快速排序, 是最经典的排序算法之一。快速排序拥有良好的时间复杂度,平均为O(nlog2n)O(nlog_{2}n),最差为O(n2)O(n^2)。在这里,我们不妨略略深入讨论一下快速排序:时间复杂度分析首先说平均时间复杂度。以比较常用的从两头进行扫描的算法为例,算法主要分两步: 1. 是快排的核...

2017-04-19 00:36:02

阅读数:2748

评论数:0

使用StrongSwan配置IPSec

使用StrongSwan对IPSec进行研究,是一种很好的理解IPSec的实践。然而StrongSwan在使用的过程中实在是有太多的坑,网上的教程也多有不完整的地方,几乎没有能彻彻底底说明白每一步的,导致我在使用StrongSwan的过程中各种抓耳挠腮。程序员自然要造福程序员,在这里特将Stron...

2017-03-22 13:55:38

阅读数:10982

评论数:2

C++ 输入输出运算符重载 感想

在C++中,经常会对输入输出运算符进行重载,而在重载的时候用到了友元(Friends)和引用返回(Returning References),这里对为什么会这么用发表一些思考。 比如,下面的类是一个简单的Student类,其中重载了<<和>>。// // Created ...

2017-03-14 17:39:29

阅读数:1134

评论数:0

操作系统(modifying)

操作系统OS对资源的管理,就是对硬件+软件两种资源的管理。 硬件:CPU+存储(主存)+设备 软件:文件(系统) 这就是操作系统的四个章节。进程线程单核达不到程序级并行,但可以达到指令级并行(pipeline)。进程基础概念: 目的:为了实现并发,要不然直接傻瓜调度就行了,就不需要进程了。...

2016-09-20 00:11:37

阅读数:1126

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭