<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[waj89757的专栏]]></title><description><![CDATA[励志做一个大鸟的菜鸟级程序猿]]></description><link>https://blog.youkuaiyun.com/waj89757</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; waj89757]]></copyright><item><title><![CDATA[JSON原理&TOKEN是什么&PULL、PUSH模式]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/118906607</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/118906607</guid><author>waj89757</author><pubDate>Fri, 23 Jul 2021 17:35:51 +0800</pubDate><description><![CDATA[一、背景

市面上有众多JSON工具
]]></description><category></category></item><item><title><![CDATA[Kafka和RocketMQ区别（架构、存储、高可用）]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/114284924</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/114284924</guid><author>waj89757</author><pubDate>Tue, 09 Mar 2021 11:43:53 +0800</pubDate><description><![CDATA[公司提供两种工具 Kafka和RocketMQ，需要了解原理，业务选型时更好决策。本篇主要讲二者核心区别，然后给出一些业务指导

一、架构简介

1.1 Kafka





三大组件: producer broker consumer

1.2 RocketMQ



四大组件: producer broker nameSrvconsumer

broker是两者最大分歧，其他都差不多。

Kafka broker 就是一个物理节点；负责读写消息、数据同步；负责多节点间协调（路由规则元数据维护，管理t..]]></description><category></category></item><item><title><![CDATA[我对云原生的几个问题和理解]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/114284565</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/114284565</guid><author>waj89757</author><pubDate>Tue, 02 Mar 2021 14:38:14 +0800</pubDate><description><![CDATA[一、五个问题

1.什么是ServiceMesh

一切皆函数是什么意思？ 

 一个SpringMVC API接口，有很多filter，很多service。每一个service可以独立一个工程，maven依赖只有这些（甚至只依赖部分JVM），单独部署打包，通过k8s进行流量调度。

2.什么是SideCar

SideCar原理是什么？怎么实现和进程的共生关系？ 

 image镜像打包的时候，sideCar和主程序 相当于两个代码，容器启动后，有两个进程，可以互相通信

3...]]></description><category></category></item><item><title><![CDATA[MySQL总结（五）——Explain的坑以及如何分析SQL]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/104798190</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/104798190</guid><author>waj89757</author><pubDate>Wed, 11 Mar 2020 15:49:43 +0800</pubDate><description><![CDATA[本节主要回答以下4个小问题。

一、问题

1.explain真的准确吗？limit 100为什么会扫全表？

2.怎么确定走没走索引？怎么确定哪里耗时高？

3.走索引就一定耗时低吗？

4.order by desc 比正序慢吗？



二、SQL举例

举一个最近碰到的栗子，线上耗时偶尔飘高，于是乎分析了下

select source_id from table where a = 1...]]></description><category></category></item><item><title><![CDATA[MySQL总结（四）——UNDO LOG REDO LOG 详解]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/103852136</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/103852136</guid><author>waj89757</author><pubDate>Wed, 15 Jan 2020 18:26:13 +0800</pubDate><description><![CDATA[本节我们介绍下实现mysql可靠性的两个重要log undo redo log。还是先抛几个问题大家思考思考



一、问题

1.事务回滚怎么实现？

2.RC RR级别可见性是怎么实现的？

3.undo redo log 在哪里保存？空间多大？

4.redo log在容灾时起到什么作用？

二、undo log

2.1 先举栗

select * from t1 where id = ...]]></description><category></category></item><item><title><![CDATA[MySQL总结（三）—— 一次查询流程概述]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/102651145</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/102651145</guid><author>waj89757</author><pubDate>Tue, 24 Dec 2019 16:47:37 +0800</pubDate><description><![CDATA[上一节介绍了BTree的本质，本节我们回到最开始，介绍一次查询都经过哪些步骤。 本节会结合源码粗略介绍查找过程（源码既枯燥又无味。。）

几个问题:

sql怎么解析，解析成什么了？

是否有缓存？怎么查缓存的？



举例:

create table t1 (

`id` intAUTO_INCREMENT;

`a` varchar(255),

`b` varchar(255...]]></description><category></category></item><item><title><![CDATA[MySQL总结（二）—— Mysql怎么存储的之真正的BTree]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/102532880</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/102532880</guid><author>waj89757</author><pubDate>Sun, 13 Oct 2019 20:50:56 +0800</pubDate><description><![CDATA[本节专注于讨论BTree的结构。 其他如BTree裂变、查找、插入流程、undolog、redolog各种执行顺序等后面讨论。

还是先抛问题。

1.数据结构是什么？代码怎么写的？

2.这个BTree是在内存还是在磁盘里；内存是不是有一部分BTree的结构？

3.联合索引BTree是怎么存储的，多字段查询是怎么检索的？

4.为什么用BTree结构，而不用其他存储结构 比如红黑树？



...]]></description><category></category></item><item><title><![CDATA[MySQL总结（一） 杂谈]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/102309950</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/102309950</guid><author>waj89757</author><pubDate>Mon, 07 Oct 2019 15:46:12 +0800</pubDate><description><![CDATA[用了一段时间通读了Mysql8.0源码，解开了工作中的一些困惑，打算开个专题，精简的总结下。这些问题可能是你我程序员在工作中对mysql的共同的疑惑，还有一直想深入研究但没时间搞明白的事情。

第一节主要汇总几个主题，也可以说是几个问题

1.Mysql数据怎么存的

  1.1文件结构和BTree的代码

  1.2 几个重要log日志

2.Mysql一次查询经历

  2...]]></description><category></category></item><item><title><![CDATA[分布式数据迁移工具]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/53983657</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/53983657</guid><author>waj89757</author><pubDate>Mon, 02 Jan 2017 22:50:54 +0800</pubDate><description><![CDATA[Data Migration ProjectThis project is a distributed migration service for mysql.It includes full data migration, incremental data migration and real-time data check.]]></description><category></category></item><item><title><![CDATA[两阶段提交和三阶段提交的理解]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/51477548</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/51477548</guid><author>waj89757</author><pubDate>Sun, 22 May 2016 22:35:55 +0800</pubDate><description><![CDATA[两阶段和三阶段提交]]></description><category></category></item><item><title><![CDATA[thrift 泛化客户端]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/50623019</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/50623019</guid><author>waj89757</author><pubDate>Thu, 28 Apr 2016 10:43:49 +0800</pubDate><description><![CDATA[thrift 泛化客户端一、痛点在使用thrift时，必须要根据IDL文件编译生成支持thrift协议的客户端代码。一旦有新服务添加，客户端程序必须重新编译并更新线上服务，无法动态调用新服务。二、解决方案2.1主要解决两个问题：
  1.数据结构的描述信息
  2.一个可以通用的thrift客户端
2.2数据结构的描述信息
  众所周知thrift是跨平台的，无法像dubbo那样提供一个泛化客户端和]]></description><category></category></item><item><title><![CDATA[数据迁移经验总结——亿级别多表异构的数据迁移工作]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/47702675</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/47702675</guid><author>waj89757</author><pubDate>Fri, 28 Aug 2015 20:41:30 +0800</pubDate><description><![CDATA[由于系统改版，最近两个月在做数据迁移工作，由于业务的特殊，基本将数据迁移所能踩的坑都踩了一遍，决定好好做个总结。]]></description><category></category></item><item><title><![CDATA[JVM那些事儿（一）——jvm内存介绍]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/42360737</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/42360737</guid><author>waj89757</author><pubDate>Fri, 27 Feb 2015 09:22:13 +0800</pubDate><description><![CDATA[本节小汪重点介绍下java内存，首先提问：
1.jvm内存如何分配
2.为什么要划分新生代和老年代，实践中究竟哪些属于新哪些属于旧
3.简要介绍一下jstat -gc 如何]]></description><category></category></item><item><title><![CDATA[JVM那些事儿（二）——垃圾回收]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/42360649</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/42360649</guid><author>waj89757</author><pubDate>Tue, 27 Jan 2015 22:22:40 +0800</pubDate><description><![CDATA[这节小汪介绍一下jvm的垃圾回收机制，首先我们先提问：
1.为什么要有不同的垃圾算法
2.垃圾回收器要解决的终极目的是什么
3.小汪该如何选择自己的]]></description><category></category></item><item><title><![CDATA[JSTL自定义函数以及 及时认证]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9080355</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9080355</guid><author>waj89757</author><pubDate>Wed, 12 Jun 2013 19:49:31 +0800</pubDate><description><![CDATA[一、JSTL标签的使用
首先，让我们先来了解一下JSTL标签的使用。
(1)标签库的配置
将jstl.jar和standard.jar拷贝到WEB-INF/lib下（如果使用el表达式，不用拷贝这两个jar）
注意：JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上，如tomcat 4.x。
(2)标签库的使用
采用taglib指令引入，如：
jsp/jstl/co]]></description><category></category></item><item><title><![CDATA[OpenSessionInViewFilter  以及session依然closed的解决方法]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9080243</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9080243</guid><author>waj89757</author><pubDate>Wed, 12 Jun 2013 19:14:33 +0800</pubDate><description><![CDATA[Spring为我们解决Hibernate的Session的关闭与开启问题。 
Hibernate 允许对关联对象、属性进行延迟加载，但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层，当 Web 层访问到那些需要延迟加载的数据时，由于加载领域对象的 Hibernate Session]]></description><category></category></item><item><title><![CDATA[failed to lazily initialize a collection of role:XXX, no session]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9079863</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9079863</guid><author>waj89757</author><pubDate>Wed, 12 Jun 2013 19:10:33 +0800</pubDate><description><![CDATA[我得程序用到了一对多关联。在查询parent时候调用了children，就报failed to lazily initialize a collection of role:XXX, no session这个错。将lazy属性改为false依然报这个错误。

在开发Struts2.0+hibernate3.2+spring2.5项目过程中，遇到了failed to lazily initial]]></description><category></category></item><item><title><![CDATA[hql的join fecth 和lazy]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9076031</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9076031</guid><author>waj89757</author><pubDate>Tue, 11 Jun 2013 16:27:34 +0800</pubDate><description><![CDATA[使用关联查询的时候：
ex：
user和person是多对一的关系 person和organization是多对一的关系
select u from User u left join u.person p where u.id = 1
如果lazy为true，不初始化person类中的父类organization
Hibernate: select user0_.id as id4_,]]></description><category></category></item><item><title><![CDATA[hql的关联查询 join]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9075965</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9075965</guid><author>waj89757</author><pubDate>Tue, 11 Jun 2013 16:16:44 +0800</pubDate><description><![CDATA[6.4.5  左外连接
左外连接(Left Outer Join)查询出左表对应的复合条件的所有记录，如查询李晓梅同学的选课信息。下面是类HQLLeftOuterJoinQuery的源代码。
package hibernate.ch06;
import hibernate.HibernateSessionFactory;
import java.util.Iterator;
import]]></description><category></category></item><item><title><![CDATA[Hibernate之Query接口的uniqueResult()方法]]></title><link>https://blog.youkuaiyun.com/waj89757/article/details/9074151</link><guid>https://blog.youkuaiyun.com/waj89757/article/details/9074151</guid><author>waj89757</author><pubDate>Tue, 11 Jun 2013 10:04:41 +0800</pubDate><description><![CDATA[如果查询返回多个值用list()方法





[java] view
 plaincopy






public void testQuery(){  
        Configuration config = new Configuration().configure();  
        SessionFactory factory = confi]]></description><category></category></item></channel></rss>