<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u012210451的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u012210451</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012210451]]></copyright><item><title><![CDATA[ROCKETMQ记录源码细节及疑问]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/84133706</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/84133706</guid><author>u012210451</author><pubDate>Fri, 16 Nov 2018 09:18:44 +0800</pubDate><description><![CDATA[记录相关细节：

Client模块：

1.DefaultMQPushConsumer.subscribe方法，一经调用如果MQClientInstance不为空则发送心跳给Broker

2.MessageModel是BROADCASTING的则使用LocalFileOffsetStore

CLUSTERING则使用RemoteBrokerOffsetStore

3.默认5秒钟持...]]></description><category></category></item><item><title><![CDATA[Dubbbo 记录源码疑问]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/81557497</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/81557497</guid><author>u012210451</author><pubDate>Fri, 10 Aug 2018 09:32:54 +0800</pubDate><description><![CDATA[ 

dubbo 版本 2.5.3

1.JVM可以直接配置对应interface的url 或者指定dubbo路径文件，格式参照properties

ReferenceConfig.class line 185


String resolve = System.getProperty(interfaceName);
        String resolveFile = null;
    ...]]></description><category></category></item><item><title><![CDATA[Jmeter 简单测试dubbo接口]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/81449493</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/81449493</guid><author>u012210451</author><pubDate>Mon, 06 Aug 2018 10:10:52 +0800</pubDate><description><![CDATA[最近看了Disruptor框架，

官方号称它能够在一个线程里每秒处理6百万订单.

一个仅仅部署在4台服务器上的服务，每秒向Database写入数据超过100万行数据，每分钟产生超过1G的数据

自己就想搞个压测测一下，但是过程有点曲折

直接上代码


public class Caller extends AbstractJavaSamplerClient {

    private st...]]></description><category></category></item><item><title><![CDATA[Disruptor 源码解析]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/81047861</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/81047861</guid><author>u012210451</author><pubDate>Sat, 14 Jul 2018 22:05:13 +0800</pubDate><description><![CDATA[本文的一些理解基于http://ifeve.com/?x=29&amp;amp;y=10&amp;amp;s=disruptor 一系列文章

disruptor 版本 3.4.2

RingBuffer  维护并发数据的缓冲数组

 

RingBuffer

因为一些相关参数都用到了，把这几个步骤一起说明，利于理解

静态模块初始化 + RingBufferFields构造函数


    private s...]]></description><category></category></item><item><title><![CDATA[Spring Boot]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/81009909</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/81009909</guid><author>u012210451</author><pubDate>Thu, 12 Jul 2018 09:06:57 +0800</pubDate><description><![CDATA[MAVEN编译问题：

我们不应该给 parent 项目添加 spring-boot-maven-plugin 构建插件，而应该给终端项目使用，因为这个插件的 repackage 目标会处理 jar 包，导致依赖它的模块无法使用它。在 parent 项目中使用它会导致每个子项目都执行了该目标，进而出现编译失败。

application.properties问题：

使用@Configuratio...]]></description><category></category></item><item><title><![CDATA[JAVA 对象大小]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/80944120</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/80944120</guid><author>u012210451</author><pubDate>Mon, 09 Jul 2018 09:10:08 +0800</pubDate><description><![CDATA[写在前面看了网上很多描述，其实已经写的很详细了，但是自己没有实践过总是觉得有点蒙蒙的概念Java对象的内存布局：对象头（Header）,实例数据（Instance Data）和对齐填充（Padding）。虚拟机的对象头包括两部分信息，第一部分用于存储对象自身的运行时数据，如hashCode、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID、偏向时间戳等。这部分数据的长度在32位和64的虚拟机（...]]></description><category></category></item><item><title><![CDATA[zookeeper 同步锁实现]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/79416750</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/79416750</guid><author>u012210451</author><pubDate>Thu, 01 Mar 2018 20:03:43 +0800</pubDate><description><![CDATA[写在前面生产上基本都使用Curator客户端去操作zookeeper，zookeeper原始API太底层了，自己封装的比较便利还是比较难的完全出于自己想实现一下同步锁才有了这篇文章，文章中缺少了一块很重要的步骤  “创建根节点 ”，如果直接去拿文章中的代码去操作，报出来的错误就是 root/lock节点不存在。这里都体现了Curator API的实用性了，他们有一个creatingParentCo...]]></description><category></category></item><item><title><![CDATA[ReentrantReadWriteLock源码解析]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/79149819</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/79149819</guid><author>u012210451</author><pubDate>Wed, 24 Jan 2018 13:41:01 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[CLH, MCS锁]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/78971263</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/78971263</guid><author>u012210451</author><pubDate>Thu, 04 Jan 2018 15:15:23 +0800</pubDate><description><![CDATA[转载文章  http://blog.youkuaiyun.com/liu88010988/article/details/50799745]]></description><category></category></item><item><title><![CDATA[MAC便捷ssh直接登录远程服务器（免输密码）]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/78224974</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/78224974</guid><author>u012210451</author><pubDate>Fri, 13 Oct 2017 13:37:06 +0800</pubDate><description><![CDATA[--------
之前用过linux开发，只有编辑bashrc文件，增加alias可以制作自定义快捷命令，但是直接用ssh user@host，需要强制输入密码


今天百度之后，发现一个新姿势 expect脚本，但是需要安装一些东西。


expect安装：http://blog.youkuaiyun.com/jw_xuezhixia/article/details/54144116

]]></description><category></category></item><item><title><![CDATA[生成图片验证码]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/78211610</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/78211610</guid><author>u012210451</author><pubDate>Thu, 12 Oct 2017 10:16:08 +0800</pubDate><description><![CDATA[public class SecurityCodeUtil {

    private final static Logger logger                  = LoggerFactory.getLogger(SecurityCodeUtil.class);

    // 验证码图片的宽度。
    private final static int    WIDTH     ]]></description><category></category></item><item><title><![CDATA[浅尝Java中RSA加解密]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/78196610</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/78196610</guid><author>u012210451</author><pubDate>Tue, 10 Oct 2017 19:50:32 +0800</pubDate><description><![CDATA[非常不错的对称 与 非对称加密的文章 ：http://www.cnblogs.com/jfzhu/p/4020928.html


--------JAVA中RSA]]></description><category></category></item><item><title><![CDATA[Log4j2简单配置]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/78180493</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/78180493</guid><author>u012210451</author><pubDate>Mon, 09 Oct 2017 11:00:07 +0800</pubDate><description><![CDATA[log4j官网：http://logging.apache.org/log4j/2.x/manual/appenders.html
熟读官网内容的请忽视本文，记录英文小白的摸索过程
-------起因
新接手的项目原来是log4j的，线上日志登上去不是很好，分类的不够好，而且相对于xml的格式，properties的配置一直觉得不够直观
这次就想直接替换成log4j2了，而且简单了解了一下]]></description><category></category></item><item><title><![CDATA[Java Process 创建linux用户]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/53158280</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/53158280</guid><author>u012210451</author><pubDate>Mon, 14 Nov 2016 14:04:25 +0800</pubDate><description><![CDATA[通过调用shell脚本方式，传入username和password方式产生用户


#!/bin/sh
useradd $1;
echo $2|passwd --stdin $1
public static void main(String[] args) {
    InputStream in = null;
    try{
        File file = new File(]]></description><category></category></item><item><title><![CDATA[AUTOWIRE_NO的作用]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/51939077</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/51939077</guid><author>u012210451</author><pubDate>Mon, 18 Jul 2016 10:14:36 +0800</pubDate><description><![CDATA[看公司框架里经常用到AutowireCapableBeanFactory.autowire(Class beanClass, int autowireMode, boolean dependencyCheck)方式获得Bean


对于第二个参数，有时候用的AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE， 有时候AutowireCapableBeanF]]></description><category></category></item><item><title><![CDATA[HBase 单机版]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/51759057</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/51759057</guid><author>u012210451</author><pubDate>Sat, 25 Jun 2016 16:49:58 +0800</pubDate><description><![CDATA[因为本地测试需要，装了个单机版，由于功力尚浅，装的我好蛋疼，这篇记录最终能跑起来的一些配置
hbase cdh下载地址 http://archive.cloudera.com/cdh5/cdh/5/
我下载的是1.0.0 cdh5.5.1的hbase

hbase里面的hbase-env.sh里面需要导入JAVA_HOME和HBASE_MANAGES_ZK=true
代表hbase使用自]]></description><category></category></item><item><title><![CDATA[Yahoo OMID 部署]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/51758456</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/51758456</guid><author>u012210451</author><pubDate>Sat, 25 Jun 2016 15:03:57 +0800</pubDate><description><![CDATA[最近公司里需要重构DB，改用HBASE，但是HBASE本身只支持行级别事务，跨行跨表级别的事务就不行了。
于是最近网上找了点资料，有看到韩国的Haeinsa，本地测试了一下，确实能达到效果。
在尝试Yahoo的OMID测试的时候，发现在github上拉下来的code，看了下版本是0.8.1.24的，但是看他的release 版本已经是0.8.2.9了
RELEASE ：https://bin]]></description><category></category></item><item><title><![CDATA[applciation.xml foundation configuration and description]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/51235630</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/51235630</guid><author>u012210451</author><pubDate>Sun, 24 Apr 2016 20:43:56 +0800</pubDate><description><![CDATA[<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.spr]]></description><category></category></item><item><title><![CDATA[JPA Specification 的写法]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/44936203</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/44936203</guid><author>u012210451</author><pubDate>Wed, 08 Apr 2015 09:42:49 +0800</pubDate><description><![CDATA[公司里需要用Specification的pattern写一个比较通用的查询，之前对于JPA的了解仅限于继承JPARepository接口，就能实现基本的查询，又或者加上@Query标签@Modify标签基本能实现所有的增删改查了。


之前看资料的时候也有看到一些对于Specification的描述和实践，那个时候一眼看过去，哎呀妈呀，整啥玩意呢，这么复杂看到。果然人对于未知的事物总是有抵触]]></description><category></category></item><item><title><![CDATA[利用NIO构造简单的聊天功能]]></title><link>https://blog.youkuaiyun.com/u012210451/article/details/41806577</link><guid>https://blog.youkuaiyun.com/u012210451/article/details/41806577</guid><author>u012210451</author><pubDate>Mon, 08 Dec 2014 19:57:05 +0800</pubDate><description><![CDATA[public class SocketSelector {

	private final static int PORT = 1234;
	
	public static void main(String[] args) throws IOException {
		
		new SocketSelector().init(args);
		
	}
	
	public void init(Str]]></description><category></category></item></channel></rss>