spring|Java程序员必会的三个技能: Spring+MySQL+并发编程

文章图片

文章图片

文章图片

文章图片
并发编程、数据库和Spring , 我认为这个算程序员开发面试的都必须接触到的 。 作为面试的热点及难点 , 一直深受面试官青睐都是离不开的 。 今天就聊一聊一些经典的题目 , 让大家对Spring、MySQL、并发有一定清楚的认知 。 每天看一看 , 开发不困难 。一、并发编程
另外本人整理了20年面试题大全 , 包含spring、并发、数据库、Redis、分布式、dubbo、JVM、微服务等方面总结 , 下图是部分截图 , 需要的话关注小编后回复关键字“666”免费获取 。
1、Java 中实现多线程有几种方法
(1)继承 Thread 类;
(2)实现 Runnable 接口;
(3)实现 Callable 接口通过 FutureTask 包装器来创建 Thread 线程;
(4)使用 ExecutorService、Callable、Future 实现有返回结果的多线程(也就是使用了 ExecutorService 来管理前面的三种方式) 。
2、如何停止一个正在运行的线程
(1)使用退出标志 , 使线程正常退出 , 也就是当 run 方法完成后线程终止 。
(2)使用 stop 方法强行终止 , 但是不推荐这个方法 , 因为 stop 和 suspend 及 resume 一样都是过期作废的方法 。
(3)使用 interrupt 方法中断线程 。
class MyThread extends Thread { volatile Boolean stop = false; public void run() { while (!stop) {
System.out.println(getName() + \" is running\"); try { sleep(1000); catch (InterruptedException e) {
System.out.println(\"week up from blcok...\");
stop = true; // 在异常处理代码中修改共享变量的状态
System.out.println(getName() + \" is exiting...\"); class InterruptThreadDemo3 { public static void main(String[
args) throws InterruptedException {
MyThread m1 = new MyThread();
System.out.println(\"Starting thread...\");
m1.start();
Thread.sleep(3000);
m1.interrupt(); // 阻塞时退出阻塞状态
Thread.sleep(3000); // 主线程休眠 3 秒以便观察线程 m1 的中断情况
推荐阅读
- 计算机专业大一下学期,该选择学习Java还是Python
- 程序员为教师妻子开发应用:将iPhone变成文档摄像头
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 学习大数据是否需要学习JavaEE
- 悔哭!一程序员误把7500个比特币当垃圾扔掉,估算约2.4亿美元
- 2.4亿美元打水漂!程序员小哥把7500个比特币当垃圾扔掉 硬盘找不回
- 从事Java开发时发现基础差,是否应该选择辞职自学一段时间
- 2021年Java和Python的应用趋势会有什么变化?
- 程序员开发抢茅台脚本:2天就刷榜Github
- 为什么我喜欢C语言,却非常讨厌C++?一位国外程序员的回答
