高并发
文章平均质量分 69
y&m
这个作者很懒,什么都没留下…
展开
-
消息幂等(去重)通用解决方案,真顶!
消息中间件是分布式系统常用的组件,无论是异步化、解耦、削峰等都有广泛的应用价值。我们通常会认为,消息中间件是一个可靠的组件——这里所谓的可靠是指,只要我把消息成功投递到了消息中间件,消息就不会丢失,即消息肯定会至少保证消息能被消费者成功消费一次,这是消息中间件最基本的特性之一,也就是我们常说的“AT LEAST ONCE”,即消息至少会被“成功消费一遍”。举个例子,一个消息M发送到了消息中间件,消息投递到了消费程序A,A接受到了消息,然后进行消费,但在消费到一半的时候程序重启了,这时候这个消息并没有标记转载 2021-07-22 10:17:00 · 212 阅读 · 0 评论 -
有没有字节工牌,Java并发安全的根本原因都得懂
引言并发问题一直是Java领域的高阶问题,要想掌握它不仅需要了解JVM的内存模型,更需要对计算机底层硬件有深入的理解。本文主要探讨下Java并发安全问题的根源所在,通过对根源问题对探究,加深对于Java并发安全的理解。并发安全问题分析我们都知道程序猿编写的代码都是跑在具体的硬件架构上面的,只是目前的高级语言系统屏蔽了很多底层硬件细节。但是如果想要对于并发问题有深入的理解,还是需要对底层计算机硬件系统的细节有更多的了解。因此要想分析并发安全问题的根本原因,我们需要从问题现象出发,刨根问..转载 2021-06-23 10:06:05 · 67 阅读 · 0 评论 -
基于mysql的分库分表&读写分离实现
最近心血来潮,浏览各大网站之后总结精华,写了两套基于mysql的分库分表&读写分离的演示项目。(由于以下项目都是参照前人的经验,且逻辑实现复杂,具体分析就不写了,且看代码便好,如有兴趣和问题,可留言)项目一:基于AOP通过程序实现的读写分离项目项目地址:添加链接描述项目二:基于sharding-jdbc实现的分库分表&读写分离项目项目地址:添加链接描述...原创 2021-05-27 16:50:38 · 101 阅读 · 0 评论 -
“并发”和“并行”
并发和并行是两个非常容易被混淆的概念。他们都可以表示两个或多个任务一起执行,但是偏重点不同。并发偏重于多个任务交替执行,而多个任务之间有可能还是串行的,而并行是真正意义上的同时执行。...原创 2018-10-11 17:56:51 · 104 阅读 · 0 评论 -
指令重排
一条指令的执行可以分为很多步骤。简单的说,可以分为以下几步:1)取指 IF2)译码和取寄存器操作数 ID3)执行或者有效地址计算 EX4)存储器访问 MEM5)写回 WB我们的汇编指令也不是一步就可以执行完毕的,在CPU实际工作时,它还是需要分为多个步骤依次执行的。当然,每个步骤所涉及的硬件也可能不同。比如取指时会用到PC寄存器和存储器,译码时会用到指令寄存器组,执行时会使用ALU,...原创 2018-10-15 20:44:20 · 860 阅读 · 0 评论 -
Java线程池
Java通过Executors提供四种线程池:1、newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。2、newFixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。3、newScheduledThreadPool创建一个定长线程池,支持定时和周期性任务执行/4、new...原创 2019-02-26 17:51:01 · 117 阅读 · 0 评论