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 的中断情况
- 文件系统(02):基于SpringBoot管理Xml和CSV
- SpringBoot2.x入门到项目实战课程系列(第二章)
- Java基础知识回顾,还记得吗?
- mybatis sharding-jdbc Java8日期
- 树莓派控制步进电机-TB6600-Java版本
- SpringBoot集成Mybatis
- 德州点创教育JavaScript正则表达式授课大纲
- 如何编写JAVA小白第一个程序
- 大牛深入解析SpringBoot核心运行原理和运作原理源码
- SpringBoot写后端接口,看这一篇就够了