本文目录
- 写在前面
- 试题总览
- 1、java集合
- 2、创建线程的方式
- 3、对spring的理解
- 4、Spring Boot 和传统 Spring 框架的一些区别
- 5、springboot如何解决循环依赖
- 6、对mybatis的理解
- 7、缓存三兄弟
- 8、接口响应慢的处理思路
- 9、http的状态码
写在前面
试题总览
1、java集合
2、创建线程的方式
1、继承 Thread 类:定义一个类继承自 Thread 类,并重写其 run() 方法来定义线程执行的任务。然后创建该类的实例并调用 start() 方法启动线程
class MyThread extends Thread {
public void run() {
// 线程执行的任务
}
}
MyThread thread = new MyThread();
thread.start();
2、实现 Runnable 接口:定义一个实现了 Runnable 接口的类,实现接口中的 run() 方法来定义线程执行的任务。然后将该实现类的实例传递给 Thread 类的构造函数,并调用 start() 方法启动线程。
class MyRunnable implements Runnable {
public void run() {
// 线程执行的任务
}
}
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
3、使用匿名内部类:可以通过匿名内部类的方式实现 Runnable 接口,简化代码编写。
Runnable myRunnable = new Runnable() {
public void run() {
// 线程执行的任务
}
};
Thread thread = new Thread(myRunnable);
thread.start();
4、使用 Lambda 表达式:Java 8 引入的 Lambda 表达式可以进一步简化线程创建的代码。
Runnable myRunnable = () -> {
// 线程执行的任务
};
Thread thread = new Thread(myRunnable);
thread.start();
3、对spring的理解
4、Spring Boot 和传统 Spring 框架的一些区别
5、springboot如何解决循环依赖
通过这种方式,Spring 能够在遇到循环依赖时,仍然能够正常创建和管理 bean 实例。
6、对mybatis的理解
7、缓存三兄弟
8、接口响应慢的处理思路
9、http的状态码
100 Continue:服务器已经收到请求头,并且客户端应该继续发送请求体。
101 Switching Protocols:服务器正在切换协议,例如切换到 WebSocket。
200 OK:请求成功。
201 Created:请求已创建新资源。
204 No Content:服务器成功处理请求,但不返回任何内容。
301 Moved Permanently:永久重定向。
302 Found:临时重定向。
304 Not Modified:资源未修改,可使用缓存的版本。
400 Bad Request:请求无效。
401 Unauthorized:未授权。
403 Forbidden:禁止访问。
404 Not Found:资源未找到。
500 Internal Server Error:服务器内部错误。
502 Bad Gateway:网关错误。
503 Service Unavailable:服务不可用。
504 Gateway Timeout:网关超时。