2021年3月26日
摘要: BIO 问题分析 1、每个请求都需要创建独立的线程,与对应的客户端进行数据 Read,业务处理,数据 Write 2、当并发数较大时,需要创建大量线程来处理连接,系统资源占用较大 3、连接建立后,如果当前线程暂时没有数据可读,则线程就阻塞在 Read 操作上,造成线程资源浪费 阅读全文
posted @ 2021-03-26 13:37 LeavesCai7 阅读(38) 评论(0) 推荐(0) 编辑
  2021年2月22日
摘要: 存储结构 数据结构 1、二叉树 2、红黑树 3、Hash表 4、B-Tree 阿里:B+Tree 自增主键 为什么InnoDB表必须建主键,并且推荐使用整型的自增主键 InnoDB表 是 聚集索引--叶节点包含完整的数据记录 如果不设主键就会产生很多问题:InnoDB表默认是主键索引树,就是一个聚集 阅读全文
posted @ 2021-02-22 13:25 LeavesCai7 阅读(32) 评论(0) 推荐(0) 编辑
  2021年1月26日
摘要: RabbitMQ高级特性 1、消息可靠性投递 RabbitMQ消息投递的路径: 生产者 --> rabbitmq中间件 --> 交换机 --路由到--> 消息列表 --> 消费者 首先分析一下,消息不可靠的情况可能是 消息丢失 ,劫持 等原因 丢失:生产者丢失、消息列表丢失、消费者丢失 找到了原因, 阅读全文
posted @ 2021-01-26 17:26 LeavesCai7 阅读(126) 评论(0) 推荐(0) 编辑
  2021年1月25日
摘要: SpringBoot整合RabbitMQ 创建一个新工程-生产者 1>改Pom <!-- 1. 父工程依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent< 阅读全文
posted @ 2021-01-25 15:58 LeavesCai7 阅读(74) 评论(0) 推荐(0) 编辑
摘要: Spring整合RabbitMQ 创建两个模块 导入坐标 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.7 阅读全文
posted @ 2021-01-25 15:00 LeavesCai7 阅读(76) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ管理控制台的使用 添加一个用户 添加一个Virtual Hosts 把虚拟机和用户绑定 点击创建的虚拟机 配置 rabbitmq.config cp rabbitmq.config.example /etc/rabbitmq/rabbitmq.config service rabbi 阅读全文
posted @ 2021-01-25 13:29 LeavesCai7 阅读(409) 评论(0) 推荐(0) 编辑
摘要: RabbitMQ总结 消息中间件 RabbitMQ MQ全称 Message Queue(消息队列) 分布式系统通信两种方式:直接远程调用 和 借助第三方 完成间接通信 优势:应用解耦 异步提速 削峰填谷 劣势:系统可用性降低 系统复杂度提高 一致性问题 应用解耦 系统的耦合性越高,容错性就越低,可 阅读全文
posted @ 2021-01-25 12:12 LeavesCai7 阅读(87) 评论(0) 推荐(0) 编辑
  2021年1月22日
摘要: Synchronized 和 Lock 1、原始构成 Synchronized 是关键字属于JVM层面 (代码中以蓝色字体呈现) monitorenter 、monitorexit Lock 是具体类(java.util.concurrent.locks.lock)是api层面的锁 2、使用方法 S 阅读全文
posted @ 2021-01-22 14:15 LeavesCai7 阅读(202) 评论(0) 推荐(0) 编辑
  2021年1月21日
摘要: CountDownLatch CountDownLatch:让一些线程阻塞直到另外一些完成后才被唤醒 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞,其他线程调用countDown方法计数器减1,当值变成0时,await方法得线程才会被唤醒 Cyc 阅读全文
posted @ 2021-01-21 15:14 LeavesCai7 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 锁 公平锁 非公平锁 并发包ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或者非公平锁 默认是非公平锁 非公平锁的优点在于吞吐量必公平锁大 对于synchronized而言 也是一种非公平锁 可重入锁(递归锁) 指的是同一线程外层函数获得锁后,内层敌对函数任然能获取 阅读全文
posted @ 2021-01-21 08:24 LeavesCai7 阅读(52) 评论(0) 推荐(0) 编辑