场景手撕题——待完成
1、手写线程池(实现一个简易线程池)
2、生产者-消费者模型:例如一个厨子4s生产一个,一个客人10s消费一个
3、单例模式:懒汉,饿汉,双重校验锁
4、动态代理
5、手写一个HashMap,HashSet
6、有一个0-4的随机器rand4,如何实现0-6的随机器rand6,概率相同。拓展:rand X = func(rand Y),实现func函数
7、判断今天星期几
import java.time.LocalDate;
import java.time.DayOfWeek;
public class DayOfWeekExample {
public static void main(String[] args) {
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取今天是星期几
DayOfWeek dayOfWeek = today.getDayOfWeek();
// 输出星期几(英文)
System.out.println("Today is: " + dayOfWeek);
// 如果需要输出中文的星期几
String[] chineseWeekdays = {"星期一", "星期二", "星期三", "星期四",
"星期五", "星期六", "星期日"};
int dayValue = dayOfWeek.getValue(); // 1 表示星期一,7 表示星期日
System.out.println("今天是: " + chineseWeekdays[dayValue - 1]);
}
}
8、求YYYY-MM-DD的上一天
9、两个线程和队列模拟TCP三次握手
