<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[不精通则死]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/andyxm</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; andyxm]]></copyright><item><title><![CDATA[初试ASM]]></title><link>https://blog.csdn.net/andyxm/article/details/44961365</link><guid>https://blog.csdn.net/andyxm/article/details/44961365</guid><author>andyxm</author><pubDate>Thu, 09 Apr 2015 19:50:01 +0800</pubDate><description><![CDATA[原意是spring配置文件的propertylist可以一一映射成一个枚举类，不过spring依赖注入也需要先定义好一个枚举类。
本想spring有的property，都能优雅的使用它，如下图：




不能依赖注入成枚举，构造一个枚举总行吧，结果枚举是一个单例的私有构造函数的类型。
那想想用反射用ASM动态添加对象属性总可以吧，也比较优雅，如下图：


想法是美好的，现实是残]]></description><category></category></item><item><title><![CDATA[Mysql innodb 间隙锁]]></title><link>https://blog.csdn.net/andyxm/article/details/44810417</link><guid>https://blog.csdn.net/andyxm/article/details/44810417</guid><author>andyxm</author><pubDate>Wed, 01 Apr 2015 17:44:47 +0800</pubDate><description><![CDATA[前段时间系统老是出现insert死锁，很是纠结。经过排查发现是间隙锁！间隙锁是innodb中行锁的一种， 但是这种锁锁住的却不止一行数据，他锁住的是多行，是一个数据范围。间隙锁的主要作用是为了防止出现幻读，但是它会把锁定范围扩大，有时候也会给我们带来麻烦，我们就遇到了。 在数据库参数中， 控制间隙锁的参数是：innodb_locks_unsafe_for_binlog，
 这个参数默认值是OFF]]></description><category></category></item><item><title><![CDATA[Mysql的锁机制解读]]></title><link>https://blog.csdn.net/andyxm/article/details/44810313</link><guid>https://blog.csdn.net/andyxm/article/details/44810313</guid><author>andyxm</author><pubDate>Wed, 01 Apr 2015 17:36:47 +0800</pubDate><description><![CDATA[最近系统多次因对数据库锁使用不当引起问题，故从基础上学习一下mysql锁机制。
基本概念：
共享锁
共享锁的代号是S，是Share的缩写，共享锁的锁粒度是行或者元组（多个行）。一个事务获取了共享锁之后，可以对锁定范围内的数据执行读操作。 

排它锁
排它锁的代号是X，是eXclusive的缩写，排它锁的粒度与共享锁相同，也是行或者元组。一个事务获取了排它锁之后，可以对锁定范围内的数据执]]></description><category></category></item><item><title><![CDATA[paxos投票]]></title><link>https://blog.csdn.net/andyxm/article/details/44806119</link><guid>https://blog.csdn.net/andyxm/article/details/44806119</guid><author>andyxm</author><pubDate>Wed, 01 Apr 2015 14:03:06 +0800</pubDate><description><![CDATA[paxos投票]]></description><category></category></item><item><title><![CDATA[Hadoop-0.20.2 作业内存控制策略分析]]></title><link>https://blog.csdn.net/andyxm/article/details/7228986</link><guid>https://blog.csdn.net/andyxm/article/details/7228986</guid><author>andyxm</author><pubDate>Tue, 03 Mar 2015 10:35:43 +0800</pubDate><description><![CDATA[转自：http://dongxicheng.org/mapreduce/hadoop-job-memory-control/




对于Hadoop而言，对作业使用资源量进行限制是非常重要的，这可以防止一些有问题的作业因耗掉集群中大量资源而干扰其他正常作业。本文主要分析了Hadoop-0.20.2中作业内存控制相关策略，包括怎样启用Hadoop作业内存使用量控制功能，Hadoop怎样实]]></description><category></category></item><item><title><![CDATA[密钥库文件格式(Keystore)和证书文件格式(Certificate)]]></title><link>https://blog.csdn.net/andyxm/article/details/8206344</link><guid>https://blog.csdn.net/andyxm/article/details/8206344</guid><author>andyxm</author><pubDate>Tue, 03 Mar 2015 10:32:56 +0800</pubDate><description><![CDATA[密钥库文件格式【Keystore】

 格式     :  JKS 
 扩展名  : .jks/.ks
 描述     : 【Java Keystore】密钥库的Java实现版本，provider为SUN
 特点     :  密钥库和私钥用不同的密码进行保护
 
 格式     :  JCEKS 
 扩展名  :  .jce
 描述     : 【JCE Keystore】密钥]]></description><category></category></item><item><title><![CDATA[幂等]]></title><link>https://blog.csdn.net/andyxm/article/details/44002995</link><guid>https://blog.csdn.net/andyxm/article/details/44002995</guid><author>andyxm</author><pubDate>Sun, 01 Mar 2015 15:22:27 +0800</pubDate><description><![CDATA[f(f(x))=f(x)，重复多次调用操作结果等于单次操作结果。
方法一：业务系统精细设计，保证结果幂等性（数学问题）
方法二：系统缓存所有的请求和结果，检查到是重复的请求时，返回该请求第一次的结果。
如：

bool withdraw(account_id, amount)


withdraw的语义是从account_id对应的账户中扣除amount数额的钱；如果扣除成功则返回t]]></description><category></category></item><item><title><![CDATA[Zookeeper在hbase集群的作用]]></title><link>https://blog.csdn.net/andyxm/article/details/9096935</link><guid>https://blog.csdn.net/andyxm/article/details/9096935</guid><author>andyxm</author><pubDate>Fri, 14 Jun 2013 18:20:53 +0800</pubDate><description><![CDATA[1，hbase regionserver 向zookeeper注册，提供hbase regionserver状态信息（是否在线）

2，hmaster启动时候会将hbase 系统表-ROOT- 加载到 zookeeper cluster，通过zookeeper cluster可以获取当前系统表.META.的存储所对应的regionserver信息。


HMaster主要作用在于，通过H]]></description><category></category></item><item><title><![CDATA[iptables防火墙设置]]></title><link>https://blog.csdn.net/andyxm/article/details/8533584</link><guid>https://blog.csdn.net/andyxm/article/details/8533584</guid><author>andyxm</author><pubDate>Wed, 23 Jan 2013 12:25:32 +0800</pubDate><description><![CDATA[iptables -A INPUT -p tcp -s 192.168.20.190 --sport 1521 -j DROP
iptables -A OUTPUT -p tcp -d 192.168.20.190 --dport 1521 -j DROP


s参数为原地址，d参数未目的地址。]]></description><category></category></item><item><title><![CDATA[使用java命令运行scala代码]]></title><link>https://blog.csdn.net/andyxm/article/details/8053291</link><guid>https://blog.csdn.net/andyxm/article/details/8053291</guid><author>andyxm</author><pubDate>Tue, 09 Oct 2012 18:37:50 +0800</pubDate><description><![CDATA[1.Java环境变量
JAVA_HOME = C:/Program Files/Java/jdk1.6.0_21(我本机的安装目录) 
CLASSPATH = .;%JAVA_HOME%/lib;(. 代表包含当前路径)
Path  = %JAVA_HOME%/bin
 
2.Scala环境变量
SCALA_HOME = C:/scala-2.8.0.final
Path = %SC]]></description><category></category></item><item><title><![CDATA[chrome的沙箱]]></title><link>https://blog.csdn.net/andyxm/article/details/7776175</link><guid>https://blog.csdn.net/andyxm/article/details/7776175</guid><author>andyxm</author><pubDate>Mon, 23 Jul 2012 17:06:44 +0800</pubDate><description><![CDATA[你也知道我最近在写npapi，firefox搞定了，chrome和safari有问题。(以下转载)
 
百度谷歌一下 , 说chrome是浏览器安全标准 , 运用了“沙盒”这个东东，收集了一些资料，归纳如下：
沙箱其实就是一个硬盘过滤文件驱动，具体来说，就是你把要写的东西写到了硬盘上，但实际上并没有写到硬盘，而是到了一个转存处，读取内容需要判断是沙箱开启之前就存在的内容还是开沙箱之后写入的内]]></description><category></category></item><item><title><![CDATA[子类化Firefox窗口下的Dialog下的EditControl]]></title><link>https://blog.csdn.net/andyxm/article/details/7741347</link><guid>https://blog.csdn.net/andyxm/article/details/7741347</guid><author>andyxm</author><pubDate>Thu, 12 Jul 2012 17:21:55 +0800</pubDate><description><![CDATA[没错，你绝对没看错，是VC，在经过了选型、编译不过、再选型、库引用、链接、编译通过、写注册表、浏览器交互、ATL陷阱、CLR陷阱、MFC陷阱、找指针、绘图、定位资源、32位字符处理、父子窗口、消息传递等九九八十一道劫难后终于通过子类化让控件成功跑通了。


LRESULT APIENTRY EditBoxProc(
    HWND hwndDlg, 
    UINT uMsg,]]></description><category></category></item><item><title><![CDATA[GC策略笔记备忘（被namenode所迫）]]></title><link>https://blog.csdn.net/andyxm/article/details/7230579</link><guid>https://blog.csdn.net/andyxm/article/details/7230579</guid><author>andyxm</author><pubDate>Fri, 03 Feb 2012 10:44:22 +0800</pubDate><description><![CDATA[转自：http://blog.csdn.net/ae86_fc/article/details/6244164

引 起namenode占据这么多内存的原因就不详细记了，经历过的人肯定都知道。既然这哥们占了这么大内存，那么其对应的ＧＣ肯定就表现的与众不同。在这个
 上面，我们真的吃过很多苦头，以前人傻，比较天真，也没有什么经验（估计SUN开发JVM的时候也没有想到过有人会把他们的产品用到这种]]></description><category></category></item><item><title><![CDATA[数据倾斜总结]]></title><link>https://blog.csdn.net/andyxm/article/details/7229314</link><guid>https://blog.csdn.net/andyxm/article/details/7229314</guid><author>andyxm</author><pubDate>Thu, 02 Feb 2012 18:14:22 +0800</pubDate><description><![CDATA[在做Shuffle阶段的优化过程中，遇到了数据倾斜的问题，造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和，优化是基于这些Counters得出的平均值，而由于数据倾斜的原因造成map处理数据量的差异过大，使得这些平均值能代表的价值降低。Hive的执行是分阶段的，map处理数据量的差异取决于上一个stage的reduce输出，所以如何将数据均匀的]]></description><category></category></item><item><title><![CDATA[hadoop作业调优参数整理及原理]]></title><link>https://blog.csdn.net/andyxm/article/details/7229309</link><guid>https://blog.csdn.net/andyxm/article/details/7229309</guid><author>andyxm</author><pubDate>Thu, 02 Feb 2012 18:13:36 +0800</pubDate><description><![CDATA[1 Map side tuning参数
1.1 MapTask运行内部原理

当map task开始运算，并产生中间数据时，其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂，并且利用到了内存buffer来进行已经产生的部分结果的缓存，并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示，每一个map都会对应存在一个内存buffer（MapOutputBuffe]]></description><category></category></item><item><title><![CDATA[写好Hive 程序的五个提示]]></title><link>https://blog.csdn.net/andyxm/article/details/7229180</link><guid>https://blog.csdn.net/andyxm/article/details/7229180</guid><author>andyxm</author><pubDate>Thu, 02 Feb 2012 17:31:28 +0800</pubDate><description><![CDATA[转自：http://www.tbdata.org/archives/622


使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下，因为不熟悉数据特性，或没有遵循Hive的优化约定，Hive计算任务会变得非常低效，甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。
有一些大家比较熟悉的优化约定包括：Join中需要将大表写在靠右]]></description><category></category></item><item><title><![CDATA[Hadoop-0.20.2 作业内存控制策略分析]]></title><link>https://blog.csdn.net/andyxm/article/details/7228993</link><guid>https://blog.csdn.net/andyxm/article/details/7228993</guid><author>andyxm</author><pubDate>Thu, 02 Feb 2012 16:40:54 +0800</pubDate><description><![CDATA[转自：http://dongxicheng.org/mapreduce/hadoop-job-memory-control/




对于Hadoop而言，对作业使用资源量进行限制是非常重要的，这可以防止一些有问题的作业因耗掉集群中大量资源而干扰其他正常作业。本文主要分析了Hadoop-0.20.2中作业内存控制相关策略，包括怎样启用Hadoop作业内存使用量控制功能，Hadoop怎样实]]></description><category></category></item><item><title><![CDATA[Hadoop平台优化综述]]></title><link>https://blog.csdn.net/andyxm/article/details/7228896</link><guid>https://blog.csdn.net/andyxm/article/details/7228896</guid><author>andyxm</author><pubDate>Thu, 02 Feb 2012 16:22:22 +0800</pubDate><description><![CDATA[1.     概述
随着企业要处理的数据量越来越大，MapReduce思想越来越受到重视。Hadoop是MapReduce的一个开源实现，由于其良好的扩展性和容错性，已得到越来越广泛的应用。Hadoop作为一个基础数据处理平台，虽然其应用价值已得到大家认可，但仍存在很多问题，以下是主要几个：
（1）     Namenode/jobtracker单点故障。 Hadoop采用的是master/s]]></description><category></category></item><item><title><![CDATA[Hive-0.5中UDF和UDAF简述]]></title><link>https://blog.csdn.net/andyxm/article/details/7224878</link><guid>https://blog.csdn.net/andyxm/article/details/7224878</guid><author>andyxm</author><pubDate>Wed, 01 Feb 2012 11:15:55 +0800</pubDate><description><![CDATA[一、UDF

1、背景：Hive是基于Hadoop中的MapReduce，提供HQL查询的数据仓库。Hive是一个很开放的系统，很多内容都支持用户定制，包括：

a）文件格式：Text File，Sequence File

b）内存中的数据格式： Java Integer/String, Hadoop IntWritable/Text

c）用户提供的 map/reduce 脚本]]></description><category></category></item><item><title><![CDATA[RCFile高效存储结构]]></title><link>https://blog.csdn.net/andyxm/article/details/7174417</link><guid>https://blog.csdn.net/andyxm/article/details/7174417</guid><author>andyxm</author><pubDate>Wed, 04 Jan 2012 11:26:05 +0800</pubDate><description><![CDATA[Facebook曾在2010 ICDE（IEEE International Conference on Data Engineering）会议上介绍了数据仓库Hive。Hive存储海量数据在Hadoop系统中，提供了一套类数据库的数据存储和处理机制。它采用类SQL语言对数据进行自动化管理和处理，经过语句解析和转换，最终生成基于Hadoop的MapReduce任务，通过执行这些任务完成数据处理。图]]></description><category></category></item></channel></rss>