![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
Java小天才
这个作者很懒,什么都没留下…
展开
-
面试官:为什么 Spring Boot 的 jar 可以直接运行?
Spring Boot Loader抽象的一些类 JarLauncher的执行过程 关于自定义的类加载器LaunchedURLClassLoader Spring Boot Loader的作用SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。在pom文件里加入这个插件即可:<build> <plugins> <plugin> <g.转载 2020-05-15 21:03:18 · 222 阅读 · 0 评论 -
被裁员后:三个月含泪啃完了1111道面试解析,再入职腾讯年薪45万
一个小伙伴最近参加某一线互联网公司的面试,被问到了一些并发相关的问题,看看大家能否答出来:(1)synchronized的CPU原语级别是如何实现的?(2)无锁、偏向锁、轻量级锁、重量级锁有什么差别,升级过程如何?(3)线程间通信,同机器进程间通信,跨机器进程间通信,各有什么方法?(4)下列三种业务,应该如何使用线程池: 高并发、任务执行时间短的业务 并发不高、任务执行时间长的业务 并发高、业务执行时间长的业务 (5)秒杀系统,如何能够撑住100W级别TPS..原创 2020-05-14 15:01:16 · 807 阅读 · 0 评论 -
面试必问:如何检测并避免 Java 中的死锁?
经典但核心Java面试问题之一。如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败。如何避免 Java 线程死锁?这是Java面试的热门问题之一, 也是多线程的编程中的重口味之一, 主要在招高级程序员时容易被问到, 且有很多后续问题。尽管问题看起来非常基本, 但大多数 Java 开发人员一旦你开始深入, 就会陷入困境。面试问题总是以“什么是死锁?”开始当两个或多个线程在等待彼此释放所需的资源(锁定)并陷入无限等待即是死锁。它仅在多任务或多线程的情况下发生。如何检测转载 2020-05-13 21:23:31 · 470 阅读 · 0 评论 -
如何优雅地中止线程?
错误的线程中止 - stop首先来讲解一个错误的方式来中止线程 —stop:中止线程,并且清除监控器锁的信息,但是可能导致线程安全问题,JDK 不建议使用,类似的方法还有 destory,由于 JDK 从未实现该方法,在这里就不介绍了。接下来通过一段程序来讲解为什么stop会导致线程安全问题?首先定义一个线程类StopThread:public class StopThread extends Thread { private int i = 0; private ...转载 2020-05-11 16:29:57 · 125 阅读 · 0 评论 -
百度资深架构师详谈:缓存雪崩,缓存穿透,缓存击穿
缓存雪崩出现过程:假设有如下一个系统,高峰期请求为5000次/秒,4000次走了缓存,只有1000次落到了数据库上,数据库每秒1000的并发是一个正常的指标,完全可以正常工作,但如果缓存宕机了,或者缓存设置了相同的过期时间,导致缓存在同一时刻同时失效,每秒5000次的请求会全部落到数据库上,数据库立马就死掉了,因为数据库一秒最多抗2000个请求,如果DBA重启数据库,立马又会被新的请求...转载 2020-05-07 20:48:24 · 176 阅读 · 0 评论 -
Tomcat 是如何管理Session的?
概述学了ConcurrentHashMap却不知如何应用?用了Tomcat的Session却不知其是如何实现的,Session是怎么被创建和销毁的?往下看你就知道了。Session结构不多废话,直接上图仔细观察上图,我们可以得出以下结论HttpSession是JavaEE标准中操作Session的接口类,因此我们实际上操作的是StandardSessionFacade...转载 2020-05-07 18:26:51 · 879 阅读 · 1 评论 -
分布式限流学不动了?我教你
一、限流在高并发系统中,需要使用多种方式来保护系统,例如:缓存,目的是提升系统访问速度,增大系统处理能力。降级,当服务器压力剧增的时候,根据实际业务情况,对某些服务或者页面有策略的不处理或者简单处理,从而释放服务器资源,以保证核心业务正常运行,通过牺牲局部利益来保证全局利益。限流,目的是通过对请求进行限速来保护系统,如果达到限速值就可以采取一定的手段,例如拒绝服务、排队、等待。所以...转载 2020-05-06 17:18:48 · 175 阅读 · 0 评论 -
阿里大牛手把手教你,如何解决Redis并发竞争key问题!
1.问题描述并发竞争key这个问题简单讲就是:同时有多个客户端去set一个key。示例场景 1例如有多个请求一起去对某个商品减库存,通常操作流程是:取出当前库存值计算新库存值写入新库存值假设当前库存值为 20,现在有2个连接都要减 5,结果库存值应该是 10 才对,但存在下面这种情况:示例场景 2比如有3个请求有序的修改某个key,按正常顺序的话,数据版本应该是 1...转载 2020-05-06 16:57:42 · 183 阅读 · 0 评论 -
分布式事务方案 - TCC
TCC是支付宝提出的分布式事务解决方案,是 try、confirm、cancel 的缩写。与2PC二阶段提交机制类似,区别在于层面不同,2PC是在数据库层面解决数据库之间的分布式事务,TCC是在应用层面解决分布式系统中的分布式事务。工作流程每个分布式事务的参与者都需要实现3个接口:try、confirm、cancel(confirm 对应2PC的事务提交,cancel 对应2PC的事务回滚)...转载 2020-05-04 22:23:58 · 333 阅读 · 0 评论