线程同步器原理剖析
CountDownLatch原理剖析 日常开发中经常遇到一个线程需要等待一些线程都结束后才能继续向下运行的场景,在CountDownLatch出现之前通常使用join方法来实现,但join方法不够灵活,所以开发了CountDownLatch。 示例 public static void main(String[] args) throws InterruptedException { ...
CountDownLatch原理剖析 日常开发中经常遇到一个线程需要等待一些线程都结束后才能继续向下运行的场景,在CountDownLatch出现之前通常使用join方法来实现,但join方法不够灵活,所以开发了CountDownLatch。 示例 public static void main(String[] args) throws InterruptedException { ...
Mysql的一条语句是如何执行的 http://player.bilibili.com/player.html?aid=217505485&bvid=BV1da411G7nz&cid=818234259&page=1
Junit4单元测试 一.加入依赖包 1. <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> 6. 7. <group...
极限并发带来的思考 虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。 尤其是春节期间,大家不仅使用 12306,还会考虑”智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。 “12306 服务”承受着这个世界上任何秒杀系统都无法超越的 QPS,上百万的并发再正常不过了! 笔者专门研究了一下”12306”的服务端架构,学习到了其系统设计上很多亮点,...
本文是一篇全面的 Azkaban 技术文档,整合了 Azkaban 的介绍、与 Oozie 的对比、3.x 版本的源码编译与部署、以及 Flow
什么是DDD 早在2004年,由Eric Evans提出了,DDD是面对软件复杂之道。Domain-Driven-Design:领域驱动设计 现在的开发模式:数据库驱动:先设计数据库(DB)-> 创建POJO -> MVC贫血模型:看不到业务 大泥团:不利于微服务的拆分。 DDD只是一种方法论,没有一个稳定的技术框架,DDD要求领域是跟技术无关、跟存储无关、跟通信无关
Explain中的列 id id列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按照select出现的顺序增长的。id列越大执行优先级越高,id相同则从上往下执行,id为NULL最后执行。 select_type 表示对应行是简单还是复杂查询。 simple:简单查询,查询不包含子查询和union primary:复杂查询中最外层的sele...
请解释一下什么是 Nginx ? Nginx ,是一个 Web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。 目前使用的最多的 Web 服务器或者代理服务器,像淘宝、新浪、网易、迅雷等都在使用。 Nginx 的主要功能如下: 作为 http server (代替 Apache ,对 PHP 需要 FastCGI 处理器支持) ...
MySQL MVCC实现机制 什么是MVC## 什么是MVCC MVCC是一种多版本并发控制机制 MVCC是为了解决什么问题 MVCC实现 MVCC是通过保存数据在某个时间点的快照来实现的 MVCC具体实现分析 InnoDB的MVCC是通过在每行记录后面保存两个隐藏列来实现的一个保存了行的事务ID(DB_TRX_ID),一个保存了行的回滚指针(DB_ROLL_PT)每开始一个新...
天天讲路由,那 Linux 路由到底咋实现的!? 原创张彦飞allen开发内功修炼2022-01-13 08:28 收录于话题 #开发内功修炼之网络篇30个 #计算机网络2个 大家好,我是飞哥。 容器是一种新的虚拟化技术,每一个容器都是一个逻辑上独立的网络环境。Linux 上提供了软件虚拟出来的二层交换机 Bridge 可以解决同一个宿主机上多个容器之间互连的问题,但这是不够的。...