自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 跟着实例学习ZooKeeper的用法: Leader选举

http://colobu.com/2014/12/12/zookeeper-recipes-by-example-1/ZooKeeper官方给出了使用zookeeper的几种用途。Leader ElectionBarriersQueuesLocksTwo-phased Commit其它应用如Name Service, Configuration, Group Membership

2014-12-12 16:21:09 16409 4

原创 java 8 lambdas深度研究

Java 8发布有一段日子, 大家关注Java 8中的lambda可能更早, 对Java 8中这一最重要的语言变化也基本熟悉了。这篇文章将深入研究Java 8中的lambda特性以及Stream接口等, 讨论一些深层次的技术细节。比如, 一个lambda表达式序列化反序列化后, 对捕获的上下文变量的引用的情况。 Lambda表达式递归。 类方法的引用和实例方法的引用的区别。 菱形继承的问题。 Stream接口的Lazy和eager模式。 Lambda的性能。

2014-09-10 12:35:10 4556 1

翻译 Sass基础

Css自己本身很有趣,但是杨士丹变得越来越大,越来越复杂, 变得很难维护。 这真是预处理器要做的。 Sass让你使用CSS不存在的特性,比如变量,嵌套,混合(mixin), 继承等其它90个好的玩意来让CSS编写变得更有趣。一旦你开始使用Sass, 它会预处理你的Saa文件, 把它村委一个正常的CSS文件, 用在你的网站上。

2014-08-26 14:59:17 4310

原创 Java序列化框架性能比较

jvm-serializers提供了一个很好的比较各种Java序列化的的测试套件。 它罗列了各种序列化框架, 可以自动生成测试报告。我在AWS c3.xlarge机器上进行了测试,一下是测试报告与解析。

2014-08-26 14:55:33 16557

原创 最流行的android组件大全

Android 是目前最流行的移动操作系统(还需要加之一吗?)。 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件。本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文。 很好的中文教程 Google Android官方培训课程中文版 awesome-android, android列表。 另,github上的一个项目, 收集了好多的Andro

2014-08-18 13:02:18 68469 26

原创 Java bean validation 规范与参考实现

JSR 303 – Bean Validation 是一个数据验证的规范。 2009年11月正式发布最终版本。在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在通常的情况下,应用程序是分层的,比如表现层,业务层,持久化层等,很多时候同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题,比如说语义的一致性等。为了避免这样的情况发生,最好是将验证逻辑与相应的域模型进行绑定,为各个层提供统一的

2014-08-11 13:54:24 18759 1

原创 Metrics介绍和Spring的集成

Metrics可以为你的代码的运行提供无与伦比的洞察力。作为一款监控指标的度量类库,它提供了很多模块可以为第三方库或者应用提供辅助统计信息, 比如Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey, 它还可以将度量数据发送给Ganglia和Graphite以提供图形化的监控。Metrics提供了Gauge、Counter、Meter、Histogram、Timer等度量工具类以及Health Check功能。

2014-08-11 13:52:28 38543

翻译 Kafka入门

Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),,之后成为Apache项目的一部分。Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。Apache Kafka与传统消息系统相比,有以下不同: 它被设计为一个分布式系统,易于向外扩展; 它同时为发布和订阅提供高吞吐量; 它支持多订阅者,当失败时能自动平衡消费者;

2014-08-11 13:50:49 31511 1

原创 使用Apache Bench 和 Gnuplot产生性能测试图

http://colobu.com/2014/08/04/Apache-Bench-and-Gnuplot/

2014-08-11 13:49:02 3913

原创 三步创建Disruptor应用

博客地址 http://colobu.com/2014/08/01/3-steps-to-create-a-disruptor-application/Disruptor是一个高性能的用于线程间消息处理的开源框架。它的目标就是快.我们知道,java.util.concurrent.ArrayBlockingQueue 是一个非常优秀的有界队列实现。Disruptor与之

2014-08-11 13:45:04 8596

转载 How to Analyze Java Thread Dumps

http://java.dzone.com/articles/how-analyze-java-thread-dumpsThe content of this article was originally written by Tae Jin Gu on the Cubrid blog.  When there is an obstacle, or when a Java base

2012-10-23 12:13:34 4435

原创 bash里的特殊变量

变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$!代表最后执行的后台命令的PID$?代表上一个命令执行后的退出状态$NN为0或者正整数,当N为0的时候,

2011-09-15 16:57:52 2349

原创 动态创建Spring HttpInvoker client

https://jira.springsource.org/browse/SPR-4045If you want to abstract the HttpInvokerProxyFactoryBean and its necessary afterPropertiesSet()

2011-09-14 15:33:47 3782

原创 quicksort

function partition(array, left, right, pivotIndex) pivotValue := array[pivotIndex] swap array[pivotIndex] and array[right] // Move pivot to end storeIndex := left for i from left to right - 1 // left ≤ i < rightif arr

2011-06-02 14:49:00 2460

原创 quickselect

function partition(list, left, right, pivotIndex) pivotValue := list[pivotIndex] swap list[pivotIndex] and list[right] // Move pivot to end storeIndex := left for i from left to right if list[i] < pivotValue

2011-06-02 14:45:00 3631

原创 Top K algorithm

<br />function quickfindFirstK(list, left, right, k)<br />     if right > left<br />         select pivotIndex between left and right<br />         pivotNewIndex := partition(list, left, right, pivotIndex)<br />         if pivotNewIndex > k  // new

2011-06-02 14:12:00 2626

原创 Spring MVC 和Struts2的性能比较

Spring MVC 和Struts2的性能比较

2011-05-16 14:21:00 7468 1

原创 关于final在方法参数中的应用

<br />public class Test{ public static void t(final O o) { //o = new O(); //ERROR o.x++; //final修饰的是实例,不会影响对o的成员的修改 } public static void t(final int i) { i++; //ERROR } public static void main(String[] args) { Test.t(

2011-02-14 14:53:00 2649

原创 JAVA的初始化顺序

JAVA的初始化顺序: 父类静态变量、块--->子类静态变量、块--->父类实例变量--->父类构造函数--->子类实例变量--->子类构造函数

2011-02-14 14:45:00 2657 1

原创 使用JAVA和C#开发Ribbon界面

Ribbon 原来出现在 Microsoft Office 2007 的 Word、Excel 和 Powerpoint 組件中,后来也被运用到 Windows 7 的一些附加组件等其它软件中,如画图和写字板。它是一个收藏了命令按钮和图标的面板。它把命令组织成一组"标签",每一组包含了相关的命令。每一个应用程序都有一个不同的标签组,展示了程序所提供的功能。在每个标签里,各种的相关的选项被组在一起。

2010-01-06 22:05:00 10648 3

原创 几款漂亮的Eclipse编辑器皮肤

现在比较流行的一种编辑器的风格是背景黑色。据说长时间使用深色背景不伤眼睛。Scott Hanselman列举了几款Visual Studio的皮肤,都不错,有兴趣的可以下载. srand给使用Eclipse的java朋友提供了类似的几款皮肤,很漂亮,你可以下载放在以下两个文件夹下,替换相应的文件:[workspace]/.metadata.plugins

2010-01-04 22:31:00 20963 19

原创 希尔排序

希尔排序是一种插入排序法,它出自D.L.Shell,因此而得名。Shell排序又称作缩小增量排序。  基本思想:  不断把待排序的对象分成若干个小组,对同一小组内的对象采用直接插入法排序,当完成了所有对象都分在一个组内的排序后,排序过程结束。每次比较指定间距的两个数据项,若左边的值小于右边的值,则交换它们的位置。间距d按给定公式减少: di+1=(di +1)/2,直到d等

2009-12-19 17:48:00 2024

原创 插入排序

插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据, 在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。using System;

2009-12-19 17:45:00 1294

原创 开发人员最喜爱的十大免费的Visual Studio插件(下)

转载请保持文章原出处http://www.colobu.com6.   VsVimhttp://blogs.msdn.com/jaredpar/archive/2009/09/09/vim-emulator-editor-extension-released.aspx你是一个VIM的狂热分子吗?网络不乏这些忠实的信众,如迷春哥狂热

2009-12-15 19:13:00 12235 19

原创 开发人员最喜爱的十大免费的Visual Studio插件(上)

转载请保持文章原出处http://www.colobu.com1.    AnkhSVN - SubversionSCC Providerhttp://ankhsvn.open.collab.net/AnkhSVN是一个VS的Subversion 源代码管理提供者。通过这个插件,你可以方便的在Visual Studio

2009-12-15 19:08:00 13906 22

原创 排序算法-交换排序算法效率测试

前几篇文章介绍了几种交换排序的算法。冒泡排序快速排序奇偶排序鸡尾酒排序Gnome sortComb sort  下面是对一个随机序列的排序效率结果:test1:quicksort time:         0.10864 msbubblesort time:    

2009-12-15 16:24:00 1800

原创 Comb sort

类别:排序-交换排序参看 维基百科的定义using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// /// Comb sort improves on bubble sort, and rivals algorithms like

2009-12-15 16:22:00 1732

原创 Gnome sort

类别:排序-交换排序参看 维基百科的定义 Gnome sort is a sorting algorithm which is similar to insertion sort, except that moving an element to its proper place is accomplished by a series of swaps, as in bubbl

2009-12-15 16:18:00 2077

原创 鸡尾酒排序

类别:排序-交换排序参看 维基百科的定义鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序, 是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。 using System;using System.Collections.G

2009-12-15 16:16:00 1867

原创 奇偶排序

类别:排序-交换排序参看 维基百科的定义 using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// /// 奇偶排序的思路是在数组中重复两趟扫描。 /// 第一趟扫描选择所有的数据项对,a[j]和a[j+

2009-12-15 16:11:00 3530 1

原创 快速排序

类别:排序-交换排序参看 维基百科的定义  using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// /// 快速排序是所有排序算法中最高效的一种. /// 它采用了分治的思想:先保证列表的前半部分都小于

2009-12-15 16:07:00 1374

原创 冒泡排序

类别:排序-交换排序参看 维基百科的定义冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。  using System;using

2009-12-15 15:58:00 1565

原创 一种获取重载泛型方法的方式

今天看到hbb0b0的一个帖子:如何用反射实现如下的泛型方法调用?, 询问如何获取一个重载的泛型方法。因为Type没有提供GetGenericMethod方法,调用GetMethod可能会抛出一个AmbiguousMatchException异常或者无法获得正确的泛型方法。本文提供一种途径,通过查询Type所有的Method找到正确的方法。1using Syst

2009-09-28 11:00:00 1484 1

原创 想挑战吗?试试这份Spring Framework试题

这是我总结的Spring试题。试题的答案都能从Spring参考手册中查到。做做看,你能得多少分。以下每题5分: Normal 0 7.8 pt 0 2 false false false

2009-03-02 14:19:00 1492 1

原创 昨晚在我那台古老台式机上装Fedora 10

最近整理家里,终于搬出我那台7,8年前买的那台台式机,配置如下:1.CPU 赛扬1G2.显卡 i810 (?)3.内存512M4.光驱CD5.显示器 红色无法显示(或许显卡坏了)6. Windows XP反正此机闲着没用,遂想装个Linux玩玩。因为是CD光驱和Fedora 10 DVD安装光盘,所以我做了个ISO镜像,从硬盘安装。安装参考 "从硬盘安装Fedora-9-i386-DVD", 你可

2008-12-23 11:03:00 947

转载 Java 7.0 New Features

转自http://www.javabeat.net/javabeat/java7/index.php。此篇文章提供了Java 7.0的新的重要特性介绍。 Java 7.0也是自Java 5.0做重大改变(泛型和并发包)后的又一次重大变化。语言规范将进一步演化(C#演化的太快了)。尤其是闭包(Closures)的引入,使Java语言也能象C# 3.0语言一样便捷的进行Lamda运算。从语言变化上来看

2008-10-09 16:58:00 1315 1

原创 [游戏]五子连珠

五子连珠是 一个同色相消类游戏。你可以移动小球,使其从一个位置移动到另外一个位置,尽量使同一颜色的小球排成一横行、竖行或者斜行。只要在这些行上的小球达到5个或者多于5个,这些球就可以消去。直达棋盘上没有空格放置小球时,游戏就结束了。此游戏类似GNOME/Linux下的五子连珠游戏,但增加了炸弹、七彩球等元素 ,所以玩起来更有趣。支持网站: http://www.colobu.com

2008-09-08 10:13:00 2189 1

原创 发布一个记账软件---流水记账

物价在节节攀升,CPI居高不下,股市损失惨重,房贷似大山压顶......除了提高我们微薄的收入以外,我们还应该从日常的点点滴滴做起,节约每一分Money。流水记账软件就是帮助你提高理财水平,分析你每月的收入和支出,帮助你节省不必要的开支。它使用简便,就像在普通便签本上记录一样简单,可以方便查看历史趋势,打印相应的财务报告。并且,它是一个纯绿色的免费软件,无须联网便能运行。下载 

2008-04-14 12:54:00 3646 2

原创 Audacious的歌词显示插件

点击这里下载插件,将插件放到/usr/lib/audacious/General文件中即可。在 Fedora 7中试验通过。目前仅支持本地歌词文件,歌词文件名和歌曲名相同,后缀为lrc,文件编码格式支持UTF-8和GB2312

2007-07-18 09:29:00 5136

原创 XFire野猪书-XFire开发指南第二版

   免费下载 如果可以将XFire Web Services框架比做一颗璀璨夺目的钻石的话,那么本书将从这颗钻石的多个切面上来欣赏它闪耀的光芒。 大约是在去年,我写了一份关于XFire开发的电子文档,介绍了采用XFire框架开发Web Services的基本的方法。由于以前的XFire官方的文档不很准确,也不完善,有些实践的代码没有通过,所以在那个文档没有进行深层次的探讨。陆续有些网友提

2007-05-09 09:45:00 4301 3

Linux101个技巧(Linux-101-Hacks)

《Linux 101 Hacks》是一本关于 Linux 使用技巧的免费电子书籍。本书总计 140 页,包含 12 章,讲解了 101 个 hack,涉及的内容包括 Linux 命令精要、日期处理、定制命令提示符、系统管理、Bash 脚本、Apachectl 及 Httpd 例解、系统监视与性能等等,总之很值得一看。

2009-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除