<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bxw1992的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bxw1992</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bxw1992]]></copyright><item><title><![CDATA[Hyxtrix]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/114134180</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/114134180</guid><author>bxw1992</author><pubDate>Fri, 26 Feb 2021 15:43:21 +0800</pubDate><description><![CDATA[Hyxtrix 线程池隔离模式下。线程上下文丢失问题解决：

https://zhuanlan.zhihu.com/p/32046755

https://blog.youkuaiyun.com/songhaifengshuaige/article/details/80345012



信号量优点：简单



信号量
			线程池
		优点
			缺点
			适用场景
			优点
			缺点
			适用场景
		轻量无额外开销
			不支持任务排队和主动超时
			受信用户（超时可控）
			支持排队和超时
		..]]></description><category></category></item><item><title><![CDATA[状态机]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/113356760</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/113356760</guid><author>bxw1992</author><pubDate>Thu, 28 Jan 2021 19:38:40 +0800</pubDate><description><![CDATA[参考资料：

https://tech.antfin.com/community/activities/779/review/901

https://www.jianshu.com/p/4e5fbd008cbc
]]></description><category></category></item><item><title><![CDATA[观察者模式实现]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/105136149</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/105136149</guid><author>bxw1992</author><pubDate>Fri, 27 Mar 2020 10:47:21 +0800</pubDate><description><![CDATA[一、创建线程池


@Configuration
public class CommonConfig {
    @Bean(name = "eventExecutor")
    @ConditionalOnMissingBean(name = "eventExecutor")
    public ThreadPoolTaskExecutor threadPoolTaskExecutor() ...]]></description><category></category></item><item><title><![CDATA[数据库水平拆分]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104767638</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104767638</guid><author>bxw1992</author><pubDate>Tue, 10 Mar 2020 09:45:20 +0800</pubDate><description><![CDATA[一、数据库拆分

1.1 解决数据库性能瓶颈的常见方案

1.主从架构

主从架构通过读写分离（主节点负责写和部分读，从节点负责大量读，一般由Proxy层实现读写分离），一定程度解决主节点的性能瓶颈。由于默认主从同步是单线程的，因此数据库写入量上涨后，可能会存在主从延迟，如果对组从的不一致无法容忍，将会存在问题。因此主从架构主要缓解了单个数据库在流量上涨到一定阶段后的性能问题。

当然主从架构也解...]]></description><category></category></item><item><title><![CDATA[JAVA 琐碎知识]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104736223</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104736223</guid><author>bxw1992</author><pubDate>Sun, 08 Mar 2020 17:14:03 +0800</pubDate><description><![CDATA[基础

Java编译后翻译成字节码，因此java程序与平台无关。
	常量，在Java 中利用关键字final声明常量，习惯上常量全部用大写。
	在Java 中，若期望某个常量在类中的多个方法中使用，通常将这些常量称为类常量。 使用关键字： static final
	&amp;&amp;和||是按照“短路”方式求值的，只要结果确定，后续的就不会再执行
	在Math类中，包含了各种各样的数学函数。 ...]]></description><category></category></item><item><title><![CDATA[volitale 关键字]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104390850</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104390850</guid><author>bxw1992</author><pubDate>Thu, 20 Feb 2020 16:02:08 +0800</pubDate><description><![CDATA[一、前言

volitale 知识点主要涉及JAVA内存模型的知识点，volitale提供了内存可见性和禁止指令重排的功能。

参考文章：https://blog.youkuaiyun.com/eff666/article/details/67640648

二、知识点

1.内存可见性

    对变量进行访问和赋值时，观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码...]]></description><category></category></item><item><title><![CDATA[Java集合综述]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104242624</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104242624</guid><author>bxw1992</author><pubDate>Sun, 09 Feb 2020 23:46:28 +0800</pubDate><description><![CDATA[Map综述



概述

HashTable基于哈希表，是线程安全的，其同步是通过synchronized实现的，核心操作put和get均通过synchronized修饰，所以并发效率低，现在已经不再推荐使用。
	HashMap基于哈希表，是非线程安全的，对并发无要求的话，推荐使用这个map。
	LinkedHashMap继承了HashMap，它改变了HashMap无序的特征，使用双向链表来会维...]]></description><category></category></item><item><title><![CDATA[synchronized]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104242618</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104242618</guid><author>bxw1992</author><pubDate>Sun, 09 Feb 2020 23:45:38 +0800</pubDate><description><![CDATA[synchronized



参考资料

https://zhuanlan.zhihu.com/p/29866981


synchronized基础

Java对象由对象头和对象体组成，对象体存储的是对象的属性值。对象头包含3部分：
	Mark Word（64bit） 用来记录锁信息、GC年龄、hashCode
		锁信息lock由2bit位表示，当lock为01时，需要1bit的bias...]]></description><category></category></item><item><title><![CDATA[Java 线程]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/104003710</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/104003710</guid><author>bxw1992</author><pubDate>Thu, 16 Jan 2020 14:01:14 +0800</pubDate><description><![CDATA[一、线程状态



备注：这个图唯一的问题是 o.wait() 超时后，会进入blocked状态，等待获取锁。



阻塞状态不会被分配CPU
]]></description><category></category></item><item><title><![CDATA[GC 相关问题]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103778032</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103778032</guid><author>bxw1992</author><pubDate>Tue, 31 Dec 2019 10:04:28 +0800</pubDate><description><![CDATA[1、美团经典文章：https://tech.meituan.com/2017/12/29/jvm-optimize.html

2、参考文章：https://www.cnblogs.com/Leo_wl/p/5393300.html

3、GC 概念：https://www.jianshu.com/p/5ace2a0cafa4

4、CMS GC日志详细介绍：https://blog.csdn.n...]]></description><category></category></item><item><title><![CDATA[Rocket Mq 设计(design)]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103775379</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103775379</guid><author>bxw1992</author><pubDate>Mon, 30 Dec 2019 23:53:37 +0800</pubDate><description><![CDATA[设计(design)



1 消息存储





消息存储是RocketMQ中最为复杂和最为重要的一部分，本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。



1.1 消息存储整体架构

消息存储架构图中主要有下面三个跟消息存储相关的文件构成。

(1) CommitLog：消息主体以及元数...]]></description><category></category></item><item><title><![CDATA[RocketMq 专题]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103750069</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103750069</guid><author>bxw1992</author><pubDate>Mon, 30 Dec 2019 17:54:23 +0800</pubDate><description><![CDATA[1、https://www.jianshu.com/p/453c6e7ff81c

2、https://github.com/a2888409/RocketMQ-Learning/blob/master/book/ch2/2-remoting.md

3、中间件博客：http://jm.taobao.org/2017/01/26/20170126/

4、https://yq.aliyun.com...]]></description><category></category></item><item><title><![CDATA[RocketMq 最佳实践]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103769997</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103769997</guid><author>bxw1992</author><pubDate>Mon, 30 Dec 2019 17:28:46 +0800</pubDate><description><![CDATA[最佳实践



1 生产者



1.1 发送消息注意事项



1 Tags的使用

一个应用尽可能用一个Topic，而消息子类型则可以用tags来标识。tags可以由应用自由设置，只有生产者在发送消息设置了tags，消费方在订阅消息时才可以利用tags通过broker做消息过滤：message.setTags("TagA")。



2 Keys的使用

每个消息在业务层面的唯一标识码...]]></description><category></category></item><item><title><![CDATA[线程的深入理解]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103717919</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103717919</guid><author>bxw1992</author><pubDate>Fri, 27 Dec 2019 10:10:49 +0800</pubDate><description><![CDATA[wait和notify ：https://blog.youkuaiyun.com/hemeinvyiqiluoben/article/details/82990817

线程状态：https://blog.youkuaiyun.com/qq_22771739/article/details/82529874

Monitor机制：https://www.jianshu.com/p/7f8a873d479c



阻塞...]]></description><category></category></item><item><title><![CDATA[Redis 专题]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103714333</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103714333</guid><author>bxw1992</author><pubDate>Thu, 26 Dec 2019 14:00:05 +0800</pubDate><description><![CDATA[1、几种基础数据类型

String
			计数器，用户信息(id)映射，唯一性（例如用户资格判断），bitmap
		Hash
			常见场景：存储对象的属性信息（用户资料）
		List
			常见场景：评论存储，消息队列
		Set
			常见场景：资格判断（例如用户奖励领取判断），数据去重等
		ZSet（Sorted Set）
			常见场景：排行榜，延时队列
		

Redis...]]></description><category></category></item><item><title><![CDATA[深度探索MySQL主从复制原理]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103679599</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103679599</guid><author>bxw1992</author><pubDate>Tue, 24 Dec 2019 16:24:08 +0800</pubDate><description><![CDATA[主从复制：https://zhuanlan.zhihu.com/p/50597960

binlog日志内容：https://juejin.im/post/5a72c2daf265da3e5234d879

读写分离：https://www.jianshu.com/p/1ac435a6510e

主从延迟：https://yq.aliyun.com/articles/42638

概要
MySQL...]]></description><category></category></item><item><title><![CDATA[Java 垃圾回收]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/103169478</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/103169478</guid><author>bxw1992</author><pubDate>Thu, 21 Nov 2019 00:09:22 +0800</pubDate><description><![CDATA[一、引言

Java虚拟机的内存管理是 JVM自主实现的，特别是内存的回收，也叫垃圾回收。理解垃圾回收，可以从3个方面入手：针对什么对象进行回收、什么时候回收、怎么进行回收。

二、知识点

2.1 针对什么对象进行垃圾回收

首先需要说明的是，本节描述的是满足垃圾回收条件的对象，至于是否会被回收，取决于系统运行的状态是否满足触发垃圾回收的条件。一般探讨的是堆区的垃圾回收，方法区的垃圾回收比较苛刻...]]></description><category></category></item><item><title><![CDATA[应用日志配置]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/102734522</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/102734522</guid><author>bxw1992</author><pubDate>Thu, 24 Oct 2019 23:37:39 +0800</pubDate><description><![CDATA[一、引言

带有trackId的日志，对系统问题的定位很有帮助。

二、知识点

2.1 logback 日志的主要元素

主要有3个元素：

1、pattern 控制单条日志输出的格式。

2、appender 是一个日志打印的组件，这里组件里面定义了打印过滤的条件、打印输出方式（控制台、文件）、滚动策略、编码方式、打印格式(由pattern指定)等等。

3、logger 控制类和包的日志和哪...]]></description><category></category></item><item><title><![CDATA[Spring工程中 mysql 数据库的使用]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/102076185</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/102076185</guid><author>bxw1992</author><pubDate>Sat, 05 Oct 2019 00:28:22 +0800</pubDate><description><![CDATA[一、引言

数据库相关的组件封装和屏蔽了业务代码对mysql数据库访问的诸多细节，有必要对这些细节进行深入的了解，构建完整的数据库访问的知识链路。

二、知识点

2.1 JDBC

参考：https://blog.youkuaiyun.com/luanlouis/article/details/30060755

1、JDBC：Java Database Connection，表示数据库连接（任何数据库都支...]]></description><category></category></item><item><title><![CDATA[Java 引用]]></title><link>https://blog.youkuaiyun.com/bxw1992/article/details/101634985</link><guid>https://blog.youkuaiyun.com/bxw1992/article/details/101634985</guid><author>bxw1992</author><pubDate>Sat, 28 Sep 2019 20:19:21 +0800</pubDate><description><![CDATA[一、引言

Java 中有4种不同的引用：强引用、软引用、弱引用、虚引用，引用强度由强到弱。引用强弱的区分，主要跟Java内存回收机制有关。



二、知识点

2.1 强引用


Object object = new Object();

最普遍的引用，特点是只要引用object不失效，那么其指向的内存就不会被回收。如果想释放内存，object = null；ArrayList的clear()...]]></description><category></category></item></channel></rss>