面试题-2022年3月整理
文章平均质量分 92
面试题-2022年3月整理
bat在等我
这个作者很懒,什么都没留下…
展开
-
5月13号-欣悦
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节。此次查询只需要掌握mysql中show status,show processlist命令,以及命令mysqladmin。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)不论是单个参数,还是多个参数,一律都建议使用注解@Param(“”)能用 #{} 的地方就用 #{},不用或少用 ${}原创 2022-12-12 23:12:02 · 233 阅读 · 0 评论 -
07 线程相关
1. 线程都有那些状态?创建线程的4种方式1.2 六种状态六种创建可运行等待计时等待阻塞中止1.3 四种创建方式几种方式的对比继承Thread:优势:编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程劣势:线程类已经继承了Thread类,所以不能再继承其他父类实现Runnable接口或者Callable接口优势:还可以继续继承别的父类;多个线程可以共享同一个target对象,所以非常适合原创 2022-03-03 14:29:51 · 88 阅读 · 0 评论 -
08 Spring Cloud
1. SpringCloud介绍SpringColud指的是微服务架构的一套技术栈;主要有以下八个技术点:Eureka:服务的注册和发现Ribbon:服务之间的负载均衡Feign:服务之间的调用Hystrix:服务的线程隔离以及断路器Zuul:服务网关Stream:实现MQ的使用Config:动态配置Sleuth:服务链路追踪2. Eureka-服务注册中心Eureka主要由两部分组成:Eureka Server:Eureka服务注册中心,主要提供服务注册的功能微服务原创 2022-03-03 16:55:49 · 242 阅读 · 0 评论 -
06 RabbitMQ
1. RabbitMQ中的消费方式1.1 Hello-World 简单模式一个生产者,一个默认的交换机,一个队列,一个消费者1. 2 Work Queue 工作队列模式一个生产者,一个默认的交换机,一个队列,多个消费者由于只有一个队列,且一个队列中的消息只能被一个消费者消费,会造成消息竞争应用场景:抢红包资源任务调度1.3 Publish/subscribe 发布订阅模式一个生产者,一个Fanout类型交换机,多个队列,每个队列绑定一个消费者Fanout类型的交换机会原创 2022-03-02 18:06:33 · 1495 阅读 · 0 评论 -
05 Redis
1. Redis原理为什么Redis是单线程,但却很快?单线程,避免了线程之间的竞争数据都在内存中,内存比硬盘快使用了IO多路复用模型,将连接信息和时间放到了队列中,由时间分派器分配运行结果,类似NIO中的Seletor2. Redis中的数据类型key-String:Redis中字符串长度动态可变;数据结构内部实现类似于ArrayList,采用预分配冗余内存空间的方式来避免内存的频繁分配可缓存结构体信息,可以存放字符,也可以存放jbp图片虽然客户端是多线程的,但是redis原创 2022-03-01 16:38:09 · 346 阅读 · 0 评论 -
04 数据库及其事务
1. 事务的四个特性原子性一致性隔离性持久性2. 四个隔离等级及其可能引起的问题2.1 四个隔离等级读未提交:可能导致脏读读已提交:导致不可重复读;Oracle、Sql Server默认可重复读:导致幻读;MySql默认序列化:效率很低,但不会出错2.2 脏读、不可重复读、幻读**脏读:**假如事务A开始执行更新,同时B也开始执行查询,在A更新之前,B读到了还没有更新的数据,此时就是脏读。由于A还没有提交,B读到的属于脏数据,此时就是脏读**不可重复读:**事务原创 2022-02-28 15:23:24 · 445 阅读 · 0 评论 -
03 spring boot
1. SpringBoot启动流程从启动main方法开始初始化配置:通过类加载器,读取配置文件创建应用程序上下文:创建Bean工厂对象刷新上下文(启动过程中的核心!!!)配置Bean工厂对象注册并实例化Bean工厂发布处理器,并且调用这些处理器,对包扫描解析注册并实例化Bean发布处理器初始化一些与上下文有特别关系的Bean对象(创建Tomcat处理器)实例化所有Bean工厂缓存的Bean对象发布通知-通知上下文刷新完成(启动Tomcat处理器)通知监听者,启动程序完成启原创 2022-02-27 02:36:45 · 89 阅读 · 0 评论 -
02 spring
1. 什么是Spring IOCIOCIOC即控制反转-Inversion of Control,并不是什么技术,而是一种设计思想;在Spring中,对象的创建是由IOC容器来完成的,IOC容器负责创建对象、管理对象(通过依赖注入DI)、装配对象、配置对象,并且管理这些对象的整个的生命周期正转就是我们手动在程序中new出来的对象,程序需要依赖某个对象,我们就手动创建DIDI即依赖注入-Dependency Injection,比如某个service层类需要调用数据库即mapper层的一个对象原创 2022-02-26 02:56:17 · 221 阅读 · 0 评论 -
01 Java基础
1. Java的内存模型1.1 JVM内存模型jvm内存模型主要分为五个区域,分别是:一个计数器两个栈一个区一个堆,一器两栈一堆一区程序计数器:记录当前线程执行到的字节码的行号虚拟机栈:存放方法运行时需要的数据例如局部变量,称为栈桢本地方法栈:可以理解为方法在这里注册的,虚拟机栈是为了方法能够执行,本地方法栈是为了能够执行方法方法区:线程共享,存放运行时常量池、已被虚拟机加载过的类信息、静态常量等堆:存储实例变量(成员变量)1.2 元空间和永久代Metaspace元空间永久代原创 2022-02-24 16:06:14 · 399 阅读 · 3 评论