摘要: b 比特 位 B 字节 KB 千比特 MB 兆比特 GB 吉比特 1B = 8b (8个位) 一个字节 等于 8位 1 KB = 1024B 1MB = 1024KB 1GB = 1024MB 英文和数字占一个字节 中文占一个字符,也就是两个字节 字符 不等于 字节。 字符(char)是 Java 阅读全文
posted @ 2021-10-25 16:20 qweir 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。 所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。 首先说一下,这里可能会牵扯到一 阅读全文
posted @ 2020-05-10 20:57 qweir 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecut 阅读全文
posted @ 2020-05-10 20:35 qweir 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、写在前面 现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。 所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 说实话,如果在公司里落地生产 阅读全文
posted @ 2020-05-10 20:32 qweir 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 日常工作中很多场景下需要用到分布式锁,例如:任务运行(多个节点同一时刻同一个任务只能在一个节点上运行(分片任务除外)),交易请求接收(前端交易请求发送时,可能由于两次提交,后端需要识别出这是一个交易)等,怎么样实现一个分布式锁呢?一般有:zookeeper、redis、database等三种实现方式 阅读全文
posted @ 2020-05-10 20:30 qweir 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 双重校验锁实现单例模式: public class Singleton { //采用volatile修饰 private volatile static Singleton singleton; //构造方法私有化 private Singleton(){} //双重校验锁 public stati 阅读全文
posted @ 2020-05-08 20:46 qweir 阅读(466) 评论(0) 推荐(0) 编辑