tech

在写DAO层的单元测试时,用mock的写法意义不大,因为基本上测不出什么东西,但如果采用真实的数据库又会有一些问题:

  1. 测试可能会干扰到真实的数据。
  2. 即使使用不同的库来解决上述问题,也要求测试环境预先配置好数据库,不方便CI/CD。

所以相比使用和生产环境相同的数据库,可以采用H2数据库来写单元测试。

阅读更多

关于线程安全,有这么一段描述:

A class is thread-safe if it behaves correctly when accessed from multiple threads, regardless of the scheduling or interleaving of the execution of those threads by the runtime environment, and with no additional synchronization or other coordination on the part of the calling code.

即在多线程的环境下,无论线程如何被调度,线程间有怎样的交错,程序都能表现出正确的行为。

但仔细研究ArrayList的源码就会发现,它并不满足这一描述。

阅读更多

在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的错误代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Singleton {
private static Singleton uniqueSingleton;

private Singleton() {
}

public Singleton getInstance() {
if (null == uniqueSingleton) {
uniqueSingleton = new Singleton();
}
return uniqueSingleton;
}
}

阅读更多

因为想自己搭建博客又不想自己托管(不稳定,数据易丢,需自己处理扩容),所以这段时间研究了一下平台托管的博客,大概有两类方案:

  • WordPress.com(不是WordPress.org)
  • 静态博客生成器+托管平台

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×