自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Passion,Dedication,Innovation

关注语言,基础软件,应用架构,性能~~~

  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 2016第一篇章

2016,对自己来说注定是不平凡的一年,新的三年征程需要一个清晰的三年规划作为指导。做什么,如何做?这是我今年问自己最多的问题。思考良久,终于有了一丝清晰的方向,遂提笔记下,欢迎有志者共勉。未来的日子里,自己将会在以下几个方向发力,概括讲,就是"创新,开放,生态,国际化,品牌”。

2016-03-31 20:31:09 1536

原创 我读过的书籍 - 2015

2015 2.10         系统化学习这本书的原因很简单,在写Maven Dependency Mediator这个开源插件的时候,希望能做的和开源社区诸如Ning那些组件不同,系统研究了Maven 2和3的源码,学习了Gradle这套编译体系,后来发现Gradle冲突检测这块实现上和Maven差不多。目前,已经将几个开源组件迁移到Gradle上了,另外,在读这

2015-04-01 17:36:17 2122

原创 反思,展望,新的一年!

时间就如白驹过隙,GUANG,来到了2015年,按照惯例,我们需要为自己做个年终盘点。2014年,在如何做好开源软件方面,取得的成绩最大。目前正在紧张有序地推进几个开源软件的incubator进程。除此之外,在Github,apache社区也分别对几款开源软件提了一些改进建议以及一些patch,彻底抑制了自己造轮子的冲动。美中不足的是,由于时间关系,错过了一些外部邀请的分享,也错过了分享自己心得的

2015-02-28 18:31:20 2012

原创 Docker初体验

Docker这玩意流行已经有一阵子,之前一直不愿意去碰它,是觉得它还不够稳定。虽说各类软文铺天盖地,什么Paas微服务,容器引擎,轻量级虚拟机(当然底层的cgroups,lxc技术早已耳熟能详)等等,对这些往往不置可否,原因只有一个:大规模工业级场景应用还未曾出现,或者说未曾亲历。 时间来到了最近,由于工作需求,需要做一些MQ镜像,所以系统化的学习了Docker(当然,催生我系统化学习的动力不仅是要深度使用它,还有Go语言这两年本身的实践魅力)。这篇文章简单记录了Docker的一些使用心得及其

2015-01-20 15:58:34 7475

原创 jvm serializer 功能&性能基准测试

该项目分析了目前主流分布式通讯相关开源产品中使用的No Schema序列化产品Kryo,Fastjson,Hessian的序列化机制,通过构造相对比较复杂的数据model,针对序列化size,序列化时间进行了细致测试。通过测试报告可以清晰的看出Kryo无疑是大赢家,无论是序列化大小,还是速度上都更胜一筹,这也就不难理解为什么Spark,Storm等流计算框架会选它作为序列化工具。另外,可以看出这三款软件在BitSet,EnumSet等特殊类型的序列化上还有不少问题,作者也给Kryo,Fastjson社区提了

2015-01-07 17:42:51 2158

原创 Spring Boot POM 详解

正如这幅图所展示的那样,在Spring IO Framework体系中,Spring Boot处在Execution layer,来看看官方对这层的解释:The Spring IO Execution layer provides domain-specific runtimes (DSRs) for applications built on the IO Foundation modules. A DSR may run standalone without requiring deployment

2014-12-19 16:19:59 9290

原创 分布式通讯优化篇 – IRQ affinity

在一次C500K性能压测过程中,发现一个问题:8 processor的CPU,负载基本集中在CPU0,并且负载达到70以上,并通过mpstat发现CPU0每秒总中断(%irq+%soft)次数比较高。基于对此问题的研究,解决和思考,便有了这篇文章,希望大家能够喜欢,也欢迎大家留言讨论。

2014-11-10 19:44:26 3070

原创 玩转Netty – 从Netty3升级到Netty4

这篇文章主要和大家分享一下,在我们基础软件升级过程中遇到的经典Netty问题。当然,官方资料也许是一个更好的补充。另外,大家如果对Netty及其Grizzly架构以及源码有疑问的,欢迎交流。后续会为大家奉献我们基于Grizzly和Netty构建的RPC框架的更多的内幕,希望大家能够喜欢!

2014-11-04 20:03:09 6352

原创 精通组件兼容性依赖

<<精通组件兼容性依赖>>,这篇文章首先从Java语言层面阐述了什么是兼容性,JDK是如何处理兼容性的?然后提出了一个最佳实践路线图,首先要保证你的组件包是面向接口编程的,别人可以稳定地依赖你的接口,而实现可以采用动态发现的机制去做。

2014-10-28 15:08:02 1992

原创 APNS 那些事!

之前在消息推送中间件APush里实现了对APNS的桥接,并利用业余时间阅读了官方指南Local and Push Notification Programming Guide,蛮有心得的。稍作总结,分享给大家,希望能够喜欢,欢迎留言讨论!

2014-08-19 20:34:37 4487

原创 MOM系列文章之 - MQ可运维性

本来打算近期分享一篇如何“造”轮子

2014-08-14 19:42:23 2183

原创 Pushlet 性能测试计划v1预览

根据之前MQ的性能测试经验,把

2014-08-06 10:22:52 2804

原创 欢迎使用Performance analyzer 开源小工具!

开源性能分析小工具,欢迎大家使用!

2014-03-21 13:01:34 2527

原创 MOM系列文章之 - MQ生态链(第一版,持续更新)

在团队内部的分享,希望大家能够喜欢~

2014-03-13 13:47:49 2305

原创 MOM系列文章之 - zero copy 那些事(上)

最近准备了两篇文章,主要是针对MOM中的关键技术zero copy进行一些介绍。    在基于文件存储的Kafka,ActiveMQ以及其它诸如Hornetq,Kestrel中的Journal设计实现中,无不见zero copy的神威。希望通过这两篇文章的介绍,能够为大家解开zero copy的神秘面纱,也希望大家能够喜欢。    这篇文章主要聚焦在zero copy的基础部分。首

2014-02-26 20:30:43 3638

原创 2014,整装待发

紧张而繁忙的2013已经过去了,这一年里,自己在分布式技术领域有一些长足进步,这多多得益于一贯坚持的多看,多码,多测,多参与的方针政策。在新的一年里,除了继续保持优良传统外,还要加强对外合作,与社区的Guys继续保持无地域,无差别地快乐沟通合作模式,共创最棒开源软件。在技术,敏捷实践等方面也要有更为深入的突破。在文章,书籍方面,也要更勤勉些,除了原创文章外,可以考虑尝试加入一些读书笔记,经典文章翻

2014-02-09 13:19:29 2055 2

原创 MOM系列文章之 - Spring Jms Integration 解读

前阵子对Spring Jms实现进行了一些扩展,借此机会系统化地研究了一下Spring对JMS的支持,整理成文,希望大家能够喜欢!      本文打算从两个维度(编程API和包结构)展开讨论。首先,让我们来看下Spring中我们最最经常用到的JmsTemplate,上图

2013-12-23 20:03:59 3398

原创 Java Thread 那些事

这篇文章被压在草稿箱许久,最近公司内部的技术社区有同学贴出了几篇分享Java线程的文章,发觉有很多概念没有讲清楚,所以花点时间继续撰写,便有了这篇博文。本文只聚焦JVM层面的线程模型,不考虑和真实的操作系统Thread模型挂钩(由于篇幅有限,本文也不会介绍调优过程中对工具的综合使用,如ps,top,iostat,jstack,TDA plugin,Thread inspector.如果有问题,欢迎大家留言交流)。后面会考虑对xUnix和Windows平台的线程/进程模型进行深入分析,也希望大家能够喜欢。

2013-12-12 12:56:13 4175

原创 MOM系列文章之 - JMS2 spec. 解读

JMS 2是Java EE 7的一个重要特性之一,如下图:  本文重点关注的是JMS 2规范,通过近4个小时的阅读(156 Page),谈谈自己对新规范的一些理解,后续会陆续发表一些Common-MQ的博文,希望大家能够感兴趣。好了,言归正传。        浏览一下Architecture章节目录,大家很快就会意识到,JMS 2的一个最重要的设计初衷,通过减少编码提高生产力;

2013-09-11 19:34:53 3581 3

原创 Using HttpClient properly to avoid CLOSE_WAIT TCP connections

Apache的HttpComponent组件,用的人不在少数。但是能用好的人,却微乎其微,为什么?很简单,TCP里面的细节实现不是每个人都能捕获到的(细节是魔鬼),像并发请求控制&资源释放,Nagle算法参数优化,Connection eviction,跟ulimit配对的total connection,重定向策略定制化,两类超时时间的合理设置,流读写等等。         在最近的项目中,

2013-07-29 14:03:18 3312

原创 Memcached实施心得

说的Memcached,大家都不会陌生,前阵子在项目中搭建了一套集群环境,运行至今,通过top-memcached监控,各个指标表现平稳。加上之前交易平台中的一些Memcached实施经验,便整理写下了此文,如果有不准确的,欢迎拍砖~memcached是怎么工作的?memcached内存管理的机制是?memcached最大的优势是什么?memcached和MySQL的query

2013-07-25 16:20:34 2197 1

原创 Webx源码研读心得

之前,一直对Webx的印象是厚重,n多无厘头的默认契约等等。最近一段时间,构建在之上的应用安全问题频出,于是花了一些时间,研究了其Spring ext部分的源码,虽说有spring源码知识的基础,不过研究Webx的过程中,还是让人受益匪浅,也慢慢改变了之前的一些看法。这里我摘录下自己研究源码时的带着的疑问,感兴趣的同学可以留言一同讨论,看看有没有更优的实现。1. Webx中是如何做到诸如:

2013-07-25 14:19:40 1970

原创 Mind,Diagram,Design

最近在设计新版的流程渲染引擎,考虑采用无损失放缩的矢量图SVG去搞,从技术调研到实现蛮有心得的,这里贴出自己的设计思路,欢迎拍砖~        首先说下诉求,简单说就是绘制流程地图。其次简单列举下需要注意的技术点:(1) 图形元素和坐标元素解析(合并or分拆)(2) DOM树解析,原生JAXP,DOM4J or SVG DOM utils(混用会带来很多问题)(3) REST S

2012-12-04 21:00:49 1413

原创 关乎性能的思考

现在工程师们越发的喜欢谈性能(CPU, memery, IO, container, middleware等),性能调优似乎也成为软件行业基础架构师越来越倚重的技艺之一。通常情况下,性能shooting也无外乎分为几个过程。其一,performance diagnostic & bottleneck positioning,这一步往往是关键,当然手法也是千奇百怪,这里不做赘述。第二,perform

2012-08-28 00:14:26 8666 14

原创 开发那点事系列五 - 发散思维&成就技术

很多做技术的同学,初期都期盼着上面会下派很多任务。做的越多,收获也越多。诚然,自己也曾经历过这么一个阶段。在上研时,积极地帮着导师做了一坨事,有Jos相关的,有C++相关的。不积硅步无以至千里嘛,正所谓。除了做事,往往我还会阶段性的做一些项目总结,并召集组员讨论。无论是技术上,还是非技术上(有些需求是自己去谈的,系统是需要自己去上的,当然关于使用方的反馈意见也是记忆最深刻的)。今天借着工作中一个非

2012-08-10 11:04:35 1323

原创 语言之美系列一 - Java篇

受七周七语言、编程语言实现模式等读物启发,计划写一个语言之美系列博文,因为最近工作上用的比较多的语言是Java,所以先从它开刀,希望大家多提宝贵意见~一. 泛型(1). 泛型类并没有自己独有的Class类对象;(2). 静态变量是被泛型类的所有实例所共享的;(3). 泛型的类型参数不能用在Java异常处理的catch语句中;(4). List说明List中可能包含的元素类型是N

2012-08-04 22:24:21 1241

原创 二进制兼容原理 - C/C++ && Java

从某种意义上来讲,现代软件已经不是数据结构与算法的简单聚合,更多的是构件开发以及基于体系结构的构件组装.而这些构件,通常都是由不同厂商、作者开发的共享组件,所以组件管理变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换原来的类,却不至于损坏其他由不同厂商/作者开发的依赖于该类的组件?       在C++中,对域(类变量或实例变量

2012-07-29 17:15:16 2483 1

原创 追本溯源 - Eclipse源码窥探

最近花时间解决了一些以前积攒的,未曾深入研究的问题。其中一个就是eclipse maven 关联jar包源代码出现乱码的问题。问题的解决方案不算太麻烦,但是追本溯源确是件很有意思的事情(一直追踪到eclipse的源代码,探查到一些开源项目,如:伊利诺斯大学的开源项目CodingSpectator)。当然了,RCP开发本身就挺吸引我的,后面有机会,会和大家分享更多的心得。好了,废话不说,既然知道了存

2012-06-27 22:03:02 1989

原创 开发那点事系列四 - 如何构建高效Ajax应用

如何提高Ajax应用的质量和性能,概括来讲,该过程主要包含以下几个步骤:     1.JavaScript代码的潜在错误和代码风格检查。通过集成JSLint可以找到代码中潜在的问题。     2.JavaScript文件的合并、缩减和混淆。通过合并可以把多个JavaScript文件合成一个,减少页面加载时的HTTP请求个数;通过缩减可以去掉JavaScript代码中多余的空

2012-06-25 10:48:23 1116

原创 深入理解Java调试体系

最近在做服务器启动调优的过程中,重温了一下IBM tech wiki上的JPDA系列文章,这里放出来和大家分享,欢迎大家留言讨论~1. 第一部曲http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/2. 第二部曲http://www.ibm.com/developerworks/cn/java/j-lo-jpda2/3

2012-05-28 18:44:07 948

原创 web profiler 环境搭建

初尝LAMP,WAMP or MAMP,可能大多数同学会想到使用AppSer套件吧。今天,借着我们的Web Profiler,我想和大家分享的一下LAMP环境搭建(不过这里暂时不需要M)。一. 环境准备       工欲善其事必先利其器。首先,我们需要列出环境搭建过程中的Requirements and Optional。1. Apache HTTP Server 2.4.x

2012-04-07 15:08:29 1109

原创 软件框架设计之美

这篇文章可以看做是Apress出版的那本>进阶阅读。欢迎大家留言,一同分享自己的心得体会~        软件大师Robert Martin早在1994年的论文中就提到了OO设计度量准则,站在可维护性(Maintainablity),可扩展性(Extensibility),可重用性(Resuability)的角度上,提出了著名的稳定抽象等价原则。随后几年,在Java领域出现了著名的Jdepen

2012-03-21 13:11:38 1308

原创 浅尝数据库并发控制

数据库是一个共享资源,可以供多个用户使用。然而,对于大多数程序员来说,单处理机系统是我们接触最多的系统,运行在其上的数据库事务也并非真正意义上的并行,实际上它是这些并行事务的并行操作轮流交叉运行,这种并行执行方式称为交叉并发方式(Interleaved Concurrency),这样可以减少处理机的空闲时间,提高系统的效率。而在多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个

2012-03-15 20:30:39 1892 1

原创 RBAC在CSD下的参考实现

序言:        权限模块是MIS系统中不可或缺的重要组成。员工在进行正常的访问前,服务器往往都需要认证员工的身份。确认员工是否授权,也就是进行访问控制。访问控制管理允许被授权的主体(个体或团体组织)对某些资源的访问,同时拒绝向非授权的主体提供服务。权限模块的逻辑模型一般形式如下:       谁(员工/角色)对什么(应用模块)是否具有某种操作的授权(授权状态:grant、deny

2012-03-15 19:39:08 1340 1

原创 架构那点事系列三 - 由EAI到ESB

最近在梳理公司的EAI平台 — JCAPS,顺便翻阅了一些“历史”文献,梳理成文,希望能加深大家对SOA的认识。        ESB 是软件行业的下一代集成产品的名称。ESB 沿用企业应用程序集成 (EAI) 的技术道路前行,在改进 EAI 中的某些技术环节的同时,采用了 EAI 技术中的更为有效的方面。尽管 EAI 和 ESB 的目标相同,但是在技术体系结构方面,这两项产品的区别仍很大。

2012-03-15 12:49:08 2569

原创 由使用Aptana studio eclipse plugin联想到的

喜欢eclipse的朋友,可能多半都会装一些导航插件吧,比方说easyExplorer。在装了Aptana插件后,我卸掉了原先的EE,准备使用它自带的Explore Files,发现控制台打印出如下语句: cmd /C start explorer /select,/e, "D:\deimos\biz\common\src\java.test\com\deimos\result\D

2012-03-14 12:48:50 1260

原创 开发那点事系列三 - 由XML解析引起的API设计思考

谈起XML解析,大家可能第一反应是DOM,SAX模型。没错,在Java领域,无论是Dom4j, Jdom,还是XOM,其底层都会依赖具体的解析器引擎(Crimson or Xerces)去做事,具体的实现后面会有文章陆续探究。今天写这篇文章的主要目的是想和大家分享自己使用Java SE6的StAX API的一些感受,尤其是对其API的设计理念的一个思考,没多少文字,主要是一些启发性的东东。当然,在

2012-03-13 22:59:52 1036

原创 开发那点事系列一 - 代码美,人生美!

作为成长的记忆,也作为不断追求卓越的见证,分享自己工作一年来的优秀代码片段。思考:两年,三年,甚至更远,进步能有几何???  期望:年年岁岁花相似,岁岁年年码不同~/** * Comprehensive Assert API, for extensible ,you can use inheritance machanism, * naming your class as Asse

2012-03-11 01:17:25 2257

原创 HttpComponents组件探究 - HttpClient篇

在Java领域,谈到网络编程,可能大家脑海里第一反应就是MINA,NETTY,GRIZZLY等优秀的开源框架。没错,不过在深入探究这些框架之前,我们需要先从最original的技术探究开始(当然,需要大家先熟悉java.net.*类库)。这里,我要和大家分享一下HttpComponents项目的部分组件特性。HttpClient,想必大家早都接触过了吧。HttpComponents和HttpCli

2012-03-11 00:51:20 11533 1

原创 架构那点事系列一 - 设计模式前章

----能够正视失败和错误,而不回避和掩盖,正是职业架构师的宝贵素养!!!      首先,我们需要明白的是何为架构,以我看来,架构更多关注的是高层设计(所谓的high-level Design),它是一组有关如何确定软件系统的组织机构的重要决策。感兴趣的朋友可以查看这篇文章来深入理解一下架构的概念(http://baike.baidu.com/view/1147116.htm?fr=

2012-03-10 18:16:18 8153 22

考勤管理系统(VC 6 , MS sql server 2000)

一款很不错的考勤管理系统,配置好即可运行!

2009-08-20

空空如也

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

TA关注的人

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