组合模式:如何设计实现支持递归遍历的文件系统目录树结构?

53 | 组合模式:如何设计实现支持递归遍历的文件系统目录树结构? 结构型设计模式就快要讲完了,还剩下两个不那么常用的:组合模式和享元模式。今天,我们来讲一下组合模式(CompositeDesignPattern)。 ...

May 21, 2022 · 11 min

作为面试官或候选人,如何面试或回答设计模式问题?

在中,我们讲到,对于程序员的编程能力,我们一般从数据结构和算法、设计模式这两个方面来考察。加餐六重点讲到了如何考察数据结构和算法,今天,我们重点讲讲,如何考察设计模式。 ...

May 21, 2022 · 6 min

ThreadLocalRandom原理解析

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()方法 ...

May 13, 2022 · 5 min

规范与重构

规范与重构 了解重构 重构的目的:为什么要重构(why)? 重构的含义 重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低 重构的意义 首先,重构是时刻保证代码质量的一个极其有效的手段,不至于让代码腐化到无可救药的地步。 ...

May 9, 2022 · 6 min

锁的了解

并发编程中的锁 乐观锁与悲观锁 公平锁与非公平锁 独占锁与共享锁 什么是可重入锁 自旋锁

May 5, 2022 · 1 min
总访问量 总访客数