摘要: count(1)和count(*): 都为统计所有记录数,包括null 执行效率上:当数据量1W+时count(*)用时较少,1w以内count(1)用时较少 count(字段): 统计字段列的行数,不包括null 若字段为主键则count(主键)效率最高,否则少量数据时使用count(1) 总结: 阅读全文
posted @ 2021-04-23 11:21 爱笑的小杰 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一、死锁案例 MySQL版本:Percona MySQL Server 5.7.19隔离级别:可重复读(RR)业务逻辑:并发下按某个索引字段先delete记录,再insert记录 比如: begin; delete from tb where order_id = xxx; insert into 阅读全文
posted @ 2021-04-23 11:14 爱笑的小杰 阅读(2987) 评论(1) 推荐(1) 编辑
摘要: 有关Redisson作为实现分布式锁,总的分3大模块来讲。 1、Redisson实现分布式锁原理 2、Redisson实现分布式锁的源码解析 3、Redisson实现分布式锁的项目代码(可以用于实际项目中) 本文只介绍Redisson如何实现分布式锁的原理。其它的会在接下来的博客讲,最后有关Redi 阅读全文
posted @ 2021-04-23 11:12 爱笑的小杰 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 上海-携程-16个Java高级面试题 1、描述一下 JVM 加载 Class 文件的原理机制? 2、什么是类加载器? 3.、类加载器有哪些? 4、什么是tomcat类加载机制? 5、类加载器双亲委派模型机制? 6、Java 内存分配? 7、Java 堆的结构是什么样子的? 8、简述各个版本内存区域的 阅读全文
posted @ 2021-04-23 11:11 爱笑的小杰 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1. 两者的大概背景BeanFactory: BeanFactory是spring中比较原始,比较古老的Factory。因为比较古老,所以BeanFactory无法支持spring插件,例如:AOP、Web应用等功能。 ApplicationContext ApplicationContext是Be 阅读全文
posted @ 2021-04-23 11:09 爱笑的小杰 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 平安产险–ai部门 redis各种应⽤场景a. 更多的数据结构;b. 可持久化;c. 计数器;d. 发布-订阅功能;e. 事务功能;f. 过期回调功能;g. 队列功能;h. 排序、聚合查询功能。redis持久化机制a. RDB:快照形式是直接把内存中的数据保存到⼀个 dump ⽂件中,定时保存,保存 阅读全文
posted @ 2021-04-23 10:55 爱笑的小杰 阅读(226) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/sd09044901guic/article/details/80132173 ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。 采用空间换时间,它用于线程间的数据隔离,为每一 阅读全文
posted @ 2021-04-06 14:46 爱笑的小杰 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: CountdownLatch和CyclicBarrier都属于线程同步的工具,不过具体的实现以及使用的情况有所不同,我们先来看看不同的使用情况 CountdownLatch 使用场景 顾名思义CountdownLatch可以当做一个计数器来使用,比如某线程需要等待其他几个线程都执行过某个时间节点后才 阅读全文
posted @ 2021-03-26 16:37 爱笑的小杰 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 1.什么是dubbo?Dubbo就是SOA服务治理方案的核心框架。用于分布式调用,其重点在于分布式的治理。 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合),比如表现层和业务层就需要解耦合。 从面向服务的角 阅读全文
posted @ 2021-03-26 14:18 爱笑的小杰 阅读(1056) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是线程池Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就 阅读全文
posted @ 2021-03-26 10:28 爱笑的小杰 阅读(554) 评论(0) 推荐(0) 编辑