上午
7:30-8:00学习打卡
9:00-12:00写项目
一直出现问题,在fxml的控制类里的构造器中初始化的变量在初始化方法中指向为空
下午
2:00-5:00写项目,改上午遇到的问题,学习线程池
问了一下同学,好像是因为初始化方法初始化的是界面那一块,所以才没有放进去,奇奇怪怪的,后面将账号存到SelfUser类里才解决,为了确保SelfUser类里的数据不丢失,将SelfUser类写成了单例类
//创建单列类的主要代码
private static SelfUser selfUser=null;
//构造器私有,确保其他类不能通过调用构造器来创建该类
private SelfUser(){
}
public static SelfUser getSelfUser(){
//若不存在该类的实例对象,则创建
if(selfUser==null){
selfUser=new SelfUser();
}
//返回该类的实例对象
return selfUser;
}
晚上
7:00-8:30学习线程池
线程池的底层为阻塞队列
入队 | 出队 | |
---|---|---|
阻塞队列 | 当队列满了的时候,进行等待,什么时候队列中有出队的数据,再将其放入 | 等待什么时候放进去,再取出来 |
非阻塞队列 | 当队列满了的时候,放入数据,数据丢失 | 如果现在队列中没有元素,取数据,得到的是null |
在高并发系统中使用线程池
线程只需要运行,不会新建、就绪和销毁