上一页 1 2 3 4 5 6 ··· 38 下一页
摘要: 【转载】 基于Zookeeper的分布式锁与领导选举 原创文章,转载请务必将下面这段话置于文章开头处。 本文转发自技术世界,原文链接 http://www.jasongj.com/zookeeper/distributedlock/ Zookeeper特点 Zookeeper节点类型 如上文《Zoo 阅读全文
posted @ 2023-02-03 23:05 hongdada 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 【转载】Zookeeper架构及FastLeaderElection机制 本文介绍了Zookeeper的架构,并组合实例分析了原子广播(ZAB)协议的原理,包括但不限于Zookeeper的读写流程,FastLeaderElection算法的原理,ZAB如何保证Leader Failover过程中的数 阅读全文
posted @ 2023-02-03 13:05 hongdada 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 秒杀商品设计 前端限制 前端控制,不能重复点击 精简sql 典型的一个场景是在进行扣减库存的时候,传统的做法是先查询库存,再去update。 这样的话需要两个sql,而实际上一个sql我们就可以完成的。 可以用这样的做法: update miaosha_goods set stock =stock- 阅读全文
posted @ 2023-01-15 21:12 hongdada 阅读(36) 评论(0) 推荐(0) 编辑
摘要: JAVA线程池 submit方法返回值 AbstractExecutorService public abstract class AbstractExecutorService implements ExecutorService { // RunnableFuture 是用于获取执行结果的,我们 阅读全文
posted @ 2023-01-15 15:29 hongdada 阅读(167) 评论(0) 推荐(0) 编辑
摘要: JAVA线程-interrupt 中断一个线程非常简单,只需要在其他线程中对目标线程调用interrupt()方法,目标线程需要反复检测自身状态是否是interrupted状态,如果是,就立刻结束运行。 案例一: public class Main { public static void main 阅读全文
posted @ 2023-01-12 13:47 hongdada 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一些心理学小技巧 人们倾向于记住最先发生的事情和最后发生的事情, 中途发生的事情会被后来者覆盖. 所以, 如果要做自我介绍的话, 最好做第一个或者最后一个, 面试的时候也是一样的. 报价之后, 不再说话. 无论是销售还是其他领域, 这项技巧都很有用. 情景再现: 与顾客寒暄完毕, 报出价格后, 从此 阅读全文
posted @ 2023-01-10 20:06 hongdada 阅读(40) 评论(0) 推荐(0) 编辑
摘要: Elasticsearch 问题收集 Mac端安装 安装elasticsearch 安装elasticsearch ❯ brew install elasticsearch Running `brew update --auto-update`... ==> Auto-updated Homebre 阅读全文
posted @ 2022-12-22 11:57 hongdada 阅读(193) 评论(0) 推荐(0) 编辑
摘要: JAVA并发-Thread.sleep(0)深入理解 Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”。 通过调用 Thread.sleep(0) 的目的是为了让 GC 线程有机会被操作系统选中,从而进行垃圾清理的工作。它的副作用是,可能会更频繁地运行 GC,毕竟 阅读全文
posted @ 2022-12-20 15:37 hongdada 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: 【转载】硬核干货:5W字17张高清图理解同步器框架AbstractQueuedSynchronizer 前提 并发编程大师Doug Lea在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynch 阅读全文
posted @ 2022-12-20 10:28 hongdada 阅读(22) 评论(0) 推荐(1) 编辑
摘要: 【转载】ThreadLocal源码分析-黄金分割数的使用 前提 最近接触到的一个项目要兼容新老系统,最终采用了ThreadLocal(实际上用的是InheritableThreadLocal)用于在子线程获取父线程中共享的变量。问题是解决了,但是后来发现对ThreadLocal的理解不够深入,于是顺 阅读全文
posted @ 2022-12-20 10:23 hongdada 阅读(57) 评论(0) 推荐(1) 编辑
摘要: 反转链表 import java.util.Arrays; import java.util.List; import org.springframework.util.CollectionUtils; import com.google.common.collect.Lists; import l 阅读全文
posted @ 2022-12-20 10:04 hongdada 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 【转载】通过transmittable-thread-local源码理解线程池线程本地变量传递的原理 前提 最近一两个月花了很大的功夫做UCloud服务和中间件迁移到阿里云的工作,没什么空闲时间撸文。想起很早之前写过ThreadLocal的源码分析相关文章,里面提到了ThreadLocal存在一个不 阅读全文
posted @ 2022-12-19 15:42 hongdada 阅读(59) 评论(0) 推荐(1) 编辑
摘要: 【转载】硬核干货:4W字从源码上分析JUC线程池ThreadPoolExecutor的实现原理 前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的Future时候曾经提到并发大师 阅读全文
posted @ 2022-12-19 15:29 hongdada 阅读(24) 评论(0) 推荐(1) 编辑
摘要: JAVA并发-Disruptor框架 Disruptor简介 最好的方法去理解Disruptor就是将它和容易理解并且相似的队列,例如BlockingQueue。Disruptor其实就像一个队列一样,用于在不同的线程之间迁移数据,但是Disruptor也实现了一些其他队列没有的特性,如: 同一个“ 阅读全文
posted @ 2022-12-16 21:24 hongdada 阅读(675) 评论(0) 推荐(1) 编辑
摘要: JAVA Unsafe类详解 官方不建议使用Unsafe 使用Unsafe要注意以下几个问题: 1、Unsafe有可能在未来的Jdk版本移除或者不允许Java应用代码使用,这一点可能导致使用了Unsafe的应用无法运行在高版本的Jdk。 2、Unsafe的不少方法中必须提供原始地址(内存地址)和被替 阅读全文
posted @ 2022-12-16 00:05 hongdada 阅读(522) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 38 下一页