会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
yaomianwei
博客园
首页
新随笔
联系
订阅
管理
2022年2月22日
ThreadLocal使用
摘要: @(ThreadLocal使用) ThreadLocal概念 ThreadLocal 是 JDK 包提供的,它提供线程本地变量,如果创建 ThreadLocal 变量,那么访问这个变量的每个线程都会有这个变量的一个副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,实现了线程的数据隔离,从而
阅读全文
posted @ 2022-02-22 09:44 yaomianwei
阅读(18)
评论(0)
推荐(0)
2022年2月16日
设计模式-建造者模式
摘要: 理论 概念 建造者模式(Strategy): 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 优缺点
阅读全文
posted @ 2022-02-16 22:47 yaomianwei
阅读(12)
评论(0)
推荐(0)
2022年1月24日
Netty-ServerBootstrap
摘要: Netty 引导类 Netty 中有两个引导帮助器, Bootstrap 和 ServerBootstrap。其中 Bootstrap 用于引导客户端 Channel 使用, ServerBootstrap 用于引导服务端 Channel 使用。Netty 引导类使得创建客户端和服务只需要遵循模板编
阅读全文
posted @ 2022-01-24 00:18 yaomianwei
阅读(242)
评论(0)
推荐(0)
2022年1月5日
Netty-自定义线程池处理长耗时业务
摘要: 为什么需要自定义线程处理 在Netty中,EventLoop 和 EventExecutorGroup 提供的普通任务不能解决长耗时业务处理引起的 I/O 线程阻塞问题,究其原因:在 Netty 中,一个 channel 在它的生命中期内只注册于一个 EventLoop,而一个 EventLoop
阅读全文
posted @ 2022-01-05 23:24 yaomianwei
阅读(1278)
评论(0)
推荐(0)
2021年12月30日
Netty-解码器
摘要: Netty 解码器 为什么会有粘包拆包? 对于“套接字”来说,并非是我们调用 writer API 便将报文发送给接收方,而是系统底层根据一定的算法,对消息的大小进行拆解或拼装。这也是发送拆包粘包的最大原因。总体来讲,发生 TCP 粘包、拆包主要是由于下面一些原因: 1.应用程序写入的数据大于套接字
阅读全文
posted @ 2021-12-30 00:55 yaomianwei
阅读(44)
评论(0)
推荐(0)
2021年12月23日
Rabbitmq编程实战
摘要: 生产消费模型 RabbitMQ 整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。可以把消息传递的过程就如邮件投递何接受,投递人将一个包裹送到邮局,邮局会暂存并最终将邮件通过邮递员送到收件人的手上,RabbitMQ 就好比由邮局、邮箱和邮递员组成的一个系统。因此对于业务实现,通常转化为编
阅读全文
posted @ 2021-12-23 00:10 yaomianwei
阅读(35)
评论(0)
推荐(0)
2021年12月21日
Rabbitmq 死信队列详解
摘要: Rabbitmq 死信队列详解
阅读全文
posted @ 2021-12-21 14:25 yaomianwei
阅读(10)
评论(0)
推荐(0)
Rabbitmq TTL消息详解
摘要: Rabbitmq TTL消息详解
阅读全文
posted @ 2021-12-21 14:24 yaomianwei
阅读(7)
评论(0)
推荐(0)
Rabbitmq 消费端ACK和重回队列详解
摘要: Rabbitmq 消费端ACK和重回队列详解
阅读全文
posted @ 2021-12-21 14:23 yaomianwei
阅读(6)
评论(0)
推荐(0)
Rabbitmq 消费端限流策略
摘要: Rabbitmq 消费端限流策略
阅读全文
posted @ 2021-12-21 14:22 yaomianwei
阅读(11)
评论(0)
推荐(0)
Rabbitmq Return确认消息详解
摘要: Rabbitmq Return确认消息详解
阅读全文
posted @ 2021-12-21 14:21 yaomianwei
阅读(1)
评论(0)
推荐(0)
Rabbitmq Confirm确认消息详解
摘要: Rabbitmq Confirm确认消息详解
阅读全文
posted @ 2021-12-21 14:20 yaomianwei
阅读(7)
评论(0)
推荐(0)
Rabbitmq控制台使用
摘要: Rabbitmq控制台使用
阅读全文
posted @ 2021-12-21 14:17 yaomianwei
阅读(7)
评论(0)
推荐(0)
Rabbitmq命令工具使用
摘要: Rabbitmq命令工具使用
阅读全文
posted @ 2021-12-21 13:33 yaomianwei
阅读(6)
评论(0)
推荐(0)
在centos安装Rabbitmq服务
摘要: 环境要求 软件版本 名称 版本 说明 erlang erlang-18.3-1.el7.centos.x86_64.rpm 18.3 rabbitmq-server rabbitmq-server-3.6.5-1.noarch.rpm 3.6.5 socat socat-1.7.3.2-1.1.el
阅读全文
posted @ 2021-12-21 13:00 yaomianwei
阅读(150)
评论(0)
推荐(0)
2021年12月14日
入门RabbitMQ核心概念
摘要: 消息通信概念 RabbitMQ 概述 AMQ 是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件同产品,不同的开发语言等条件的限制。高级消息队列协议使得遵从该规范的客户端应用和消息中间
阅读全文
posted @ 2021-12-14 23:48 yaomianwei
阅读(40)
评论(0)
推荐(0)
2021年12月8日
设计模式-策略模式
摘要: (策略模式 ) 理论 概念 策略模式(Strategy): 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。 优缺点 策略
阅读全文
posted @ 2021-12-08 22:49 yaomianwei
阅读(28)
评论(0)
推荐(0)
2021年12月5日
CopyOnWriteArrayList
摘要: CopyOnWriteArrayList 概述 ArrayList 为非线程安全,无法将其作为共享变量。当然 JDK 还提供了另外一种线程安全的 List,叫做 CopyOnWriteArrayList,这个 List 具有以下特征: 线程安全的,多线程环境下可以直接使用,无需加锁; 通过锁 + 数
阅读全文
posted @ 2021-12-05 15:30 yaomianwei
阅读(35)
评论(0)
推荐(0)
2021年12月3日
ArrayList
摘要: ArrayList 概述 ArrayList 我们几乎每天都会使用到,在接口中返回一个列表,通常使用 ArrayList 装载对象返回。可以说是开发中最为常用的数据结构工具。ArrayList 允许 put null 值,会自动扩容,可以简化很多工作,ArrayList 为非线程安全,适合作为函数局
阅读全文
posted @ 2021-12-03 18:03 yaomianwei
阅读(10)
评论(0)
推荐(0)
2021年12月1日
synchronized
摘要: (synchronized ) 方法内变量是线程安全 关于“线程安全”和“非线程安全”相关的技术点,是学习多线程一定会遇到的经典问题。“非线程安全”通常发生在多个线程对同一个对象的实例变量进行并发访问。产生的后果就是“脏读”,也就是读取到的数据其实是被其他线程更改过的。synchronized 通过
阅读全文
posted @ 2021-12-01 19:17 yaomianwei
阅读(7)
评论(0)
推荐(0)
数据结构-简单队列实现
摘要: 某个公司的客户热线火爆,拨打的人数一旦过多,拨打电话的人员就需要进入等待队伍进行排队,公司客户按照先排队先接通进行接通。 简单队列 每个拨打电话的人员抽象为一个节点,严格按照顺序进行排队形成一个队伍,出队时严格按照先进先出原则出队,这样形成的数据结构成为队列。对于简单队列,可以使用单向链表实现。出队
阅读全文
posted @ 2021-12-01 09:24 yaomianwei
阅读(26)
评论(0)
推荐(0)
2021年11月30日
数据结构-单向链表实现
摘要: 从上海到北京的高铁一路可能要经过苏州/无锡/常州/济南/天津/北京,如果将每个连接使用一个指向连接起来,可以形成一个链,这样就可以知道某个站的下一个站是哪个。 单向链表 每个站点抽象为一个节点,在每个节点中记录下一个站的名称,从而串成链条,这样的数据结构称为单向链表。其中指向称为指针域,指针域指向的
阅读全文
posted @ 2021-11-30 18:19 yaomianwei
阅读(30)
评论(0)
推荐(0)
2021年11月29日
AQS-Lock获取锁操作
摘要: 获取锁 获取锁最直观的感受就是使用 Lock.lock () 方法来获得锁,最终目的是想让线程获得对资源的访问权。 Lock 一般是 AQS 的子类,lock 方法根据情况一般会选择调用 AQS 的 acquire 或 tryAcquire 方法。acquire 方法 AQS 已经实现了,tryAc
阅读全文
posted @ 2021-11-29 23:42 yaomianwei
阅读(48)
评论(0)
推荐(0)
2021年11月27日
数据结构-双向链表实现
摘要: 从上海到北京的高铁一路可能要经过苏州/无锡/常州/济南/天津/北京;等我到了北京,一顿公办之后,想回上海了呢?如果使用单向链表显然回不去。聪明的人们便在每一个站都标上上一个站的站名,这样就可以反着找回原来的路了,从而回到上海。 双向链表 在单向链表的基础上添加一个指向,保存上一个节点的地址,从而可以
阅读全文
posted @ 2021-11-27 15:12 yaomianwei
阅读(33)
评论(0)
推荐(0)
2021年11月21日
设计模式-简单工厂
摘要: 生活中,原始社会自给自足(没有工厂),农耕社会小作坊(简单工厂,民间酒坊),工业革命流水线(工厂方法,自产自销),现代产业链代工厂(抽象工厂,富士康)。人们不再关心产品时如何生产的,他们只需要知道自己要什么,工厂就会给什么。至于怎么生产,那是工厂的事情。 1. 概述 在日常开发中,凡是需要生成复杂对
阅读全文
posted @ 2021-11-21 15:06 yaomianwei
阅读(25)
评论(0)
推荐(0)
下一页
公告