<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[changewang的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/changewang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; changewang]]></copyright><item><title><![CDATA[mysql操作命令记录]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/50454323</link><guid>https://blog.youkuaiyun.com/changewang/article/details/50454323</guid><author>changewang</author><pubDate>Mon, 04 Jan 2016 10:27:28 +0800</pubDate><description><![CDATA[一：安装完mysql后，会缺少 /etc/my.cnf 文件，可以手动添加。

[client]
port            = 3306
#socket          = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
#basedir=/db/mysql-5.6.23-linux-glibc2.5-x86]]></description><category></category></item><item><title><![CDATA[ClassLoader]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/16807151</link><guid>https://blog.youkuaiyun.com/changewang/article/details/16807151</guid><author>changewang</author><pubDate>Mon, 18 Nov 2013 17:45:39 +0800</pubDate><description><![CDATA[ClassLoader本身是一个Abstract Class，我们可以扩展ClassLoader的实现特定的load需求。
java应用环境中不同的class分别由不同的ClassLoader负责加载。
一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader，分别各司其职：

Boot]]></description><category></category></item><item><title><![CDATA[btrace 的使用]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/12057139</link><guid>https://blog.youkuaiyun.com/changewang/article/details/12057139</guid><author>changewang</author><pubDate>Mon, 30 Sep 2013 13:39:42 +0800</pubDate><description><![CDATA[BTrace是一个非常不错的java诊断工具。BTrace
 中的B表示bytecode， 表明它是在字节码层面上对代码进行trace ，用来在运行中的java类中注入trace代码， 并对运行中的目标程序进行热交换(hotswap) 。
记载下几个基本常用的使用，时间长了就忘记了哈。
首先你需要去官网下载个安装包：wget https://kenai.com/projects/btrace]]></description><category></category></item><item><title><![CDATA[synchronized锁的粒度]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/7616998</link><guid>https://blog.youkuaiyun.com/changewang/article/details/7616998</guid><author>changewang</author><pubDate>Wed, 30 May 2012 16:55:30 +0800</pubDate><description><![CDATA[synchronized做代码块锁的时候，如果是使用自定义的锁，或者this对象作为锁，那么锁定的是对象，如果对于静态的对象做锁定，那么锁定的就是类了。
当线程A,在操作访问锁定的对象时候， 线程B如果要进入synchronized代码块执行的时候是必须等待锁释放的。这样实际上就是将原本并行执行的代码，变为串行执行了。
当然还有另外一种方式，就是使用ThreadLocal对象，存储各个线程的使]]></description><category></category></item><item><title><![CDATA[硬盘相关基础知识]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6838126</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6838126</guid><author>changewang</author><pubDate>Tue, 04 Oct 2011 21:43:45 +0800</pubDate><description><![CDATA[说明：本文来源于网络相关知识收集。
一、硬盘的基本概率
内部数据传输率（Internal Transfer Rate）是指硬盘磁头与缓存之间的数据传输率，简单的说就是硬盘将数据从盘片上读取出来，然后存储在缓存内的速度。内部传输率可以明确表现出硬盘的读写速度，它的高低才是评价一]]></description><category></category></item><item><title><![CDATA[项目过程中的找bug总结]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6824874</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6824874</guid><author>changewang</author><pubDate>Tue, 27 Sep 2011 10:41:43 +0800</pubDate><description><![CDATA[经历了近3个月的奋战，终于和一帮兄弟姐妹们完成了退款一期项目的改造工程。项目过程还是蛮辛苦的，免不了加班加点的了。在这里感谢下项目组成员的付出。不过项目发布后的反响还是不错的。这个也是项目组成员值得欣慰的事。闲话少说，进入正题。在这里纪录下项目过程中几个比较突出问题的排查。
问]]></description><category></category></item><item><title><![CDATA[磁盘的分区与系统引导启动]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6820593</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6820593</guid><author>changewang</author><pubDate>Sun, 25 Sep 2011 22:07:42 +0800</pubDate><description><![CDATA[硬盘结构
硬盘有很多盘片组成，每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面，对应2N个磁头(Heads)，从0、1、2开始编号。每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders)，从外至里编号为0、1、2……。每个盘]]></description><category></category></item><item><title><![CDATA[2010年的总结]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6118784</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6118784</guid><author>changewang</author><pubDate>Wed, 05 Jan 2011 20:43:00 +0800</pubDate><description><![CDATA[想想自己其实很少有写些什么东西，最近几天因为需要晋升面试，所以 稀里哗啦的整理了下以前看过的一些知识点，稍微梳理了下。这一天天总算是过去了，没有想到居然是第一天的上午就面试我了。有点汗颜。不过不管结果如何总算是过去了，虽然到现在为止心里还是那么的忐忑。
    回顾自己过去的一年的工作，有些落寞，系统方面做出了一些效果，对于系统的稳定性和性能点还是有些帮助的，当然这些都是偶然的和运维同事聊天的时]]></description><category></category></item><item><title><![CDATA[java 多线程]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6109142</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6109142</guid><author>changewang</author><pubDate>Fri, 31 Dec 2010 11:06:00 +0800</pubDate><description><![CDATA[理解java多线程，对于java内存模型的理解是必须的。
 
java 内存模型 ( java memory model )
根据Java Language Specification中的说明, jvm系统中存在一个主内存(Main Memory或Java Heap Memory)，Java中所有变量都储存在主存中，对于所有线程都是共享的。
每条线程都有自己的工作内存(Working Me]]></description><category></category></item><item><title><![CDATA[关于ClassLoader的知识点记录]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6107507</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6107507</guid><author>changewang</author><pubDate>Thu, 30 Dec 2010 16:30:00 +0800</pubDate><description><![CDATA[JVM 启动的时候会产生3个ClassLoader，他们分别负责加载不同目录下的class。其中Bootstrap ClassLoader 是 C++ 实现，如果 parent ClassLoader是它的话，获取的时候是会返回null 的。其中 System ClassLoader 也就是我们所说的 AppClassLoader。Bootstrap ClassLoader/启动类加载器 主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作。E]]></description><category></category></item><item><title><![CDATA[Hadoop优化学习]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6105406</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6105406</guid><author>changewang</author><pubDate>Wed, 29 Dec 2010 16:54:00 +0800</pubDate><description><![CDATA[<br />看了几篇文章，记录下：<br /> <br />Hadoop是基于hdfs分布式文件系统的，它体现的是一种“分而治之”的思想，将一个任务进行切割，分散到不同的slave 机器上面去做。<br />它有一个 master 的概念，负责 Namenode的工作，也有可能负责 JobTracker 的工作，它是分布式文件系统的管理者，负责命名空间，集群的配置，跟着slave 的启动和调度，负责存储检索 DataNode的 block 信息，它将文件系统的 Meta-data 信息存储在内存中。<br ]]></description><category></category></item><item><title><![CDATA[Btrace使用]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6104433</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6104433</guid><author>changewang</author><pubDate>Wed, 29 Dec 2010 10:35:00 +0800</pubDate><description><![CDATA[<br />前阵子排查一个OOM 的问题，刚好和hsf有点关系，于是找毕玄帮忙查找问题，看看hsf 的代码，看到毕玄在用Btrace来跟踪方法的调用，觉得此法还是不错滴，以前都是人肉看现象推测，汗，再次记录下。<br />http://blog.bluedavy.com/?p=185  这个是毕玄记录的BTrace使用，可以参考下。<br /> <br />BTrace is a safe, dynamic tracing tool for Java. BTrace works by dynamically]]></description><category></category></item><item><title><![CDATA[Mina 学习纪录]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6030019</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6030019</guid><author>changewang</author><pubDate>Tue, 23 Nov 2010 16:03:00 +0800</pubDate><description><![CDATA[MINA 是基于 filterchain 来做的。类似web请求的filter，通过一串串的filter 处理费业务性的处理逻辑，如编解码，日志等。然后交由 handler 去实施自己的业务处理逻辑。在Mina里面，对于NIO的 socket实现有三类I/O 工作线程：一：Acceptor thread   它接受连接请求，然后将连接转由 I/O processor thread 来做读写操作。     每一个 SocketAcceptor 创建一个 acceptor thread，这个 acceptor ]]></description><category></category></item><item><title><![CDATA[java 内存CMS GC]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/6012807</link><guid>https://blog.youkuaiyun.com/changewang/article/details/6012807</guid><author>changewang</author><pubDate>Tue, 16 Nov 2010 17:09:00 +0800</pubDate><description><![CDATA[<br />今年公司开始试用CMS 的GC方式，这里主要是记录几个地址，看到了觉得还蛮不错的。<br /> <br /> <br />1：关于CMS  GC 的日志说明，以及基本的问题调优，虽然已JDK4，5来说明的，但是基本差不多。<br />http://www.sun.com/bigadmin/content/submitted/cms_gc_logs.jsp<br /> <br />2：与前面的sun 的文档描述其实差不多，中文的也可以参考下。<br />http://tianya23.blog.5]]></description><category></category></item><item><title><![CDATA[Groovy& Grails学习纪录]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5936063</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5936063</guid><author>changewang</author><pubDate>Tue, 12 Oct 2010 16:26:00 +0800</pubDate><description><![CDATA[参考： http://groovy.codehaus.org/Getting+Started+Guide以前一直对动态编译语言不太感冒，觉得那个开发过程还是蛮痛苦的，可能习惯了IDE工具的支持，转而学习动态语言却回退到了文本编辑的时代，习惯了即时编译报错，对于这种滞后性的运行期的编译保持敌对心理，这也是我个人一直最为诟病的地方。不过这也是动态语言的优势，动态元素引入的灵活性确实也是不言而喻的。现在动态语言也是越来越火，公司也开始在很多地方使用。于是乎 昨天兴致来了，一天断断续续的翻阅了下相关文档，这里不做各]]></description><category></category></item><item><title><![CDATA[java如何模拟 登陆 ]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5905662</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5905662</guid><author>changewang</author><pubDate>Sat, 25 Sep 2010 17:31:00 +0800</pubDate><description><![CDATA[最近在思索一个关于如何更好地监控检测系统功能的问题，不知道是否可以通过另外一个辅助系统来实施检测实际负载功能系统的运行。而如何检测系统功能呢，是否可以像自动化回归测试那样来回归线上的测试情况呢，因为登陆时一个必过的坎，于是有了模拟登陆系统的想法。当然如果真要这么实施的话，这个工作量是相当巨大的，每一个业务点都要去这样做的话，是不亚于做功能性业务系统的工作量的，甚至更大。当然也还有很多的点需要考虑，如：页面样式，以及js效果检测等等，不过主流程业务检测应该是可以做的，呵呵呵。纯属YY阶段。这里贴上一段自己写的]]></description><category></category></item><item><title><![CDATA[生产环境系统负载测试]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5905590</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5905590</guid><author>changewang</author><pubDate>Sat, 25 Sep 2010 17:10:00 +0800</pubDate><description><![CDATA[<br />今年公司对于系统的稳定性越来越重视，为了知道了解系统的运行状况，前阵子对于交易系统做了生产环境的压力测试。<br />视乎记忆力越来越差了，做过的一些事情，慢慢的都快忘记了，这里记录下运行的轨迹：<br />因为毕竟是生产环境，可不能够随便的瞎折腾，于是乎和PE商量，挑选了几台机器，本想直接通过新加vip 的形式，将其中几台机器的流量直接引入到某一台承载机器上，后听说操作起来比较麻烦，因为后来改用 apache 的jl_module 来做，具体的配置如下：<br /><br /><br />配置]]></description><category></category></item><item><title><![CDATA[Consistent Hashing Algorithm 一致性hash算法]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5664998</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5664998</guid><author>changewang</author><pubDate>Fri, 11 Jun 2010 19:32:00 +0800</pubDate><description><![CDATA[Consistent Hashing Algorithm 一致性hash算法]]></description><category></category></item><item><title><![CDATA[java 基础之 范型]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5390105</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5390105</guid><author>changewang</author><pubDate>Wed, 17 Mar 2010 17:34:00 +0800</pubDate><description><![CDATA[范型的最佳用途，就是用于实现容器类，实现一个通用的容器。该容器可以存储对象，也可以取出对象，而不用考虑对象的具体类型。

在java中，范型是在编译器中实现的，而不是在虚拟机中实现的，虚拟机对范型一无所知。
因此，编译器一定要把范型类修改为普通类，才能够在虚拟机中执行。在java中，这种技术称之为“擦除”（Type Erasure），也就是用Object类型替换范型。
所有的范型都被替换为]]></description><category></category></item><item><title><![CDATA[java 序列化]]></title><link>https://blog.youkuaiyun.com/changewang/article/details/5260764</link><guid>https://blog.youkuaiyun.com/changewang/article/details/5260764</guid><author>changewang</author><pubDate>Wed, 27 Jan 2010 11:11:00 +0800</pubDate><description><![CDATA[对象序列化(Serializable)是指将对象转换为字节序列的过程，而反序列化则是根据字节序列恢复对象的过程。序列化一般用于以下场景：1.永久性保存对象，保存对象的字节序列到本地文件中；2.通过序列化对象在网络中传递对象；3.通过序列化在进程间传递对象。对象所属的类必须实现Serializable或是Externalizable接口才能被序列化。对实现了Serializabl]]></description><category></category></item></channel></rss>