手写代码实战题

1. 手写快排

见排序算法汇总

2. 手写归并

见排序算法汇总

3. 手写堆排

见排序算法汇总

4. 手写单例

public class Singleton {
	private volatile static Singleton singleton;
 	private Singleton() {}
 	public static Singleton getSingleton() {
 		if (singleton == null) {
 			synchronized (Singleton.class) {
 				//防止加锁的时候其他线程已经创建对象,所以加锁后多判断一次
 				if (singleton == null) {
 					singleton = new Singleton();
 				}
 			}
 		}
 		return singleton;
 	}
}

见单例设计模式

5. 手写LRUcache
设计一个链表,每次查询和新写入的都重新插入队尾,每次队列满的时候都删除对头,这样就保证了最不常使用的最先被删除了。

6. 手写线程池

见手写线程池(Java)

7. 手写消费者生产者模式
见记某一次某大厂面试的实时笔试题
见手写消费者生产者模式

8.手写阻塞队列
见手写阻塞队列(java)

9. 手写多线程交替打印ABC
见手写多线程交替打印ABC

10. 交替打印FooBar
见交替打印FooBar

你可能感兴趣的:(java)