组合模式:如何设计实现支持递归遍历的文件系统目录树结构?
53 | 组合模式:如何设计实现支持递归遍历的文件系统目录树结构? 结构型设计模式就快要讲完了,还剩下两个不那么常用的:组合模式和享元模式。今天,我们来讲一下组合模式(CompositeDesignPattern)。 ...
53 | 组合模式:如何设计实现支持递归遍历的文件系统目录树结构? 结构型设计模式就快要讲完了,还剩下两个不那么常用的:组合模式和享元模式。今天,我们来讲一下组合模式(CompositeDesignPattern)。 ...
在中,我们讲到,对于程序员的编程能力,我们一般从数据结构和算法、设计模式这两个方面来考察。加餐六重点讲到了如何考察数据结构和算法,今天,我们重点讲讲,如何考察设计模式。 ...
ThreadLocalRandom原理解析 了解Random类 作用 用来获取随机数,提供nextInt(),nextLong()…api获取随机数 方法解析 先看一段代码 Random random = new Random(); for (int i = 0; i < 10; i++) { // 输出0~5的数 System.out.println("random = " + random.nextInt(5)); } 上面的意思就是循环10次,每次都是调用random对象的nextInt(5) 来获取[0,5)之间的数。 再来看下nextInt()方法 ...
规范与重构 了解重构 重构的目的:为什么要重构(why)? 重构的含义 重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低 重构的意义 首先,重构是时刻保证代码质量的一个极其有效的手段,不至于让代码腐化到无可救药的地步。 ...
并发编程中的锁 乐观锁与悲观锁 公平锁与非公平锁 独占锁与共享锁 什么是可重入锁 自旋锁