<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[软件的信雅达]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/hivon</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; hivon]]></copyright><item><title><![CDATA[Thrift对多接口服务的支持]]></title><link>https://blog.csdn.net/hivon/article/details/11681977</link><guid>https://blog.csdn.net/hivon/article/details/11681977</guid><author>hivon</author><pubDate>Sat, 14 Sep 2013 14:43:08 +0800</pubDate><description><![CDATA[Thrift对多接口服务的支持
 
 
 
Thrift在0.9.1版本之前，一直只提交了对单一接口服务的支持，即一个RPC服务器（对应一个端口）支持一个服务接口的实现。
但是很多时候，我们的服务不能实现在一个接口里，一是接口里的方法越来越多，不好管理和使用；二是根据职责的单一要求，不能类型的方法，不能放在同一接口里。
在 Thrift-0.9.1之前，我们要解决上面的问题，一是通过多]]></description><category></category></item><item><title><![CDATA[线程dump的工具和方法]]></title><link>https://blog.csdn.net/hivon/article/details/8331350</link><guid>https://blog.csdn.net/hivon/article/details/8331350</guid><author>hivon</author><pubDate>Wed, 19 Dec 2012 13:28:38 +0800</pubDate><description><![CDATA[线程dump的工具和方法
 
 
       在Java项目中，有很多时候需要做线程dump，比如，系统挂起、死锁、不能创建更多本地线程的OOME、CPU消耗过多等等；甚至有些堆内存溢出也可能跟线程有关，因为可能是创建了过多的线程导致堆内存不够用。
       这里主要来说说做线程dump的一些方法和使用场合，至于如何做线程分析，将会在下一篇文字中说到。
       本文所提到的工]]></description><category></category></item><item><title><![CDATA[小巧的本地缓存Jodd]]></title><link>https://blog.csdn.net/hivon/article/details/8314644</link><guid>https://blog.csdn.net/hivon/article/details/8314644</guid><author>hivon</author><pubDate>Tue, 18 Dec 2012 15:15:13 +0800</pubDate><description><![CDATA[小巧的本地缓存Jodd
 
       说到缓存，大家容易想到memcached和redis，它们大名鼎鼎，但都是远程缓存，需要通过TCP网络访问。
       这些缓存服务器本身性能很好，但不管性能再怎么好，也要通过网络访问，肯定不如本地直接访问内存快。
       说到本地缓存，大家最常用的是google的guava库，这个库也非常好用，但它有一个问题，就是一个内存管理服务只能设]]></description><category></category></item><item><title><![CDATA[JGroups系列之介绍和体会]]></title><link>https://blog.csdn.net/hivon/article/details/8163043</link><guid>https://blog.csdn.net/hivon/article/details/8163043</guid><author>hivon</author><pubDate>Thu, 08 Nov 2012 16:56:51 +0800</pubDate><description><![CDATA[JGroups系列之介绍和体会
 
 
 
         很早就想做这个JGroups系列，因为在分布式的系统中，各个部分经常需要相互通信。这些通信包括：信息需要同时发给集群中的某些或全部的worker；或者一个worker启动、停止需要通知其他的worker；等等。
         对于这些问题的解决，我们通常有各种各样的方法。比如，信息需要同时发给集群中的某些或全部的worke]]></description><category></category></item><item><title><![CDATA[Groovy系列目录]]></title><link>https://blog.csdn.net/hivon/article/details/4256296</link><guid>https://blog.csdn.net/hivon/article/details/4256296</guid><author>hivon</author><pubDate>Wed, 10 Jun 2009 08:03:00 +0800</pubDate><description><![CDATA[<!--CTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dt-->前言及资源前言写在Groovy/Grails栏目开通的话资源2G资源IDEGroovy与IDEGroovy的Eclipse插件的安装]]></description><category></category></item><item><title><![CDATA[Groovy探索 关于“Load my Resource”模式的解读]]></title><link>https://blog.csdn.net/hivon/article/details/4243893</link><guid>https://blog.csdn.net/hivon/article/details/4243893</guid><author>hivon</author><pubDate>Fri, 05 Jun 2009 08:03:00 +0800</pubDate><description><![CDATA[            Groovy探索 关于“Load my Resource”模式的解读   很早就在Groovy语言的官方文档上看到了“Load my Resource”模式，却一直没有在意，可能是因为它不是GOF的经典模式中的一种。最近又不经意的看到了它，却鬼使神差的大概看了一遍，当略略有点明白它的意思时，就有点惊奇于它的功能了，当再一次阅读时，静下心来想一想，就真正感叹于]]></description><category></category></item><item><title><![CDATA[Groovy Tip 37  字符串和数字之间的转化]]></title><link>https://blog.csdn.net/hivon/article/details/4240875</link><guid>https://blog.csdn.net/hivon/article/details/4240875</guid><author>hivon</author><pubDate>Thu, 04 Jun 2009 07:57:00 +0800</pubDate><description><![CDATA[                   Groovy Tip 37  字符串和数字之间的转化   字符串和数字之间的转化是我们在项目中必然要碰到的问题，因为我们从用户界面取得的变量的值肯定是字符串。所以，我们在项目中经常要做的事情就是：第一，需要对用户的输入进行校验，以判断用户的输入是否是一个数字；第二，如果是的话，我们则需要进一步把它转化为数字，以方便我们进行计算。在Jav]]></description><category></category></item><item><title><![CDATA[Groovy探索 关于方法名的DSL]]></title><link>https://blog.csdn.net/hivon/article/details/4234659</link><guid>https://blog.csdn.net/hivon/article/details/4234659</guid><author>hivon</author><pubDate>Tue, 02 Jun 2009 07:55:00 +0800</pubDate><description><![CDATA[                             Groovy探索 关于方法名的DSL    Groovy语言最引以为豪的特点就是DSL了，关于DSL的定义以及分类、优点等，就不是本篇所要阐述的了，大家可以上网查，网上有大量的这方便的介绍。Groovy语言是非常便于设计内部DSL了，在这方面，我的Groovy探索系列已经有了很多专题谈到过使用Groovy语言创建内部DS]]></description><category></category></item><item><title><![CDATA[Grails的增长率]]></title><link>https://blog.csdn.net/hivon/article/details/4230563</link><guid>https://blog.csdn.net/hivon/article/details/4230563</guid><author>hivon</author><pubDate>Mon, 01 Jun 2009 08:05:00 +0800</pubDate><description><![CDATA[                                             Grails的增长率   这是Grails、Groovy、Rails、Ruby、Spring的工作趋势图。非常有趣…看起来好像媒体的宣传机器跟上了现实的需求…  原文链接：http://www.transentia.com.au/flatpress/?x=entry:e]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十六 使用Interceptor实现简单的观察家模式]]></title><link>https://blog.csdn.net/hivon/article/details/4230559</link><guid>https://blog.csdn.net/hivon/article/details/4230559</guid><author>hivon</author><pubDate>Mon, 01 Jun 2009 07:58:00 +0800</pubDate><description><![CDATA[Groovy探索之MOP 十六 使用Interceptor实现简单的观察家模式   观察家模式是我们比较常用的一种模式，也是其他的一些常用模式的基础，比如MVC模式就是一种以观察家模式为基础的模式。在Java语言中，观察家模式的实现十分的简单，就是让被观察者继承Observable类，而让观察者实现Observer接口。这些基础的用法，都在我的文字——《螳螂捕蝉、黄雀在后——从]]></description><category></category></item><item><title><![CDATA[Groovy Tip 36   “in”关键字]]></title><link>https://blog.csdn.net/hivon/article/details/4219127</link><guid>https://blog.csdn.net/hivon/article/details/4219127</guid><author>hivon</author><pubDate>Wed, 27 May 2009 08:07:00 +0800</pubDate><description><![CDATA[               Groovy Tip 36   “in”关键字   谈到“in”关键字，在Java语言里很少用到，因为它引入得比较晚，也就是JDK5的增强for循环。Groovy语言也把这个功能保留了下来，这样，我们可以写一些类似于下面的代码：       def list = [1,2,3]            for(i in list)  ]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十五  方法名的动态性（2）]]></title><link>https://blog.csdn.net/hivon/article/details/4216055</link><guid>https://blog.csdn.net/hivon/article/details/4216055</guid><author>hivon</author><pubDate>Tue, 26 May 2009 08:34:00 +0800</pubDate><description><![CDATA[                 Groovy探索之MOP 十五  方法名的动态性（2）          List scores = [new Student(no:123,name:Tom,chinScore:90,mathScore:99,englScore:60,physScore:88,chemScore:96)]      scoresnew Stu]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十五  方法名的动态性（1）]]></title><link>https://blog.csdn.net/hivon/article/details/4216031</link><guid>https://blog.csdn.net/hivon/article/details/4216031</guid><author>hivon</author><pubDate>Tue, 26 May 2009 08:25:00 +0800</pubDate><description><![CDATA[         Groovy探索之MOP 十五  方法名的动态性（1）   到目前为止，我们的《Groovy探索之MOP》系列已经谈到了使用ExpandoMetaClass的方方面面，但值得注意的是，我们通过ExpandoMetaClass给一个类在运行期内添加一个方法，不管是普通方法还是静态方法，我们都是添加一个确定方法名的方法。即我们添加一个方法名为A的方法，然后才能使用这个]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十四 对Java类使用Groovy语言的MOP]]></title><link>https://blog.csdn.net/hivon/article/details/4213389</link><guid>https://blog.csdn.net/hivon/article/details/4213389</guid><author>hivon</author><pubDate>Mon, 25 May 2009 08:03:00 +0800</pubDate><description><![CDATA[        Groovy探索之MOP 十四 对Java类使用Groovy语言的MOP   既然Groovy语言是Java语言的扩展，那么我们在使用Groovy语言的时候，就很难与Java语言真正脱得了干系，那怕我们是在做一个纯Groovy语言的项目，如Grails项目。我们可能在Groovy代码中会用到遗留的Java类和包；也可能是为了性能的原因，我们不得不在Groovy语言中]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十二 方法的调用顺序]]></title><link>https://blog.csdn.net/hivon/article/details/4207760</link><guid>https://blog.csdn.net/hivon/article/details/4207760</guid><author>hivon</author><pubDate>Fri, 22 May 2009 07:57:00 +0800</pubDate><description><![CDATA[               Groovy探索之MOP 十二 方法的调用顺序  我们知道，除了使用hook来拦截方法以外，我们还可以通过各种方式来实现方法。如，我们可以在类里直接实现方法；我们可以通过ExpandoMetaClass在运行期内添加方法；我们还可以通过ExpandoMetaClass在运行期内单独给一个对象添加方法。所有的这些直接添加方法的途径，如果存在hook的话，]]></description><category></category></item><item><title><![CDATA[Grails in Action：完成啦]]></title><link>https://blog.csdn.net/hivon/article/details/4207751</link><guid>https://blog.csdn.net/hivon/article/details/4207751</guid><author>hivon</author><pubDate>Fri, 22 May 2009 07:50:00 +0800</pubDate><description><![CDATA[                               Grails in Action：完成啦                                                        作者：Glen Smith                                                        2009-5-14   ]]></description><category></category></item><item><title><![CDATA[Groovy Tip 35  正则表达式 四]]></title><link>https://blog.csdn.net/hivon/article/details/4202769</link><guid>https://blog.csdn.net/hivon/article/details/4202769</guid><author>hivon</author><pubDate>Wed, 20 May 2009 07:59:00 +0800</pubDate><description><![CDATA[                     Groovy Tip 35  正则表达式 四   我们知道，在正则表达式中，有一些字符串被用来的表达一些特殊的用途。比如，"."代表的是所有的字符；"^"代表的是非；等等。看到这些用法的时候，我们就可以反过来问了，如果"."代表的是所有的字符的话，那么用什么来匹配字符串中的"."呢？为了解决这样的问题，在正则表达式中需要用"/"加上原字]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十三 Interceptor 三（2）]]></title><link>https://blog.csdn.net/hivon/article/details/4199946</link><guid>https://blog.csdn.net/hivon/article/details/4199946</guid><author>hivon</author><pubDate>Tue, 19 May 2009 08:07:00 +0800</pubDate><description><![CDATA[       Groovy探索之MOP 十三 Interceptor 三（2）   其实，阻止拦截的使用像在《Groovy探索之MOP 十三 Interceptor 三（1）》中的最后一个例子那像的使用并不多，更多的是在使用拦截器的客户那里决定是否使用拦截器。还是上一篇的那个例子： class Hello {        def hello(name)    ]]></description><category></category></item><item><title><![CDATA[Groovy探索之MOP 十三 Interceptor 三（1）]]></title><link>https://blog.csdn.net/hivon/article/details/4199940</link><guid>https://blog.csdn.net/hivon/article/details/4199940</guid><author>hivon</author><pubDate>Tue, 19 May 2009 08:00:00 +0800</pubDate><description><![CDATA[              Groovy探索之MOP 十三 Interceptor 三（1）   本篇的“Interceptor”，主要是来说说拦截器的阻止拦截的问题，这个问题是我们自定义拦截器时经常要遇到的挑战之一。与阻止拦截很近的一个意思是不拦截，即我们可以拦截某个方法，但我们不对拦截做任何实质性的动作，即我们简单的将拦截的动作放行。这是一种被动的不拦截行为。而我们的阻]]></description><category></category></item><item><title><![CDATA[Groovy是连接脚本语言和企业级Java世界的桥梁 四]]></title><link>https://blog.csdn.net/hivon/article/details/4196433</link><guid>https://blog.csdn.net/hivon/article/details/4196433</guid><author>hivon</author><pubDate>Mon, 18 May 2009 08:05:00 +0800</pubDate><description><![CDATA[         Groovy是连接脚本语言和企业级Java世界的桥梁 四   IndicThreads >>现在有了基于Groovy语言的web开发框架或者它被集成到了一个知名的Java开发框架里去了吗？ Guillaume Laforge >>现在已经有了大量的web开发框架嵌入了Groovy语言。例如，RIFE开发框架就允许你使用Groovy来定义元素（控制器和act]]></description><category></category></item></channel></rss>