<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/imlearningimthinking" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/imlearningimthinking" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 05 Feb 2012 06:53:06 GMT</lastBuildDate><title>I'm learning,I'm thinking</title><description>记录Daniel的学习过程和体验</description><link>http://www.daniel-journey.com</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sun, 05 Feb 2012 06:53:06 GMT</pubDate><item><title>Daniel-Journey Weekly Dose –2012/2/5</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/602335744/5715776/1/item.html</link><content:encoded>&lt;h4&gt;Windows&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://winsystem.ctocio.com.cn/Longhorn/472/8756972.shtml#&quot;&gt;Windows 7中Telnet功能安装与测试&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Programming&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.laruence.com/2012/02/02/2515.html&quot;&gt;我们什么时候应该使用异常?&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;h5&gt;错误码&lt;/h5&gt;
&lt;p&gt;1. 错误信息不丰富     &lt;br /&gt;2. 加入错误状态码可能需要改变函数签名      &lt;br /&gt;3. 错误状态码可能会被忽略&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;Cloud&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/kanghua/article/details/7232191&quot; target=&quot;_blank&quot;&gt;谁来拯救云计算&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Scalability&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/write-through-cache&quot; target=&quot;_blank&quot;&gt;Write Through Cache&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Cache is a component that will magically store data so that future requests of that same data will not be to the Remote Server, and hence it will improve the performance of our application significantly faster.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Operations&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.bluedavy.com/?p=363&quot;&gt;Java应用运维&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Architecture&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://lukefan.com/?p=426&quot;&gt;关于排队系统&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_493a84550101243z.html&quot; target=&quot;_blank&quot;&gt;对事件驱动的消息订阅的再思考&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;​&lt;a href=&quot;http://qing.weibo.com/2244218960/85c4105033000bwp.html&quot; target=&quot;_blank&quot;&gt;浅谈架构&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;如果要更正式点定义，架构就是model和pattern，从而把code串成system。而其中最重要的就是design principles (设计原则），即为什么这个问题要用这个而非那个。更文艺点，再结合点美学，也可以叫作design philosophy (设计哲学或理念)。 &lt;/p&gt;
&lt;p&gt;然后我们来看什么是model和pattern，这两个具体的定义我还没想出来。先说一下比较，model偏宏观，而pattern偏微观；model重抽象描述，而pattern重具体实现。比如，你的系统有一个服务端和一个客户端，那么client/server就是model，而client与server之间的交互方式则是pattern，比如RPC/message、同步/异步，比如用滑动窗口来组织请求与应答等等。当然，这和系统的尺度有关。如果你zoom in到服务端，此时的model可能就是模块的组织关系，而pattern则是调用方式，比如用function call还是event等。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;架构是什么：其实&amp;quot;架构&amp;quot;, 就是一个人用于解决常见(注意常见)设计问题的特定方法…&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;经常有人把&amp;quot;架构&amp;quot;说的很玄乎,很虚. 其实&amp;quot;架构&amp;quot;, 就是一个人用于解决常见(注意常见)设计问题的特定方法(注意特定的, 但不一定是一个). 遇到问题稍许有些变化, 他能适当的调整自己的常用(注意常用)设计而去适合这个变化的能力. 这就叫:&amp;quot;架构&amp;quot;设计&amp;#8230; 也就是说, 架构是:方法论, 是经验, 更是变通能力.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.jdon.com/concurrent/reactor.htm&quot; target=&quot;_blank&quot;&gt;Reactor模式和NIO&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a href=&quot;http://daimojingdeyu.iteye.com/blog/828696&quot;&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;Reactor模式，或者叫反应器模式&lt;/font&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;h4&gt;Java&lt;/h4&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blogjava.net/hopeshared/default.html?1436492438&amp;amp;page=4&quot; target=&quot;_blank&quot;&gt;使用Jakarta Commons Pool处理对象池化&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;对于没有状态的对象（例如String），在重复使用之前，无需进行任何处理；对于有状态的对象（例如StringBuffer），在重复使用之前，就需要把它们恢复到等同于刚刚生成时的状态。由于条件的限制，恢复某个对象的状态的操作不可能实现了的话，就得把这个对象抛弃，改用新创建的实例了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://wenku.baidu.com/view/29adbc1ffad6195f312ba65a.html&quot; target=&quot;_blank&quot;&gt;Java克隆&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/tech/largememory-jsp-137182.html&quot; target=&quot;_blank&quot;&gt;Java Support for Large Memory Pages&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/java-hotspot-vm-virtual&quot; target=&quot;_blank&quot;&gt;Java HotSpot VM (Virtual Machine) Performance Tuning: Command-line options&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.plumbr.eu/blog/solving-outofmemoryerror-jdk-tools&quot;&gt;Solving OutOfMemoryError (part 5) &amp;#8211; JDK Tools&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;jps -lvm&lt;/p&gt;
&lt;p&gt;&lt;dfn&gt;-m&lt;/dfn&gt; Output the arguments passed to the main method. The output may be null for embedded JVMs.       &lt;br /&gt;&lt;dfn&gt;-l&lt;/dfn&gt; Output the full package name for the application&amp;#8217;s main class or the full path name to the application&amp;#8217;s JAR file.       &lt;br /&gt;&lt;dfn&gt;-v&lt;/dfn&gt; Output the arguments passed to the JVM.&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602335744/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/602335744/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/834/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Windows
Windows 7中Telnet功能安装与测试
Programming
我们什么时候应该使用异常?
错误码
1. 错误信息不丰富     2. 加入错误状态码可能需要改变函数签名      3. 错误状态码可能会被忽略

&amp;#160;
Cloud
谁来拯救云计算
Scalability
Write Through Cache
Cache is a component that will magically store data so that future requests of that same data will not be to the Remote Server, and hence it will improve the performance of our application significantly faster.

Operations
Java应用运维
Architecture
关于排队系统
对事件驱动的消息订阅的再思考
​浅谈架构
如果要更正式点定义，架构就是model和pattern，从而把code串成system。而其中最重要的就是design principles (设计原则），即为什么这个问题要用这个而非那个。更文艺点，再结合点美学，也可以叫作design [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602335744/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/602335744/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>JAVA</category><category>Architecture</category><category>jvm</category><category>Operations</category><category>Scalability</category><category>Cloud</category><category>Design Pattern</category><pubDate>Sun, 05 Feb 2012 14:53:06 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/834#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/834</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/834</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/602335744/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2012/1/30</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299178/5715776/1/item.html</link><content:encoded>&lt;h4&gt;Scalability&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/cenwenchu79/article/details/6093015&quot; target=&quot;_blank&quot;&gt;耗内存应用优化实际案例&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/cenwenchu79/article/details/6076513&quot;&gt;Local Cache的小TIP&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;但本地缓存最大的问题就是数据同步，如果让集中式存储（cache,queue）来通知只会增加复杂度，因此通常最简单的方式就是根据业务数据的敏感度设置不同长短的本地失效时间。但现在如果要设置一个较短的有效期（例如一秒），对于计算机来说已经大大的减轻了压力（1秒对程序来说太久了），但是整体本地缓存对后端保护的效果不佳（特别是后端如果是并发处理能力较弱的系统），如果遇到并发量大的系统，那么就更为突出了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;OOP&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.shaunabram.com/exceptions-vs-return-values-article/&quot;&gt;Exceptions versus Return Values&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/ai92/article/details/224598&quot;&gt;深入浅出享元模式&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://hi.baidu.com/thinkinginlamp/blog/item/ea586b63472627680c33fa38.html&quot; target=&quot;_blank&quot;&gt;单例模式是邪恶的么？&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.iteye.com/topic/960532&quot; target=&quot;_blank&quot;&gt;有状态vs无状态&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Stateless or Stateful?      &lt;br /&gt;Service objects will usually be stateless. Stateless service layers are highly scalable: They pose no replication issues and there is no need to allocate additional resources for every client. (Remember that one of the key motivations of a middle tier is to share resources between multiple clients.) It is also much easier for stateless service layers to support remote clients, if necessary. A stateless service layer is one concession of object orientation that I find not too painful.&lt;/p&gt;
&lt;p&gt;……      &lt;br /&gt;If possible, design applications to use a stateless service layer. Hold state in the web tier, rather than in the business logic tier, if possible.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;LINUX&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://coolshell.cn/articles/5426.html&quot; target=&quot;_blank&quot;&gt;简明Vim 练级攻略&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.tao.ma/?p=10&quot; target=&quot;_blank&quot;&gt;free命令中的buffers和cached&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.thegeekstuff.com/2012/01/linux-inodes/&quot; target=&quot;_blank&quot;&gt;Understand UNIX / Linux Inodes Basics with Examples&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;An Inode number points to an Inode. An Inode is a data structure that stores the following information about a file :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Size of file &lt;/li&gt;
&lt;li&gt;Device ID &lt;/li&gt;
&lt;li&gt;User ID of the file &lt;/li&gt;
&lt;li&gt;Group ID of the file &lt;/li&gt;
&lt;li&gt;The file mode information and access privileges for owner, group and others &lt;/li&gt;
&lt;li&gt;File protection flags &lt;/li&gt;
&lt;li&gt;The timestamps for file creation, modification etc &lt;/li&gt;
&lt;li&gt;link counter to determine the number of hard links &lt;/li&gt;
&lt;li&gt;Pointers to the blocks storing file’s contents &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h4&gt;JAVA&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.umbrant.com/blog/2012/twitter_jvm_tuning.html&quot;&gt;jvm performance tuning (notes)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.jroller.com/VelkaVrana/entry/thread_state_transitions_diagram&quot; target=&quot;_blank&quot;&gt;Thread state transitions diagram&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.jroller.com/VelkaVrana/resource/threads/threadStates090601.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ahmadsoft.org/articles/removeall/index.html&quot; target=&quot;_blank&quot;&gt;Optimizing ArrayList.removeAll&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://wikis.oracle.com/display/HotSpotInternals/PerformanceTechniques&quot; target=&quot;_blank&quot;&gt;Performance techniques used in the Hotspot JVM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blogjava.net/jzone/articles/303979.html&quot;&gt;JAVA线程dump的分析&amp;#8212; jstack pid&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://crane-ding.iteye.com/blog/968862&quot;&gt;怎样使用jstack诊断Java应用程序故障&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.javaperformancetuning.com/articles/commando.shtml&quot; target=&quot;_blank&quot;&gt;The Commando Pattern&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://developers.sun.com/mobility/midp/articles/garbagecollection2/index.html&quot; target=&quot;_blank&quot;&gt;Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://weblogs.java.net/blog/kohsuke/archive/2008/03/deep_dive_into.html&quot; target=&quot;_blank&quot;&gt;Deep dive into assembly code from Java&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;quot;&lt;tt&gt;java -XX:+PrintOptoAssembly -server -cp . Main&lt;/tt&gt;&amp;quot;. The &lt;tt&gt;-XX:+PrintOptoAssembly&lt;/tt&gt; is the magic option, and with this option I get the following, which shows the code of the &amp;quot;foo&amp;quot; method:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://hi.baidu.com/lanwujiya/blog/item/cd9c4c2b208bf7305243c1ca.html&quot; target=&quot;_blank&quot;&gt;Throwable的fillInStackTrace方法&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;fillInStackTrace每次执行的时候，会清空原来的栈内的trace信息。然后在当前的调用位置处重新建立trace信息， 所以在方法b()中printStackTrace的执行结果跟c()中的是不一样的。 b()方法被c()调用，c()被a()调用，a()被main()调用， 所以在b()中fillInStackTrace时，栈内会包含b(), a(), main()的信息；而在c()中调用fillInStackTrace时，栈内的信息会被刷新为c(), a(), main()。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;a href=&quot;http://www.blogjava.net/dongbule/archive/2011/02/15/344387.html&quot;&gt;java数据结构-HashMap&lt;/a&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;http://programdolt.iteye.com/blog/1186690&quot;&gt;Oracle时间索引的使用&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/cn/java/j-ropes/&quot; target=&quot;_blank&quot;&gt;Rope：理论与实践&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Java?言默认的 String和 StringBuilder类很难支撑起操纵大量字符串的系统。rope 数据结构可能是更好的替代品。这篇文章介绍 Ropes for Java，这是针对 Java 平台的 rope 实现；本文还将研究性能问题，并提供一些有效使用 rope 库的指导。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.slideshare.net/rogeryi/java-memory-tipstricks-7506538&quot; target=&quot;_blank&quot;&gt;Java Memory&amp;#160; Tips &amp;amp; Tricks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://hi.baidu.com/myweb2/blog/item/39048699c88af40b6e068cd4.html&quot; target=&quot;_blank&quot;&gt;JAVA 基本数据类型长度&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/flynetcn/article/details/2142020&quot;&gt;java关键字Transient&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/zxbcjdx/article/details/6698455&quot; target=&quot;_blank&quot;&gt;Java对象的大小&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;在Java中，一个空Object对象的大小是8byte，这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句：&lt;/p&gt;
&lt;p&gt;Object ob = new Object();&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 这样在程序中完成了一个Java对象的生命，但是它所占的空间为：4byte+8byte。4byte是上面部分所说的Java栈中保存引用的所需要的空间。而那8byte则是Java堆中对象的信息。因为所有的Java非基本类型的对象都需要默认继承Object对象，因此不论什么样的Java对象，其大小都必须是大于8byte。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160; 有了Object对象的大小，我们就可以计算其他对象的大小了。&lt;/p&gt;
&lt;p&gt;Class NewObject {&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; int count;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; boolean flag;&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Object ob;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 其大小为：空对象大小(8byte)+int大小(4byte)+Boolean大小(1byte)+空Object引用的大小 (4byte)=17byte。但是因为Java在对对象内存分配时都是以8的整数倍来分，因此大于17byte的最接近8的整数倍的是24，因此此对象的大小为24byte。&lt;/p&gt;
&lt;p&gt;这里需要注意一下基本类型的包装类型的大小。因为这种包装类型已经成为对象了，因此需要把他们作为对象来看待。包装类型的大小至少是12byte（声明一个空Object至少需要的空间），而且12byte没有包含任何有效信息，同时，因为Java对象大小是8的整数倍，因此一个基本类型包装类的大小至少是16byte。这个内存占用是很恐怖的，它是使用基本类型的N倍（N&amp;gt;2），有些类型的内存占用更是夸张（随便想下就知道了）。因此，可能的话应尽量少使用包装类。在JDK5.0以后，因为加入了自动类型装换，因此，Java虚拟机会在存储方面进行相应的优化。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.bluedavy.com/?p=70&quot;&gt;说说MaxTenuringThreshold这个参数&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;在计算存活周期这个阈值时，hotspot会遍历所有age的table，并对其所占用的大小进行累积，当累积的大小超过了survivor space的一半时，则以这个age作为新的存活周期阈值，最后取age和MaxTenuringThreshold中更小的一个值&lt;/p&gt;
&lt;p&gt;如希望跟踪每次minor GC后新的存活周期的阈值，可在启动参数上增加：-XX:+PrintTenuringDistribution，输出的信息中的：      &lt;br /&gt;Desired survivor size 1048576 bytes, new threshold 7 (max 15)       &lt;br /&gt;new threshold 7即标识新的存活周期的阈值为7。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.javasanity.org/understandingthreaddumps&quot; target=&quot;_blank&quot;&gt;Understanding a Java thread dump&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.dynatrace.com/2009/08/13/java-memory-problems/&quot; target=&quot;_blank&quot;&gt;Java Memory Problems&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.dynatrace.com/2011/04/20/the-top-java-memory-problems-part-1/&quot; target=&quot;_blank&quot;&gt;The Top Java Memory Problems – Part 1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.dynatrace.com/2011/12/15/the-top-java-memory-problems-part-2/&quot; target=&quot;_blank&quot;&gt;The Top Java Memortaiy Problems – Part 2&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Hardware&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.symantec.com/connect/articles/getting-hang-iops&quot; target=&quot;_blank&quot;&gt;Getting the hang of IOPS&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Database&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/jackal/archive/2011/02/14/1954231.html&quot; target=&quot;_blank&quot;&gt;ORACLE数据库事务隔离级&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;当下列事件发生时，事务就开始了&lt;/p&gt;
&lt;p&gt;1、连接到数据库，并执行第一条DML语句&lt;/p&gt;
&lt;p&gt;2、前一个事务结束后，又输入了另一条DML语句&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;NETWOK&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.udpwork.com/item/6728.html&quot;&gt;记一次TIME_WAIT网络故障&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299178/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299178/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/833/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Scalability
耗内存应用优化实际案例
Local Cache的小TIP
但本地缓存最大的问题就是数据同步，如果让集中式存储（cache,queue）来通知只会增加复杂度，因此通常最简单的方式就是根据业务数据的敏感度设置不同长短的本地失效时间。但现在如果要设置一个较短的有效期（例如一秒），对于计算机来说已经大大的减轻了压力（1秒对程序来说太久了），但是整体本地缓存对后端保护的效果不佳（特别是后端如果是并发处理能力较弱的系统），如果遇到并发量大的系统，那么就更为突出了。

OOP
Exceptions versus Return Values
深入浅出享元模式
单例模式是邪恶的么？
有状态vs无状态
Stateless or Stateful?      Service objects will usually be stateless. Stateless service layers are highly scalable: They pose no replication issues and there is no need to allocate additional resources for every client. (Remember that one of the key motivations of a middle tier is to share [...]&lt;img src=&quot;http://www1.feedsky.com/t1/600299178/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299178/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>网络</category><category>阅读</category><category>JAVA</category><category>VIM</category><category>Oracle</category><category>LINUX</category><category>jvm</category><category>数据库</category><pubDate>Mon, 30 Jan 2012 14:08:21 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/833#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/833</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/833</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299178/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2011/12/11</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299179/5715776/1/item.html</link><content:encoded>&lt;h4&gt;JAVA&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.bluedavy.com/?p=290&quot; target=&quot;_blank&quot;&gt;一个GC频繁的Case&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fasterj.com/articles/finalizer1.shtml&quot; target=&quot;_blank&quot;&gt;The Secret Life Of The Finalizer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://java.sun.com/developer/technicalArticles/javase/finalization/&quot; target=&quot;_blank&quot;&gt;How to Handle Java Finalization&amp;#8217;s Memory-Retention Issues&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;&lt;a href=&quot;http://agapple.iteye.com/blog/1051724&quot;&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;velocity的一些优化记录&lt;/font&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;h4&gt;LINUX&lt;/h4&gt;
&lt;h5&gt;&lt;a href=&quot;http://dongyajun.iteye.com/blog/613352&quot;&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;Linux 如何查看进程的各线程的CPU占用&lt;/font&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.54sa.com/linux/server/201108293012.html&quot; target=&quot;_blank&quot;&gt;常用的Linux系统监控命令整理&lt;/a&gt; &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;找到最耗CPU的java线程&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid&lt;/p&gt;
&lt;p&gt;比如你想分析一下一个java进程的一些运行瓶颈点，可以通过该命令找到所有当前Thread的占用CPU的时间，也就是这里的最后一列。&lt;/p&gt;
&lt;p&gt;比如这里找到了一个TID : 30834 ，所占用的TIME时间最高。&lt;/p&gt;
&lt;p&gt;通过 printf &amp;quot;%x\n&amp;quot; 30834 首先转化成16进制， 继续通过jstack命令dump出当前的jvm进程的堆栈信息。 通过Grep命令即可以查到对应16进制的线程id信息，很快就可以找到对应最耗CPU的代码快在哪。&lt;/p&gt;
&lt;p&gt;top -Hp pid&lt;/p&gt;
&lt;p&gt;你可以实时的跟踪并获取指定进程中最耗cpu的线程。 再用前面的方法提取到对应的线程堆栈信息。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://space.itpub.net/2008/viewspace-45242&quot; target=&quot;_blank&quot;&gt;vi在使用查找中如何忽略大小写&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;font style=&quot;background-color: #ffffff&quot;&gt;/xoryc\c&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299179/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299179/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/832/feed</wfw:commentRss><slash:comments>0</slash:comments><description>JAVA
一个GC频繁的Case
The Secret Life Of The Finalizer
How to Handle Java Finalization&amp;#8217;s Memory-Retention Issues
velocity的一些优化记录
LINUX
Linux 如何查看进程的各线程的CPU占用
&amp;#160;
常用的Linux系统监控命令整理 
找到最耗CPU的java线程
ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid
比如你想分析一下一个java进程的一些运行瓶颈点，可以通过该命令找到所有当前Thread的占用CPU的时间，也就是这里的最后一列。
比如这里找到了一个TID : 30834 ，所占用的TIME时间最高。
通过 printf &amp;#34;%x\n&amp;#34; 30834 首先转化成16进制， 继续通过jstack命令dump出当前的jvm进程的堆栈信息。 通过Grep命令即可以查到对应16进制的线程id信息，很快就可以找到对应最耗CPU的代码快在哪。
top -Hp pid
你可以实时的跟踪并获取指定进程中最耗cpu的线程。 再用前面的方法提取到对应的线程堆栈信息。

&amp;#160;
vi在使用查找中如何忽略大小写
/xoryc\c&lt;img src=&quot;http://www1.feedsky.com/t1/600299179/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299179/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>未分类</category><pubDate>Tue, 17 Jan 2012 13:13:38 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/832#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/832</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/832</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299179/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2011/1/16</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299180/5715776/1/item.html</link><content:encoded>&lt;h4&gt;SOA&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://javatar.iteye.com/blog/1345073&quot;&gt;服务治理过程演进&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;LINUX&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.linux521.com/2009/system/200907/6497.html&quot; target=&quot;_blank&quot;&gt;如何在Linux下来查看OS系统块的大小&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;getconf PAGESIZE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Java&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/lwzcjd/article/details/5617200&quot;&gt;logback与Log4J的区别&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://trove.starlight-systems.com/&quot; target=&quot;_blank&quot;&gt;The Trove library provides high speed regular and primitive collections for Java&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.plumbr.eu/blog/fat-collections&quot; target=&quot;_blank&quot;&gt;Put your fat Collections on a diet!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/java-collection-performance&quot; target=&quot;_blank&quot;&gt;Java Collection Performance&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://java.dzone.com/articles/java-sequential-io-performance&quot; target=&quot;_blank&quot;&gt;Java Sequential IO Performance&lt;/a&gt;    &lt;br /&gt;&lt;a href=&quot;http://www.infoq.com/cn/articles/jvm-hotspot&quot;&gt;HotSpot虚拟机对象探秘&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.javacodegeeks.com/2011/07/low-gc-in-java-use-primitives-instead.html&quot;&gt;Low GC in Java: Use primitives instead of wrappers&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;There are two good reason to use primitives instead of wrappers where possible.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clarity. By using a primitive, you are making it clear that a null value is not appropriate. &lt;/li&gt;
&lt;li&gt;Performance. Using primitives is often much faster.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/&quot; target=&quot;_blank&quot;&gt;Servlet 3.0 新特性详解&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;ol&gt;
&lt;li&gt;异步处理支持：有了该特性，Servlet 线程不再需要一直阻塞，直到业务处理完毕才能再输出响应，最后才结束该 Servlet 线程。在接收到请求之后，Servlet 线程可以将耗时的操作委派给另一个线程来完成，自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况，这将大大减少服务器资源的占用，并且提高并发处理速度。 &lt;/li&gt;
&lt;li&gt;新增的注解支持：该版本新增了若干注解，用于简化 Servlet、过滤器（Filter）和监听器（Listener）的声明，这使得 web.xml 部署描述文件从该版本开始不再是必选的了。 &lt;/li&gt;
&lt;li&gt;可插性支持：熟悉 Struts2 的开发者一定会对其通过插件的方式与包括 Spring 在内的各种常用框架的整合特性记忆犹新。将相应的插件封装成 JAR 包并放在类路径下，Struts2 运行时便能自动加载这些插件。现在 Servlet 3.0 提供了类似的特性，开发者可以通过插件的方式很方便的扩充已有 Web 应用的功能，而不需要修改原有的应用。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Architecture&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ppurl.com/forum/thread/1549/&quot; target=&quot;_blank&quot;&gt;历届「Jolt Awards」获奖书籍&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.searchsoa.com.cn/showcontent_57392.htm&quot; target=&quot;_blank&quot;&gt;企业应用架构模式&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;响应性不同于请求处理，它是系统响应请求的速度有多快。这个指标在许多系统里非常重要，因为对于一些系统而言，如果其响应太慢，用户将难以忍受——尽管其响应时间可能不慢。如果能够在处理真正完成之前就给用户一些信息表明系统已经接到请求，则响应性就会好一些。例如，进展条。&lt;/p&gt;
&lt;p&gt; 一条关于依赖性的普遍原则：领域层和数据源层绝对不要依赖于表现层。&lt;/p&gt;
&lt;p&gt; 领域逻辑的组织可以分为三种主要的模式：事务脚本、领域模型以及表模块。&lt;/p&gt;
&lt;p&gt; 事务脚本是这样一个过程：从表示层获得输入、进行校验和计算处理、将数据存储到数据库中以及调用其他系统的操作等。基本的组织方式是让每个过程对应用户可能做的一个动作。所以，我们可以将这一模型想像成一个动作或业务事务的脚本。每一个动作是由一个过程来驱动。&lt;/p&gt;
&lt;p&gt; 在领域模型中，不再是由一个过程来控制用户某一动作的逻辑，而是由每一个对象都承担一部分相关逻辑。&lt;/p&gt;
&lt;p&gt; 在许多方面，表模块是事务脚本和领域模型的一个中间地带。它围绕表而非直接围绕过程来组织领域逻辑，提供了更多的结构，而且更容易发现和移除冗余代码。但是，你无法应用许多在领域模型中可以使用的组织细粒度逻辑结构的技术，例如继承、策略和其他面向对象的设计模式。&lt;/p&gt;
&lt;p&gt; 通常，序列化LOB（大对象Large OBject）对于用来组成应用程序部分的相对独立对象群而言是最好的。但如果过多使用它，最终会把数据库弄得和事务文件系统差不多。&lt;/p&gt;
&lt;p&gt; 对于任何继承结构，一般都有三种选择。可以为一个层次中的所有类建立一个表，即单表继承；也可以为每个具体类建立一个表，即具体表继承；或者为这个层次中每一个类建立一个表：类表继承。&lt;/p&gt;
&lt;p&gt; 这三种方法有利有弊。单表继承浪费空间，但避免了连接操作；具体表继承在超类改变时不得不改变所有表，但它也避免了连接操作，允许从一个表取得一个对象；类表继承需要多个连接操作来载入一个对象，这样通常损失了性能，但它是类和表之间最简单的关系。&lt;/p&gt;
&lt;p&gt; 如果机器处在屏幕流的控制下，那么你就需要应用控制器；如果这台机器是在用户的控制下，你就不要应用控制器。&lt;/p&gt;
&lt;p&gt; 在视图方面，可以考虑三种模式：转换视图、模板视图和两步视图。&lt;/p&gt;
&lt;p&gt; 对任何并发程序的本质来说，仅仅考虑正确性是不够的，还必须考虑灵活性（即有多少并发活动可以同时进行）。人们常常需要牺牲一些正确性以获取更多的灵活性，这取决于失败的严重性和可能性以及人们对并发处理数据的需求。&lt;/p&gt;
&lt;p&gt; 并发问题有两个非常重要的解决方案：一个是隔离（isolation），一个是不变性（immutability）。&lt;/p&gt;
&lt;p&gt; 在乐观锁和悲观锁之间进行选择的标准是：冲突的频率与严重性。如果冲突很少，或者冲突的后果不会很严重，那么通常情况下应该选择乐观锁，因为它能得到更好的并发性，而且更容易实现。但是，如果冲突的结果对于用户来说是痛苦的，那么就需要使用悲观锁策略。&lt;/p&gt;
&lt;p&gt; 超时控制和检测机制处理已经出现的死锁，而其他的方法则尽力防止死锁的发生。&lt;/p&gt;
&lt;p&gt; 跨越多个请求的事务称为长事务。&lt;/p&gt;
&lt;p&gt; 在请求开始时启动事务，在请求结束时提交事务，这是请求事务。&lt;/p&gt;
&lt;p&gt; 另一种方法是尽可能晚打开事务。使用延迟事务时，应在事务外完成读取数据的操作，只在修改数据的时候启动事务。然而，这可能会导致不一致读问题。&lt;/p&gt;
&lt;p&gt; 当可以并发执行并且结果与以某种顺序依次执行的结果相同时，事务就是可串行化的（serializable）。&lt;/p&gt;
&lt;p&gt; 如果系统中有很多用户，应该考虑使用集群来提高吞吐率。会话迁移（session migration） 允许一次会话从一台服务器转移到另一台服务器，从而可以由一台服务器处理一个请求，其他服务器处理其他的请求。与其相反的方式是服务器亲和（server affinity），它要求某次特定会话的所有请求只能由同一台服务器处理。&lt;/p&gt;
&lt;p&gt; 分布对象设计第一定律：不要分布使用对象。&lt;/p&gt;
&lt;p&gt; 这种情况下，怎样有效利用多处理器资源呢？大多数情况下是使用集群系统。在每一个处理器上都部署所有的对象并在其他几个节点上复制它们。这样一来，每个处理器上的对象只需用到本地调用，从而运行更快。还可以使用细粒度接口来设计对象，从而得到更简单的编程模型和更好的可维护性&lt;/p&gt;
&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299180/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299180/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/831/feed</wfw:commentRss><slash:comments>0</slash:comments><description>SOA
服务治理过程演进
LINUX
如何在Linux下来查看OS系统块的大小
getconf PAGESIZE

Java
logback与Log4J的区别
The Trove library provides high speed regular and primitive collections for Java
Put your fat Collections on a diet!
Java Collection Performance
Java Sequential IO Performance    HotSpot虚拟机对象探秘
Low GC in Java: Use primitives instead of wrappers
There are two good reason to use primitives instead of wrappers where possible.

Clarity. By using a primitive, you are making [...]&lt;img src=&quot;http://www1.feedsky.com/t1/600299180/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299180/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>SOA</category><category>JAVA</category><category>Architecture</category><category>LINUX</category><pubDate>Mon, 16 Jan 2012 13:02:50 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/831#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/831</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/831</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299180/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2011/1/8</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299181/5715776/1/item.html</link><content:encoded>&lt;h4&gt;Architecture&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Event_stream_processing&quot; target=&quot;_blank&quot;&gt;Event stream processing&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Java&lt;/h4&gt;
&lt;h5&gt;&lt;a href=&quot;http://wiflish.iteye.com/blog/353324&quot;&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;使maven2在下载依赖包的同时下载其源代码包&lt;/font&gt;&lt;/a&gt;&lt;/h5&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;1. 使用maven命令：mvn dependency:sources 下载依赖包的源代码。      &lt;br /&gt;2. 使用参数： -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.igvita.com/2011/08/01/protocol-buffers-avro-thrift-messagepack/&quot; target=&quot;_blank&quot;&gt;Protocol Buffers, Avro, Thrift &amp;amp; MessagePack&lt;/a&gt;s&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://137.254.16.27/jonthecollector/entry/the_real_thing&quot; target=&quot;_blank&quot;&gt;Thread-Local Allocation Buffers&lt;/a&gt;&amp;#160; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_515015800100gwu6.html&quot; target=&quot;_blank&quot;&gt;HotSpot JVM中的垃圾收集&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;快速分配      &lt;br /&gt;从下文对垃圾收集器的描述中可以看出，在许多情况下，内存中都有大块的连续空闲空间用以满足对象的分配请求。这种情形下的分配操作使用简单的“bump-the-pointer”技术，效率很高。按照这种技术，JVM内部维护一个指针（allocatedTail），它始终指向先前已分配对象的尾部，当新的对象分配请求到来时，只需检查代中剩余空间（从allocatedTail到代尾geneTail）是否足以容纳该对象，并在“是”的情况下更新allocatedTail指针并初始化对象。下面的伪代码具体展示了从连续内存块中分配对象时分配操作的简洁性和高效性：       &lt;br /&gt;void * malloc(int n){       &lt;br /&gt;if( geneTail &amp;#8211; allocatedTail &amp;lt; n )&lt;/p&gt;
&lt;p&gt;doGarbageCollection();      &lt;br /&gt;void * wasAllocatedTail = allocatedTail;       &lt;br /&gt;allocatedTail += n;       &lt;br /&gt;return wasAllocatedTail;       &lt;br /&gt;}       &lt;br /&gt;对于多线程应用，分配操作必须是线程安全的。如果使用全局锁为此提供保证，则分配操作必定成为一个性能瓶颈。基于此，HotSport JVM采用了一种被称为“线程局部分配缓冲区”（Thread-Local Allocation Buffers，TLAB）的技术。该项技术为每个线程提供一个独立的分配缓冲区（伊甸区的一小部分），借此来提高分配操作的吞吐量。因为针对每个TLAB，只有一个线程从中分配对象，故而分配操作可以使用“bump-the-pointer”技术快速完成，而不必使用任何锁机制；只有当线程将其已有TLAB填满并且需要获取一个新的TLAB时，同步才是必须的。同时，为了减少TLAB所带来的空间消耗，还使用了一些其他技术，例如，分配器能够把TLAB的平均大小限制在伊甸区的１％以下。       &lt;br /&gt;“bump-the-pointer”和TLAB技术的组合保证了分配操作的高效性，类似new Object()这样的操作在大部分时间内只需要大约10条机器指令即可完成&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.baiming.org/hulianwang/java/21057.1.html&quot; target=&quot;_blank&quot;&gt;Java线程的6种状态&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;NEW&lt;/p&gt;
&lt;p&gt;至今尚未启动的线程处于这种状态。&lt;/p&gt;
&lt;p&gt;RUNNABLE&lt;/p&gt;
&lt;p&gt;正在 Java 虚拟机中执行的线程处于这种状态。处于可运行状态的某一线程正在 Java 虚拟机中运行，但它可能正在等待操作系统中的其他资源，比如处理器。&lt;/p&gt;
&lt;p&gt;BLOCKED&lt;/p&gt;
&lt;p&gt;受阻塞并且正在等待监视器锁的某一线程的线程状态。处于受阻塞状态的某一线程正在等待监视器锁，以便进入一个同步的块/方法，或者在调用 Object.wait 之后再次进入同步的块/方法。&lt;/p&gt;
&lt;p&gt;WAITING&lt;/p&gt;
&lt;p&gt;无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。某一线程因为调用下列方法之一而处于等待状态：&lt;/p&gt;
&lt;p&gt;1、不带超时值的 Object.wait&lt;/p&gt;
&lt;p&gt;2、不带超时值的 Thread.join&lt;/p&gt;
&lt;p&gt;3、LockSupport.park&lt;/p&gt;
&lt;p&gt;处于等待状态的线程正等待另一个线程，以执行特定操作。 例如，已经在某一对象上调用了 Object.wait() 的线程正等待另一个线程，以便在该对象上调用 Object.notify() 或 Object.notifyAll()。已经调用了 Thread.join() 的线程正在等待指定线程终止。&lt;/p&gt;
&lt;p&gt;TIMED_WAITING&lt;/p&gt;
&lt;p&gt;具有指定等待时间的某一等待线程的线程状态。某一线程因为调用以下带有指定正等待时间的方法之一而处于定时等待状态：&lt;/p&gt;
&lt;p&gt;1、Thread.sleep&lt;/p&gt;
&lt;p&gt;2、带有超时值的 Object.wait&lt;/p&gt;
&lt;p&gt;3、带有超时值的 Thread.join&lt;/p&gt;
&lt;p&gt;4、LockSupport.parkNanos&lt;/p&gt;
&lt;p&gt;5、LockSupport.parkUntil&lt;/p&gt;
&lt;p&gt;TERMINATED&lt;/p&gt;
&lt;p&gt;已终止线程的线程状态。线程已经结束执行。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://tech.puredanger.com/2008/05/09/javaone-g1-garbage-collector/&quot; target=&quot;_blank&quot;&gt;G1 Garbage Collector&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://javapub.iteye.com/blog/762201&quot;&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;Java关于JIT的原理和相关知识&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blogjava.net/security/archive/2009/02/12/Jvm_Lazy-UnLocking_or_Reservation_Lock_or_BiasedLocking.html&quot;&gt;关于Lazy-UnLocking（Reservation Lock）对Java锁的性能优化&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blogjava.net/security/archive/2009/02/16/jvm_thin-lock_fat-lock__spin-lock_tasuki-lock.html&quot;&gt;关于JVM的Thin Lock, Fat Lock, SPIN Lock与Tasuki Lock&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://topic.csdn.net/u/20110510/15/fb5ff956-4ad0-4a80-919b-3089bb5c4d20.html&quot; target=&quot;_blank&quot;&gt;JVM相关知识&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;TLAB全称叫 Thread Local Allocation Buffer），Sun JDK为了提高对象生成的效率，在Eden哪里为每一个新创建的线程创造一个这么样的空间。TLAB的大小一般都是由JVM 运行计算得出的，但是可以通过-XX:TLABWasteTargetPercent来设置TLAB可占用的Eden Space      &lt;br /&gt;的百分比，默认值为1%。       &lt;br /&gt;在TLAB分配内存时不需要加锁，因为在堆上分配内存时候要加锁，所以在TLAB分配时效率快很多。当然 这只是适合小对象分配。其分配细节取决于具体的GC。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Windows&lt;/h4&gt;
&lt;p&gt;Windows 性能监控&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;perfmon.msc 性能监视器&lt;/p&gt;
&lt;p&gt;Windows uses the term “Privileged Time” to represent kernel or system CPU Utilization.&lt;/p&gt;
&lt;p&gt;typeperf&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/qanholas/archive/2011/06/18/2084455.html&quot;&gt;利用TypePerf.exe&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;LINUX&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://hi.baidu.com/zhaobz/blog/item/e4271895c13ad30e7bf4800e.html&quot; target=&quot;_blank&quot;&gt;mpstat使用详解&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;user 在internal时间段里，用户态的CPU时间（%） ，不包含 nice值为负 进程 usr/total*100&lt;/p&gt;
&lt;p&gt;nice 在internal时间段里，nice值为负进程的CPU时间（%） nice/total*100&lt;/p&gt;
&lt;p&gt;system 在internal时间段里，核心时间（%） system/total*100&lt;/p&gt;
&lt;p&gt;iowait 在internal时间段里，硬盘IO等待时间（%） iowait/total*100&lt;/p&gt;
&lt;p&gt;irq 在internal时间段里，软中断时间（%） irq/total*100&lt;/p&gt;
&lt;p&gt;soft 在internal时间段里，软中断时间（%） softirq/total*100&lt;/p&gt;
&lt;p&gt;idle 在internal时间段里，CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 （%） idle/total*100&lt;/p&gt;
&lt;p&gt;intr/s 在internal时间段里，每秒CPU接收的中断的次数 intr/total*100&lt;/p&gt;
&lt;p&gt;CPU总的工作时间=total_cur=user+system+nice+idle+iowait+irq+softirq&lt;/p&gt;
&lt;p&gt;total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq&lt;/p&gt;
&lt;p&gt;user=user_cur – user_pre&lt;/p&gt;
&lt;p&gt;total=total_cur-total_pre&lt;/p&gt;
&lt;p&gt;其中_cur 表示当前值，_pre表示interval时间前的值。上表中的所有值可取到两位小数点。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://sebastien.godard.pagesperso-orange.fr/man_pidstat.html&quot; target=&quot;_blank&quot;&gt;使用pidstat命令监视进程&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299181/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299181/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/830/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Architecture
Event stream processing
Java
使maven2在下载依赖包的同时下载其源代码包

1. 使用maven命令：mvn dependency:sources 下载依赖包的源代码。      2. 使用参数： -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。

Protocol Buffers, Avro, Thrift &amp;#38; MessagePacks
Thread-Local Allocation Buffers&amp;#160; 
HotSpot JVM中的垃圾收集
快速分配      从下文对垃圾收集器的描述中可以看出，在许多情况下，内存中都有大块的连续空闲空间用以满足对象的分配请求。这种情形下的分配操作使用简单的“bump-the-pointer”技术，效率很高。按照这种技术，JVM内部维护一个指针（allocatedTail），它始终指向先前已分配对象的尾部，当新的对象分配请求到来时，只需检查代中剩余空间（从allocatedTail到代尾geneTail）是否足以容纳该对象，并在“是”的情况下更新allocatedTail指针并初始化对象。下面的伪代码具体展示了从连续内存块中分配对象时分配操作的简洁性和高效性：       void * malloc(int n){       if( geneTail &amp;#8211; allocatedTail &amp;#60; n )
doGarbageCollection(); [...]&lt;img src=&quot;http://www1.feedsky.com/t1/600299181/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299181/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>JAVA</category><category>Architecture</category><category>LINUX</category><category>Windows</category><pubDate>Thu, 12 Jan 2012 12:39:31 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/830#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/830</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/830</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299181/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2011/12/31</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299182/5715776/1/item.html</link><content:encoded>&lt;h4&gt;Scalability&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kafka0102.com/2010/04/86.html&quot;&gt;CAP理论及BASE思想等&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;OOP&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://huoding.com/2011/08/14/106&quot; target=&quot;_blank&quot;&gt;静态类的原罪&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Java&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.kafka0102.com/2010/10/383.html&quot; target=&quot;_blank&quot;&gt;各种java序列化工具性能对比&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;h4&gt;LINUX&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blogjava.net/nkjava/archive/2011/12/23/367094.html&quot;&gt;linux 统计目录下的文件数量&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;第一种方法： ls -l|grep &amp;quot;^-&amp;quot;|wc -l ls -l 长列表输出该目录下文件信息(注意这里的文件，不同于一般的文件，可能是目录、链接、设备文件等)。&lt;/p&gt;
&lt;p&gt;第二种方法： ls -lR|grep &amp;quot;^-&amp;quot;|wc -l&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.anbob.com/?p=799&quot;&gt;linux du 显示路径下各子目录大小&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;du -h –max-depth=1 /backup/      &lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://huoding.com/2011/07/13/91&quot; target=&quot;_blank&quot;&gt;通过IOStat命令监控IO性能&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;ul&gt;
&lt;li&gt;rrqm/s：队列中每秒钟合并的读请求数量 &lt;/li&gt;
&lt;li&gt;wrqm/s：队列中每秒钟合并的写请求数量 &lt;/li&gt;
&lt;li&gt;r/s：每秒钟完成的读请求数量 &lt;/li&gt;
&lt;li&gt;w/s：每秒钟完成的写请求数量 &lt;/li&gt;
&lt;li&gt;rsec/s：每秒钟读取的扇区数量 &lt;/li&gt;
&lt;li&gt;wsec/s：每秒钟写入的扇区数量 &lt;/li&gt;
&lt;li&gt;avgrq-sz：平均请求扇区的大小 &lt;/li&gt;
&lt;li&gt;avgqu-sz：平均请求队列的长度 。毫无疑问，队列长度越短越好。 &lt;/li&gt;
&lt;li&gt;await：平均每次请求的等待时间。await是平均每次请求的等待时间。这个时间包括了队列时间和服务时间，也就是说，一般情况下，await大于svctm，它们的差值越小，则说明队列时间越短，反之差值越大，队列时间越长，说明系统出了问题。 &lt;/li&gt;
&lt;li&gt;svctm：平均每次请求的服务时间。从源代码里可以看出：(r/s+w/s)*(svctm/1000)=util。举例子：如果util达到100%，那么此时svctm=1000/(r/s+w/s)，假设IOPS是1000，那么svctm大概在1毫秒左右，如果长时间大于这个数值，说明系统出了问题。 &lt;/li&gt;
&lt;li&gt;util：设备的利用率。如果它接近100%，通常说明设备能力趋于饱和（并不绝对）。有时候会出现大于100%的情况，这是因为读取数据的时候是非原子操作。 &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299182/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299182/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/824/feed</wfw:commentRss><slash:comments>1</slash:comments><description>Scalability
CAP理论及BASE思想等
OOP
静态类的原罪
Java
各种java序列化工具性能对比
&amp;#160;
LINUX
linux 统计目录下的文件数量
第一种方法： ls -l&amp;#124;grep &amp;#34;^-&amp;#34;&amp;#124;wc -l ls -l 长列表输出该目录下文件信息(注意这里的文件，不同于一般的文件，可能是目录、链接、设备文件等)。
第二种方法： ls -lR&amp;#124;grep &amp;#34;^-&amp;#34;&amp;#124;wc -l

linux du 显示路径下各子目录大小
du -h –max-depth=1 /backup/      
&amp;#160;

通过IOStat命令监控IO性能

rrqm/s：队列中每秒钟合并的读请求数量 
wrqm/s：队列中每秒钟合并的写请求数量 
r/s：每秒钟完成的读请求数量 
w/s：每秒钟完成的写请求数量 
rsec/s：每秒钟读取的扇区数量 
wsec/s：每秒钟写入的扇区数量 
avgrq-sz：平均请求扇区的大小 
avgqu-sz：平均请求队列的长度 。毫无疑问，队列长度越短越好。 
await：平均每次请求的等待时间。await是平均每次请求的等待时间。这个时间包括了队列时间和服务时间，也就是说，一般情况下，await大于svctm，它们的差值越小，则说明队列时间越短，反之差值越大，队列时间越长，说明系统出了问题。 
svctm：平均每次请求的服务时间。从源代码里可以看出：(r/s+w/s)*(svctm/1000)=util。举例子：如果util达到100%，那么此时svctm=1000/(r/s+w/s)，假设IOPS是1000，那么svctm大概在1毫秒左右，如果长时间大于这个数值，说明系统出了问题。 
util：设备的利用率。如果它接近100%，通常说明设备能力趋于饱和（并不绝对）。有时候会出现大于100%的情况，这是因为读取数据的时候是非原子操作。&lt;img src=&quot;http://www1.feedsky.com/t1/600299182/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299182/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>OOP</category><category>JAVA</category><category>LINUX</category><category>Scalability</category><pubDate>Sat, 31 Dec 2011 16:21:57 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/824#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/824</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/824</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299182/5715776</fs:itemid></item><item><title>转载：终生受用的十大管理经典理论</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299183/5715776/1/item.html</link><content:encoded>&lt;p&gt;原文地址：&lt;a href=&quot;http://www.tcba.org.cn/Article_Show.asp?ArticleID=16209&quot;&gt;http://www.tcba.org.cn/Article_Show.asp?ArticleID=16209&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1、彼得原理&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 每个组织都是由各种不同的职位、等级或阶层的排列所组成，每个人都隶属于其中的某个等级。彼得原理是美国学者劳伦斯•彼得在对组织中人员晋升的相关现象研究后，得出一个结论：在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为向上爬的原理。这种现象在现实生活中无处不在：一名称职的教授被提升为大学校长后，却无法胜任；一个优秀的运动员被提升为主管体育的官员，而无所作为。对一个组织而言，一旦相当部分人员被推到其不称职的级别，就会造成组织的人浮于事，效率低下，导致平庸者出人头地，发展停滞。因此，这就要求改变单纯的根据贡献决定晋升的企业员工晋升机制，不能因某人在某个岗位上干得很出色，就推断此人一定能够胜任更高一级的职务。将一名职工晋升到一个无法很好发挥才能的岗位，不仅不是对本人的奖励，反而使其无法很好发挥才能，也给企业带来损失。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 2、酒与污水定律&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 酒与污水定律是指把一匙酒倒进一桶污水，得到的是一桶污水；如果把一匙污水倒进一桶酒，得到的还是一桶污水。在任何组织里，几乎都存在几个难弄的人物，他们存在的目的似乎就是为了把事情搞糟。最糟糕的是，他们像果箱里的烂苹果，如果不及时处理，它会迅速传染，把果箱里其他苹果也弄烂。烂苹果的可怕之处，在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没，而一个无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的，是建立在相互理解、妥协和容忍的基础上的，很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于，破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器，一头驴子一秒钟就能毁坏掉。如果一个组织里有这样的一头驴子，即使拥有再多的能工巧匠，也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子，你应该马上把它清除掉，如果你无力这样做，就应该把它拴起来。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 3、木桶定律&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 水桶定律是讲一只水桶能装多少水，这完全取决于它最短的那块木板。这就是说任何一个组织，可能面临的一个共同问题，即构成组织的各个部分往往是优劣不齐的，而劣势部分往往决定整个组织的水平。水桶定律与酒与污水定律不同，后者讨论的是组织中的破坏力量，最短的木板却是组织中有用的一个部分，只不过比其他部分差一些，你不能把它们当成烂苹果扔掉。强弱只是相对而言的，无法消除，问题在于你容忍这种弱点到什么程度，如果严重到成为阻碍工作的瓶颈，你就不得不有所动作。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 4、马太效应&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 《新约•马太福音》中有这样一个故事：一个国王远行前，交给3个仆人每人一锭银子，吩咐道：你们去做生意，等我回来时，再来见我。国王回来时，第一个仆人说：主人，你交给我的一锭银子，我已赚了10锭。于是，国王奖励他10座城邑。第二个仆人报告：主人，你给我的一锭银子，我已赚了5锭。于是，国王奖励他5座城邑。第三仆人报告说：主人，你给我的1锭银子，我一直包在手帕里，怕丢失，一直没有拿出来。于是，国王命令将第三个仆人的1锭银子赏给第一个仆人，说：凡是少的，就连他所有的，也要夺过来。凡是多的，还要给他，叫他多多益善，这就是马太效应，反应当今社会中存在的一个普遍现象，即赢家通吃。对企业经营发展而言，马太效应告诉我们，要想在某一个领域保持优势，就必须在此领域迅速做大。当你成为某个领域的领头羊时，即便投资回报率相同，你也能更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大，就要不停地寻找新的发展领域，才能保证获得较好的回报。&lt;/p&gt;
&lt;p&gt; 5、零和游戏原理&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 零和游戏是指一项游戏中，游戏者有输有赢，一方所赢正是另一方所输，游戏的总成绩永远为零，零和游戏原理之所以广受关注，主要是因为人们在社会的方方面面都能发现与零和游戏类似的局面，胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。20世纪，人类经历两次世界大战、经济高速增长，科技进步、全球一体化以及日益严重的环境污染，零和游戏观念正逐渐被双赢观念所取代。人们开始认识到利已不一定要建立在损人的基础上。通过有效合作皆大欢喜的结局是可能出现的。但从零和游戏走向双赢，要求各方面要有真诚合作的精神和勇气，在合作中不要小聪明，不要总想占别人的小便宜，要遵守游戏规则，否则双赢的局面就不可能出现，最终吃亏的还是合作者自己。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 6、华盛顿合作规律&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 华盛顿合作规律说的是一个人敷衍了事，两个人互相推诿，三个人则永无成事之日。多少有点类似于我们三个和尚的故事。人与人的合作，不是人力的简单相加，而是要复杂和微妙得多。在这种合作中，假定每个人的能力都为1，那么，10个人的合作结果有时比10大得多，有时，甚至比1还要小。因为人不是静止物，而更像方向各异的能量，相互推动时，自然事半功倍，相互抵触时，则一事无成。我们传统的管理理论中，对合作研究得并不多，最直观的反映就是，目前的大多数管理制度和行为都是致力于减少人力的无谓消耗，而非利用组织提高人的效能。换言之，不妨说管理的主要目的不是让每个人做得更好，而是避免内耗过多。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 7、手表定理&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 手表定理是指一个人有一只表时，可以知道现在是几点钟，当他同时拥有两只表时，却无法确定。两只手表并不能告诉一个人更准确的时间，反而会让看表的人失去对准确时间的信心。手表定理在企业经营管理方面，给我们一种非常直观的启发，就是对同一个人或同一个组织的管理，不能同时采用两种不同的方法，不能同时设置两个不同的目标，甚至每一个人不能由两个人同时指挥，否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于，每个人都不能同时选择两种不同的价值观，否则，你的行为将陷于混乱。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 8、不值得定律&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 不值得定律最直观的表述是：不值得做的的事情，就不值得做好。这个定律再简单不过了，重要性却时时被人们忽视遗忘。不值得定律反映人们的一种心理，一个人如果从事的是一份自认为不值得做的事情，往往会保持冷嘲热讽，敷衍了事的态度，不仅成功率低，而且即使成功，也不觉得有多大的成就感。因此，对个人来说，应在多种可供选择的奋斗目标及价值观中挑选一种，然后为之奋斗。选择你所爱的，爱你所选择的，才可能激发我们的斗志，也可以心安理得。而对一个企业或组织来说，则要很好地分析员工的性格特性，合理分配工作，如让成就欲较强的职工单独或牵头完成具有一定风险和难度的工作，并在其完成时，给予及时的肯定和赞扬；让依附欲较强的职工，更多地参加到某个团体*同工作；让权力欲较强的职工，担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感，让员工感觉到自己所做的工作是值得的，这样才能激发职工的热情。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 9、蘑菇管理&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 蘑菇管理是许多组织对待初出茅庐者的一种管理方法，初学者被置于阴暗的角落，浇上一头大粪（无端的批评、指责、代人受过），任其自生自灭（得不到必要的指导和提携）。相信很多人都有过这样一段蘑菇的经历，这不一定是什么坏事，尤其是当一切刚刚开始的时候，当几天蘑菇，能够消除我们很多不切实际的幻想，让我们更加接近现实，看问题也更加实际。一个组织，一般对新进的人员都是一视同仁，从起薪到工作都不会有大的差别。无论你是多么优秀的人才，在刚开始的时候，都只能从最简单的事情做起，蘑菇的经历，对于成长中的年轻人来说，就象蚕茧，是羽化前必须经历的一步。所以，如何高效率地走过生命的这一段，从中尽可能汲取经验，成熟起来，并树立良好的值得信赖的个人形象，是每个刚入社会的年轻人必须面对的课题。&lt;/p&gt;
&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 10、奥卡姆剃刀定律&lt;/p&gt;
&lt;p&gt; 12世纪，英国奥卡姆的威廉主张唯名论，只承认确实存在的东西，认为那些空洞无物的普遍性概念都是无用的累赘，应当被无情地剃除。他主张如无必要，勿增实体。这就是常说的奥卡姆剃刀。这把剃刀曾使很多人感到威胁，被认为是异端邪说，威廉本人也因此受到迫害。然而，并未损害这把刀的锋利，相反，经过数百年的岁月，奥卡姆剃刀已被历史磨得越来越快，并早已超载原来狭窄的领域，而具有广泛、丰富、深刻的意义。奥卡姆剃刀定律在企业管理中可进一步演化为简单与复杂定律：把事情变复杂很简单，把事情变简单很复杂。这个定律要求，我们在处理事情时，要把握事情的主要实质，把握主流，解决最根本的问题，尤其要顺应自然，不要把事情人为地复杂化，这样才能把事情处理好。（文章来源：慧聪网&amp;#160;&amp;#160;&amp;#160; 价值中国&amp;#160; 作者：曾金狮 ）&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299183/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299183/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/823/feed</wfw:commentRss><slash:comments>0</slash:comments><description>原文地址：http://www.tcba.org.cn/Article_Show.asp?ArticleID=16209
1、彼得原理
&amp;#160;&amp;#160;&amp;#160; 每个组织都是由各种不同的职位、等级或阶层的排列所组成，每个人都隶属于其中的某个等级。彼得原理是美国学者劳伦斯•彼得在对组织中人员晋升的相关现象研究后，得出一个结论：在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为向上爬的原理。这种现象在现实生活中无处不在：一名称职的教授被提升为大学校长后，却无法胜任；一个优秀的运动员被提升为主管体育的官员，而无所作为。对一个组织而言，一旦相当部分人员被推到其不称职的级别，就会造成组织的人浮于事，效率低下，导致平庸者出人头地，发展停滞。因此，这就要求改变单纯的根据贡献决定晋升的企业员工晋升机制，不能因某人在某个岗位上干得很出色，就推断此人一定能够胜任更高一级的职务。将一名职工晋升到一个无法很好发挥才能的岗位，不仅不是对本人的奖励，反而使其无法很好发挥才能，也给企业带来损失。
&amp;#160;&amp;#160;&amp;#160; 2、酒与污水定律
&amp;#160;&amp;#160;&amp;#160; 酒与污水定律是指把一匙酒倒进一桶污水，得到的是一桶污水；如果把一匙污水倒进一桶酒，得到的还是一桶污水。在任何组织里，几乎都存在几个难弄的人物，他们存在的目的似乎就是为了把事情搞糟。最糟糕的是，他们像果箱里的烂苹果，如果不及时处理，它会迅速传染，把果箱里其他苹果也弄烂。烂苹果的可怕之处，在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没，而一个无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的，是建立在相互理解、妥协和容忍的基础上的，很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于，破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器，一头驴子一秒钟就能毁坏掉。如果一个组织里有这样的一头驴子，即使拥有再多的能工巧匠，也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子，你应该马上把它清除掉，如果你无力这样做，就应该把它拴起来。
&amp;#160;&amp;#160;&amp;#160; 3、木桶定律
&amp;#160;&amp;#160;&amp;#160; 水桶定律是讲一只水桶能装多少水，这完全取决于它最短的那块木板。这就是说任何一个组织，可能面临的一个共同问题，即构成组织的各个部分往往是优劣不齐的，而劣势部分往往决定整个组织的水平。水桶定律与酒与污水定律不同，后者讨论的是组织中的破坏力量，最短的木板却是组织中有用的一个部分，只不过比其他部分差一些，你不能把它们当成烂苹果扔掉。强弱只是相对而言的，无法消除，问题在于你容忍这种弱点到什么程度，如果严重到成为阻碍工作的瓶颈，你就不得不有所动作。
&amp;#160;&amp;#160;&amp;#160; 4、马太效应
&amp;#160;&amp;#160;&amp;#160; 《新约•马太福音》中有这样一个故事：一个国王远行前，交给3个仆人每人一锭银子，吩咐道：你们去做生意，等我回来时，再来见我。国王回来时，第一个仆人说：主人，你交给我的一锭银子，我已赚了10锭。于是，国王奖励他10座城邑。第二个仆人报告：主人，你给我的一锭银子，我已赚了5锭。于是，国王奖励他5座城邑。第三仆人报告说：主人，你给我的1锭银子，我一直包在手帕里，怕丢失，一直没有拿出来。于是，国王命令将第三个仆人的1锭银子赏给第一个仆人，说：凡是少的，就连他所有的，也要夺过来。凡是多的，还要给他，叫他多多益善，这就是马太效应，反应当今社会中存在的一个普遍现象，即赢家通吃。对企业经营发展而言，马太效应告诉我们，要想在某一个领域保持优势，就必须在此领域迅速做大。当你成为某个领域的领头羊时，即便投资回报率相同，你也能更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大，就要不停地寻找新的发展领域，才能保证获得较好的回报。
 5、零和游戏原理
&amp;#160;&amp;#160;&amp;#160; 零和游戏是指一项游戏中，游戏者有输有赢，一方所赢正是另一方所输，游戏的总成绩永远为零，零和游戏原理之所以广受关注，主要是因为人们在社会的方方面面都能发现与零和游戏类似的局面，胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。20世纪，人类经历两次世界大战、经济高速增长，科技进步、全球一体化以及日益严重的环境污染，零和游戏观念正逐渐被双赢观念所取代。人们开始认识到利已不一定要建立在损人的基础上。通过有效合作皆大欢喜的结局是可能出现的。但从零和游戏走向双赢，要求各方面要有真诚合作的精神和勇气，在合作中不要小聪明，不要总想占别人的小便宜，要遵守游戏规则，否则双赢的局面就不可能出现，最终吃亏的还是合作者自己。
&amp;#160;&amp;#160;&amp;#160; 6、华盛顿合作规律
&amp;#160;&amp;#160;&amp;#160; 华盛顿合作规律说的是一个人敷衍了事，两个人互相推诿，三个人则永无成事之日。多少有点类似于我们三个和尚的故事。人与人的合作，不是人力的简单相加，而是要复杂和微妙得多。在这种合作中，假定每个人的能力都为1，那么，10个人的合作结果有时比10大得多，有时，甚至比1还要小。因为人不是静止物，而更像方向各异的能量，相互推动时，自然事半功倍，相互抵触时，则一事无成。我们传统的管理理论中，对合作研究得并不多，最直观的反映就是，目前的大多数管理制度和行为都是致力于减少人力的无谓消耗，而非利用组织提高人的效能。换言之，不妨说管理的主要目的不是让每个人做得更好，而是避免内耗过多。
&amp;#160;&amp;#160;&amp;#160; 7、手表定理
&amp;#160;&amp;#160;&amp;#160; 手表定理是指一个人有一只表时，可以知道现在是几点钟，当他同时拥有两只表时，却无法确定。两只手表并不能告诉一个人更准确的时间，反而会让看表的人失去对准确时间的信心。手表定理在企业经营管理方面，给我们一种非常直观的启发，就是对同一个人或同一个组织的管理，不能同时采用两种不同的方法，不能同时设置两个不同的目标，甚至每一个人不能由两个人同时指挥，否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于，每个人都不能同时选择两种不同的价值观，否则，你的行为将陷于混乱。
&amp;#160;&amp;#160;&amp;#160; 8、不值得定律
&amp;#160;&amp;#160;&amp;#160; 不值得定律最直观的表述是：不值得做的的事情，就不值得做好。这个定律再简单不过了，重要性却时时被人们忽视遗忘。不值得定律反映人们的一种心理，一个人如果从事的是一份自认为不值得做的事情，往往会保持冷嘲热讽，敷衍了事的态度，不仅成功率低，而且即使成功，也不觉得有多大的成就感。因此，对个人来说，应在多种可供选择的奋斗目标及价值观中挑选一种，然后为之奋斗。选择你所爱的，爱你所选择的，才可能激发我们的斗志，也可以心安理得。而对一个企业或组织来说，则要很好地分析员工的性格特性，合理分配工作，如让成就欲较强的职工单独或牵头完成具有一定风险和难度的工作，并在其完成时，给予及时的肯定和赞扬；让依附欲较强的职工，更多地参加到某个团体*同工作；让权力欲较强的职工，担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感，让员工感觉到自己所做的工作是值得的，这样才能激发职工的热情。
&amp;#160;&amp;#160;&amp;#160; 9、蘑菇管理
&amp;#160;&amp;#160;&amp;#160; 蘑菇管理是许多组织对待初出茅庐者的一种管理方法，初学者被置于阴暗的角落，浇上一头大粪（无端的批评、指责、代人受过），任其自生自灭（得不到必要的指导和提携）。相信很多人都有过这样一段蘑菇的经历，这不一定是什么坏事，尤其是当一切刚刚开始的时候，当几天蘑菇，能够消除我们很多不切实际的幻想，让我们更加接近现实，看问题也更加实际。一个组织，一般对新进的人员都是一视同仁，从起薪到工作都不会有大的差别。无论你是多么优秀的人才，在刚开始的时候，都只能从最简单的事情做起，蘑菇的经历，对于成长中的年轻人来说，就象蚕茧，是羽化前必须经历的一步。所以，如何高效率地走过生命的这一段，从中尽可能汲取经验，成熟起来，并树立良好的值得信赖的个人形象，是每个刚入社会的年轻人必须面对的课题。
&amp;#160;&amp;#160;&amp;#160; 10、奥卡姆剃刀定律
 12世纪，英国奥卡姆的威廉主张唯名论，只承认确实存在的东西，认为那些空洞无物的普遍性概念都是无用的累赘，应当被无情地剃除。他主张如无必要，勿增实体。这就是常说的奥卡姆剃刀。这把剃刀曾使很多人感到威胁，被认为是异端邪说，威廉本人也因此受到迫害。然而，并未损害这把刀的锋利，相反，经过数百年的岁月，奥卡姆剃刀已被历史磨得越来越快，并早已超载原来狭窄的领域，而具有广泛、丰富、深刻的意义。奥卡姆剃刀定律在企业管理中可进一步演化为简单与复杂定律：把事情变复杂很简单，把事情变简单很复杂。这个定律要求，我们在处理事情时，要把握事情的主要实质，把握主流，解决最根本的问题，尤其要顺应自然，不要把事情人为地复杂化，这样才能把事情处理好。（文章来源：慧聪网&amp;#160;&amp;#160;&amp;#160; 价值中国&amp;#160; 作者：曾金狮 ）&lt;img src=&quot;http://www1.feedsky.com/t1/600299183/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299183/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>思维</category><pubDate>Fri, 30 Dec 2011 21:27:06 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/823#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/823</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/823</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299183/5715776</fs:itemid></item><item><title>转载：海量存储系列之一</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299184/5715776/1/item.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1344&quot; target=&quot;_blank&quot;&gt;海量存储系列之序言&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1347&quot; target=&quot;_blank&quot;&gt;海量存储系列之一&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1349&quot; target=&quot;_blank&quot;&gt;海量存储系列之二&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1362&quot; target=&quot;_blank&quot;&gt;海量存储系列之三&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1365&quot; target=&quot;_blank&quot;&gt;海量存储系列之四&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1374&quot; target=&quot;_blank&quot;&gt;海量存储系列之五&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1379&quot; target=&quot;_blank&quot;&gt;海量存储系列之六&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1387&quot; target=&quot;_blank&quot;&gt;海量存储系列之七&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rdc.taobao.com/team/jm/archives/1390&quot; target=&quot;_blank&quot;&gt;海量存储系列之八&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299184/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299184/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/820/feed</wfw:commentRss><slash:comments>0</slash:comments><description>海量存储系列之序言
海量存储系列之一
海量存储系列之二
海量存储系列之三
海量存储系列之四
海量存储系列之五
海量存储系列之六
海量存储系列之七
海量存储系列之八&lt;img src=&quot;http://www1.feedsky.com/t1/600299184/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299184/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>Scalability</category><pubDate>Sat, 24 Dec 2011 21:13:01 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/820#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/820</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/820</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299184/5715776</fs:itemid></item><item><title>Daniel-Journey Weekly Dose –2011/12/18</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299185/5715776/1/item.html</link><content:encoded>&lt;ul&gt;
&lt;h4&gt;
&lt;ul&gt;Windows&lt;/ul&gt;
&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.1x3x.net/blog/software-express/2008/05/windows-tail.html&quot; target=&quot;_blank&quot;&gt;非常简单的windows系统下的tail程序&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://oldj.net/article/switchhosts/&quot;&gt;发布一个快捷切换hosts的小工具：SwitchHosts!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;禁用IE的DNS缓存，修改Hosts无需重启IE浏览器即可生效&lt;/p&gt;
&lt;blockquote&gt;&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;Windows Registry Editor Version 5.00&lt;/p&gt;
&lt;p&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]&lt;/p&gt;
&lt;p&gt;&amp;quot;DnsCacheEnabled&amp;quot;=dword:00000000&lt;/p&gt;
&lt;p&gt;&amp;quot;DnsCacheTimeout&amp;quot;=dword:00000000&lt;/p&gt;
&lt;p&gt;&amp;quot;ServerInfoTimeOut&amp;quot;=dword:00000000&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如果需要恢复IE的DNS缓存，清楚之前写入的内容即可：&lt;br /&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;code&gt;Windows Registry Editor Version 5.00&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;DnsCacheEnabled&amp;quot;=-&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;DnsCacheTimeout&amp;quot;=-&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;ServerInfoTimeOut&amp;quot;=-&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;h4&gt;
&lt;ul&gt;LINUX&lt;/ul&gt;
&lt;/h4&gt;
&lt;p&gt;     &lt;a href=&quot;http://www.hashei.me/2009/09/linux_system_and_performance_monitoring_summary.html&quot; target=&quot;_blank&quot;&gt;Linux System and Performance Monitoring(总结篇)&lt;/a&gt;&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;vmstat 1 10        &lt;br /&gt;iostat -x 1         &lt;br /&gt;top -d 1         &lt;/p&gt;
&lt;/blockquote&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;h4&gt;JAVA&lt;/h4&gt;
&lt;h5&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;&lt;a href=&quot;http://xialiang19851204.blog.163.com/blog/static/3720773520118533937275/&quot; target=&quot;_blank&quot;&gt;JVM收集GC log&lt;/a&gt;&lt;/font&gt;&lt;/h5&gt;
&lt;blockquote&gt;&lt;h5&gt;&lt;font style=&quot;font-weight: normal&quot;&gt;69.713: [GC 11536K-&amp;gt;11044K(12016K), 0.0032621 secs]            &lt;/p&gt;
&lt;p&gt;&lt;/font&gt;从左到右分别是JVM 开始后的秒数和毫秒数的时间戳、执行的收集的类型、GC 之前的堆使用、GC之后堆的使用、总的堆能力和 GC 事件的持续时间&lt;/h5&gt;
&lt;p&gt; -XX:+PrintGCDetails         &lt;br /&gt; 
&lt;p&gt;35.304: [GC 35.304: [DefNew: 28488K-&amp;gt;864K(30592K), 0.0027815 secs] 74097K-&amp;gt;46473K(98392K), 0.0028799 secs] [Times: user=0.02 sys=0.00, real=0.00 secs]&lt;/p&gt;
&lt;h5&gt;“[DefNew: 28488K-&amp;gt;864K(30592K), 0.0027815 secs] ”解释一下，是指&amp;quot;新生代&amp;quot;的垃圾回收情况，这里的意思是从占用28488K内存空间变为864K内存空间，用时0.0027815 秒。&lt;/h5&gt;
&lt;p&gt;[Times: user=0.02 sys=0.00, real=0.00 secs] 指的是CPU在User模式和系统模式的时间，real是全部消耗的时间&lt;/p&gt;
&lt;p&gt;这三个时间的解释可以参考 &lt;a href=&quot;http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1&quot;&gt;http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;     &lt;code&gt;&lt;/code&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;code&gt;-Xloggc:gc.log        &lt;br /&gt;&lt;/code&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;ul&gt;-XX:+PrintGCDetails      &lt;br /&gt;&lt;code&gt;-XX:+PrintGC        &lt;br /&gt;&lt;/code&gt;-XX:+PrintGCTimeStamps(GC发生的时间,输出的相对JVM启动的时间)       &lt;br /&gt;-XX:+PrintHeapAtGC       &lt;br /&gt;-XX:+PrintGCDateStamps(PrintGCDateStamps 代替PrintGCTimeStamps，打印出来的是真实的日期)       &lt;/ul&gt;
&lt;ul&gt;-XX:+PrintGCApplicationStoppedTime(GC消耗了多少时间)      &lt;br /&gt;-XX:+PrintGCApplicationConcurrentTime(GC之间运行了多少时间)       &lt;br /&gt;-XX:+PrintTenuringDistribution       &lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;UseSerialGC is &amp;quot;Serial&amp;quot; + &amp;quot;Serial Old&amp;quot; &lt;/li&gt;
&lt;li&gt;UseParNewGC is &amp;quot;ParNew&amp;quot; + &amp;quot;Serial Old&amp;quot; &lt;/li&gt;
&lt;li&gt;UseConcMarkSweepGC is &amp;quot;ParNew&amp;quot; + &amp;quot;CMS&amp;quot; + &amp;quot;Serial Old&amp;quot;. &amp;quot;CMS&amp;quot; is used most of the time to collect the tenured generation. &amp;quot;Serial Old&amp;quot; is used when a concurrent mode failure occurs. &lt;/li&gt;
&lt;li&gt;UseParallelGC is &amp;quot;Parallel Scavenge&amp;quot; + &amp;quot;Serial Old&amp;quot; &lt;/li&gt;
&lt;li&gt;UseParallelOldGC is &amp;quot;Parallel Scavenge&amp;quot; + &amp;quot;Parallel Old&amp;quot; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://wwyinhuabin.blog.163.com/blog/static/38203212201089105548968/&quot; target=&quot;_blank&quot;&gt;JAVA JVM GC LOG分析和调优【转】&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://calvin.iteye.com/blog/91905&quot;&gt;JDK5.0垃圾收集优化之&amp;#8211;Don&amp;#8217;t Pause&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://calvin.iteye.com/blog/91903&quot;&gt;编写对GC友好，又不泄漏的代码&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.csdn.net/alivetime/article/details/6412590&quot;&gt;JVM GC日志时间问题&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299185/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299185/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/819/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Windows

非常简单的windows系统下的tail程序
发布一个快捷切换hosts的小工具：SwitchHosts!
禁用IE的DNS缓存，修改Hosts无需重启IE浏览器即可生效




Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
&amp;#34;DnsCacheEnabled&amp;#34;=dword:00000000
&amp;#34;DnsCacheTimeout&amp;#34;=dword:00000000
&amp;#34;ServerInfoTimeOut&amp;#34;=dword:00000000




如果需要恢复IE的DNS缓存，清楚之前写入的内容即可：




Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
&amp;#34;DnsCacheEnabled&amp;#34;=-
&amp;#34;DnsCacheTimeout&amp;#34;=-
&amp;#34;ServerInfoTimeOut&amp;#34;=-







LINUX

     Linux System and Performance Monitoring(总结篇)
vmstat 1 10        iostat -x 1         top -d 1         




JAVA
JVM收集GC log
69.713: [GC 11536K-&amp;#62;11044K(12016K), [...]&lt;img src=&quot;http://www1.feedsky.com/t1/600299185/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299185/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>阅读</category><category>LINUX</category><category>jvm</category><category>Windows</category><pubDate>Mon, 19 Dec 2011 09:02:21 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/819#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/819</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/819</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299185/5715776</fs:itemid></item><item><title>转载：十年检阅</title><link>http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299186/5715776/1/item.html</link><content:encoded>&lt;p&gt;转载：&lt;a href=&quot;http://blog.sina.com.cn/s/blog_5308f76701017r86.html&quot;&gt;http://blog.sina.com.cn/s/blog_5308f76701017r86.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;中午跟老任吃饭，说起来要做一个全部A股过去10年回报的统计，从2000年12月31日到2010年12月31日，当然仅考虑在2000年12月31日之前上市的公司。结果如下表：&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.daniel-journey.com/wp-content/uploads/2011/12/57ee90d99d09.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;十年检阅_朱晓芸_新浪博客&quot; border=&quot;0&quot; alt=&quot;十年检阅_朱晓芸_新浪博客&quot; src=&quot;http://www.daniel-journey.com/wp-content/uploads/2011/12/thumb.png&quot; width=&quot;577&quot; height=&quot;1701&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1、年复合回报超过14.5%的有69家，超过19.5%的有35家，超过24.5%的有9家，超过30%的有两家。&lt;/p&gt;
&lt;p&gt;2、除重组公司及有色金属行业公司外，大部分ROE水平较高或持续提高。&lt;/p&gt;
&lt;p&gt;3、2000年12月31日的上证指数是2073点，接近2245的阶段性高位，估值水平整体较高。2010年12月31日的指数点位是2808点，估值水平整体不高。这几年间，指数的回报仅为35%。&lt;/p&gt;
&lt;p&gt;4、未来会怎样？在政体不发生长期剧烈动摇的前提下，视野长远一些，要相信历史总是一而再重复的。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/600299186/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299186/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.daniel-journey.com/archives/818/feed</wfw:commentRss><slash:comments>0</slash:comments><description>转载：http://blog.sina.com.cn/s/blog_5308f76701017r86.html
中午跟老任吃饭，说起来要做一个全部A股过去10年回报的统计，从2000年12月31日到2010年12月31日，当然仅考虑在2000年12月31日之前上市的公司。结果如下表：
&amp;#160;

1、年复合回报超过14.5%的有69家，超过19.5%的有35家，超过24.5%的有9家，超过30%的有两家。
2、除重组公司及有色金属行业公司外，大部分ROE水平较高或持续提高。
3、2000年12月31日的上证指数是2073点，接近2245的阶段性高位，估值水平整体较高。2010年12月31日的指数点位是2808点，估值水平整体不高。这几年间，指数的回报仅为35%。
4、未来会怎样？在政体不发生长期剧烈动摇的前提下，视野长远一些，要相信历史总是一而再重复的。&lt;img src=&quot;http://www1.feedsky.com/t1/600299186/imlearningimthinking/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/imlearningimthinking/~7606681/600299186/5715776/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Investment</category><category>投资</category><pubDate>Sun, 18 Dec 2011 13:51:13 +0800</pubDate><author>admin</author><comments>http://www.daniel-journey.com/archives/818#comments</comments><guid isPermaLink="false">http://www.daniel-journey.com/archives/818</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.daniel-journey.com/archives/818</fs:srclink><fs:srcfeed>http://www.daniel-journey.com/?feed=rss2</fs:srcfeed><fs:itemid>feedsky/imlearningimthinking/~7606681/600299186/5715776</fs:itemid></item></channel></rss>
