<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[X_January的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/X_January</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; X_January]]></copyright><item><title><![CDATA[技术选型：RocketMQ or Kafka]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/120780580</link><guid>https://blog.youkuaiyun.com/X_January/article/details/120780580</guid><author>X_January</author><pubDate>Fri, 15 Oct 2021 12:00:33 +0800</pubDate><description><![CDATA[当业务需要系统间调用解耦时，MQ 是一个很好的方案，目前选择最多的当属Kafka和阿里的RocketMQ, 两种中间件都可以使用，都是备选方案，摆在面前，怎么选择？

一.方法论-评估和选择备选方案的方法

按优先级选择，即架构师综合当前的业务发展情况、团队人员规模和技能、业务发展预测等因素，将质量属性按照优先级排序，首先挑选满足第一优先级的，如果方案都满足，那就再看第二优先级……以此类推。

二.RocketMQ和Kafka到底有什么区别

1、适用场景

kafka适合做日志处理

rocketmq适.]]></description><category></category></item><item><title><![CDATA[MySQL加锁处理分析]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/83088392</link><guid>https://blog.youkuaiyun.com/X_January/article/details/83088392</guid><author>X_January</author><pubDate>Tue, 16 Oct 2018 14:43:08 +0800</pubDate><description><![CDATA[MySQL 加锁处理分析

转载自：http://hedengcheng.com/?p=771

1    背景    1

1.1    MVCC：Snapshot Read vs Current Read    2

1.2    Cluster Index：聚簇索引    3

1.3    2PL：Two-Phase Locking    3

1.4    Isolation Level...]]></description><category></category></item><item><title><![CDATA[ConcurrentHashMap和HashMap]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/81663119</link><guid>https://blog.youkuaiyun.com/X_January/article/details/81663119</guid><author>X_January</author><pubDate>Thu, 20 Sep 2018 16:36:36 +0800</pubDate><description><![CDATA[本次 Chat 内容包括：

Hashmap 在 1.8 后有哪些变化，性能如何进行了大幅度提升？
	红黑树和链表在哪些情况会相互转化？
	ConcurrentHashMap 在 1.8 后有哪些变化？
	什么是 CAS，锁同步消耗资源和无锁算法究竟哪个更合适？
	仿照 ConcurrentHashMap 源码，我们可以借鉴哪些并发编程思维？
	面试中常问到问题汇总---&amp;gt;独家经验
半年前写...]]></description><category></category></item><item><title><![CDATA[乐观锁和悲观锁]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/81663430</link><guid>https://blog.youkuaiyun.com/X_January/article/details/81663430</guid><author>X_January</author><pubDate>Thu, 20 Sep 2018 16:36:00 +0800</pubDate><description><![CDATA[乐观锁

 总是认为不会产生并发问题，每次去取数据的时候总认为不会有其他线程对数据进行修改，因此不会上锁，但是在更新时会判断其他线程在这之前有没有对数据进行修改，一般会使用版本号机制或CAS操作实现。

 version方式：一般是在数据表中加上一个数据版本号version字段，表示数据被修改的次数，当数据被修改时，version值会加一。当线程A要更新数据值时，在读取数据的同时也会读取versi...]]></description><category></category></item><item><title><![CDATA[JVM运行原理]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/81663275</link><guid>https://blog.youkuaiyun.com/X_January/article/details/81663275</guid><author>X_January</author><pubDate>Thu, 20 Sep 2018 16:35:22 +0800</pubDate><description><![CDATA[1.JVM简析：

     作为一名Java使用者，掌握JVM的体系结构也是很有必要的。

     说起Java，我们首先想到的是Java编程语言，然而事实上，Java是一种技术，它由四方面组成：Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示：



     Java平台由Java虚拟机和Java应用程序接口搭建，Java...]]></description><category></category></item><item><title><![CDATA[MySQL索引背后的数据结构及算法原理]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/82352501</link><guid>https://blog.youkuaiyun.com/X_January/article/details/82352501</guid><author>X_January</author><pubDate>Thu, 20 Sep 2018 16:34:10 +0800</pubDate><description><![CDATA[http://blog.jobbole.com/24006/

本文以MySQL数据库为研究对象，讨论与数据库索引相关的一些话题。特别需要说明的是，MySQL支持诸多存储引擎，而各种存储引擎对索引的支持也各不相同，因此MySQL数据库支持多种索引类型，如BTree索引，哈希索引，全文索引等等。为了避免混乱，本文将只关注于BTree索引，因为这是平常使用MySQL时主要打交道的索引，至于哈希索引和全...]]></description><category></category></item><item><title><![CDATA[Java面试题]]></title><link>https://blog.youkuaiyun.com/X_January/article/details/82789670</link><guid>https://blog.youkuaiyun.com/X_January/article/details/82789670</guid><author>X_January</author><pubDate>Thu, 20 Sep 2018 16:33:17 +0800</pubDate><description><![CDATA[

来源于：

https://blog.youkuaiyun.com/dd864140130/article/details/55833087

相关概念

面向对象的三个特征

封装，继承，多态，这个应该是人人皆知，有时候也会加上抽象。

多态的好处

允许不同类对象对同一消息做出响应，即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。主要有以下优点：


	可替换性：多态...]]></description><category></category></item></channel></rss>