![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 50
经典面试题
daidavid_csdn
java开发
展开
-
Redis单线程为什么还能这么快
内存、命令执行单线程、IO多路复用、全局hash表及高效数据存储结构原创 2022-12-22 17:28:41 · 973 阅读 · 1 评论 -
Redis到底是单线程还是多线程
网络请求模块和数据操作模块是单线程的原创 2022-12-22 17:17:33 · 1021 阅读 · 0 评论 -
java中自动装箱和自动拆箱
自动拆箱装箱原创 2021-11-18 10:10:16 · 1439 阅读 · 0 评论 -
Springboot常用注解及配置文件加载顺序
Springboot常用注解及底层实现1、@SpringBootApplication:这个注解标识了一个SpringBoot工程,她实际上是另外三个注解的组合,分别是: @SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有一个@Configuration,把该类变成一个配置类,表示启动类也是一个配置类; @EnableAutoConfiguration:是开启自动配置的功能,向Spring容器中导入了一...原创 2021-11-12 17:13:28 · 3639 阅读 · 0 评论 -
Spring事务失效的几种场景及事务是如何实现的
1、没有被Spring管理不是被Spring管理的Bean中的方法,@Transactional不会生效2、Transactional修饰的方法不是public的如果必须用在public方法上,需要开启AspectJ代理模式3、自身调用的问题类调用了该类自己的方法,而没有经过Spring的代理类,默认只有在外部调用事务才会生效。public void aMethod(Order o){ update(o);}@Transactionalpublic void upd原创 2021-11-11 17:27:23 · 2457 阅读 · 0 评论 -
HTTP请求与跨域
浏览器发出一个请求到收到响应经历了哪些步骤1、浏览器解析用户输入的URL,生成一个HTTP格式的请求;2、先根据URL域名从本地hosts文件查找是否有映射IP,如果没有就将域名发送给电脑配置的DNS进行域名解析,得到IP地址;3、浏览器通过操作系统将请求通过四层网络协议发送出去;4、途中可能会经过各种路由器、交换机,最终到达服务器;5、服务器接收到请求后,根据请求所指定的端口,将请求传递给绑定了该端口的应用程序,如tomcat;6、tomcat接收请求数据后,按照http协议的格式原创 2021-11-11 17:06:50 · 4882 阅读 · 0 评论 -
Java内存区域
JVM的主要组成部分及其作用概括的讲包含两个子系统和两个组件,分别是类加载子系统、执行引擎及运行时数据区、本地接口类加载:根据给定的全限定类名装载class文件到运行时数据区的方法区中执行引擎:执行class中的指令本地接口:与native library交互,是与其他编程语言交互的接口运行时数据区:即JVM内存首先编译器把Java代码转换成字节码,类加载器再把字节码加载到内存中,将其放到运行时数据区的方法区内;字节码文...原创 2021-10-30 07:18:58 · 867 阅读 · 0 评论 -
消息队列、死信队列、延时队列、kafka、消息可靠性传输
消息队列的作用1、解耦:使用消息队列来作为两个系统之间的通讯方式,两个系统不需要相互依赖;2、异步:系统A给消息队列发送完消息后,就可以继续做其他事情了;3、流量削峰:如果使用消息队列的方式来调用某个系统,那么消息将在队列中排队,由消费者自己控制消费速度。死信队列、延时队列死信队列:也是一个消息队列,用来存放那些没有成功消费的消息的,通常可以用来作为消息重试延时队列:用来存放需要在指定时间被处理的元素的队列,通常可以用来处理一些具有过期性操作的业务,比如十分钟内未支付则取消订单K原创 2021-10-27 14:41:26 · 1503 阅读 · 0 评论 -
mysql索引、最左前缀、事务、锁、慢查询
索引覆盖SQL在执行时,需要查询的字段在当前索引对应的字段中都包含了,那么表示此SQL走完索引后不用回表了,所需要的字段都在当前索引的叶子节点上存在。最左前缀原则当一个SQL想要利用索引,就一定要提供该索引所对应的字段中最左边的字段,这样才能用到联合索引;这是由于在建立联合索引时,底层B+树是按照字段从左到右去比较大小进行排序的,所以想利用B+树进行快速查找也得符合这个规则。Innodb是如何实现事务的Innodb通过Buffer Pool,LogBuffer,Redo Log.原创 2021-10-27 14:12:34 · 836 阅读 · 0 评论 -
Redis数据结构、分布式锁、穿透、击穿、雪崩、数据一致性及主从同步
Redis有哪些数据结构及典型应用场景1、字符串:可以缓存简单的字符串,也可以缓存json格式的字符串,redis分布式锁,计数器,Session共享,分布式ID。2、哈希表:key-value,存储对象。3、列表:列表通过命令的组合,既可以当做栈,也可以做队列来使用,可以缓存类似微信公众号、微博等消息流数据。4、集合:类似列表,可存储多个元素,不可重复,集合可进行交集、并集、差集操作,实现共同关注、朋友圈点赞等功能。5、有序集合:集合是无序的,有序集合可以设置顺序,实现排行榜功能R原创 2021-10-26 20:07:40 · 883 阅读 · 0 评论 -
SpringCloud组件、与dubbo区别及服务雪崩、限流和熔断的概念
Spring Cloud常用组件及作用?Eureka:注册中心Nacos:注册中心、配置中心Consul:注册中心、配置中心Spring Cloud Config:配置中心Feign/OpenFeign:RPC调用Kong:服务网关Zuul:服务网关Spring Cloud Gateway:服务网关Ribbon:负载均衡Spring Cloud Sleuth:链路追踪Zipkin:链路追踪Seata:分布式事务Dubbo:RPC调用Sentinel:服原创 2021-10-26 17:07:16 · 1015 阅读 · 0 评论 -
Spring事务实现及失效场景
Spring中的事务是如何实现的?1、Spring事务底层是基于数据库事务和AOP机制的2、首先对于使用了@Transactional注解的Bean,Spring会创建一个代理对象作为Bean,当调用代理对象方法时,会先判断该方法上是否加了@Transactional注解,如果加了,那么利用事务管理器创建一个数据库连接并且修改数据库连接的autocommit属性为false,禁止此连接的自动提交。3、然后执行当前方法,执行完成后,如果没有出现异常就直接提交事务,如果出现异常,且这个异常是需要回滚原创 2021-10-26 11:30:10 · 953 阅读 · 0 评论