目录
1.线程的基础知识
1.线程与进程的区别?
2.并行与并发的区别?
3.创建线程的方式有哪些?
4.线程包括哪些状态?状态之间是如何变化的?
5.T1,T2,T3三个线程新建完毕后,如何保证他们按顺序执行?
notify()和notifyAll()有什么区别?编辑
编辑
6.java中的wait和sleep方法的不同?编辑
7.如何停止一个正在运行的线程?
2.线程中的并发安全
1.synchronized关键字的底层原理
3.设计模式?编辑编辑编辑 编辑
4.常见的技术场景?
1.单点登录这块怎么实现
权限认证怎么实现?
上传数据的安全性怎么控制?
你在项目中遇到了哪些比较棘手的问题?
1.线程的基础知识
1.线程与进程的区别?
2.并行与并发的区别?
3.创建线程的方式有哪些?
需要获得线程的返回值就是和用实现callable方法。
4.线程包括哪些状态?状态之间是如何变化的?
5.T1,T2,T3三个线程新建完毕后,如何保证他们按顺序执行?
notify()和notifyAll()有什么区别?
T1进入等待。
T2也进入等待
随机唤醒T1,T2中的一个
唤醒所有在wait中的线程:
6.java中的wait和sleep方法的不同?
两个代码块用同一把锁,第一个调用wait后进入阻塞释放对象锁,第二个代码块就会执行。
对于sleep而言就不会释放锁,它放弃了CPU,其他线程也无法使用。
7.如何停止一个正在运行的线程?
第一个方法:将t1线程的flag在主线程修改成true那么run方法就执行完了。
调用t2.interrupt可以使得interrupted这个变量(默认是false)变成true。这个方法和第一种差不多,都是改变标志告诉线程你该结束了。
2.线程中的并发安全
1.synchronized关键字的底层原理
3.设计模式?


对修改关闭,对拓展开放。
4.常见的技术场景?
1.单点登录这块怎么实现
权限认证怎么实现?
上传数据的安全性怎么控制?
前端传数据到后台时有可能会被拦截,请问如何解决?