自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 转载 程序员技术练级攻略

本文转载自陈皓(http://coolshell.cn/articles/author/haoel) 博客: http://coolshell.cn/articles/4990.html 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mai...

2013-11-11 13:56:14 152

原创 Jenkins JFR Plugin

        Jenkins JFR 插件主要是用来解析JRockit Flight Record (不了解JRockit 飞行日志可以google一下),并且以SVG图形展示CPU,MEM等情况。想进一步了解代码的可以戳这里:https://github.com/WalseWu/jenkins-jfr。              言归正传,回到hudson plugin,关于h...

2013-11-01 14:51:57 424

原创 开发Hudson / Jenkins 插件

         接上篇,有了JFR Report,我们可以通过JMRC分析,但是这样的话还是不够方便,所以想自己开发一个Jenkins插件来解析展示,本文先做个开发前的准备工作:开发Hudson / Jenkins 插件首先一下准备工作:1. JDK1.6 或更新版本2. MAVEN 2 3. maven 库settings设置增加:<pluginGroups&gt...

2013-10-31 13:37:28 165

利用JFR监控WLS

       前阵子Jenkins上builds起伏很大,有些UnitPerfTes的耗时很大,一度使得WLS集群表现很糟糕,于是我希望为UnitPerfTest框架加上JRockit Flight Recording(JFR)模块,具体是这样的:1)在每个节点开始跑 Task之前能启动该节点上的一个JFR;2)当task跑完之后结束JFR;3)从每一个节点产生的JFR report...

2013-10-29 18:39:38 211

原创 Try to Test WLS application with JMeter

       JMeter的各组件以及如何扩展已完成,现在要利用JMeter对Weblogic Server 的一些应用/组件的性能测试。简单说就是利用JUnit 驱动,在单元测试中驱动JMeter,集成WLS完成一些底层的并发测试,最简单的一个场景:比如在某个单元测试性能评测中,我要测试 n 个并发,其中2%做写操作,98%做读操作。最终的结果都会在Hudson上汇总,看到JUnit Rep...

2013-10-25 18:33:13 93

原创 Programming with JMeter-- Sampler and Listeners

        完成JMeterEngine, ThreadGroup 和 JMeterThread的整合,外围的设施差不多搞定大半了,接下来是把具体的测试逻辑整合进来,既然是框架层面的,需要通用一点,方便客户端自己定义测试逻辑。不过在此之前,还需要研究下Sampler和Listeners,这样对JMeter的整个流程会有全局的把握。先看下图:       SampleListener和T...

2013-10-24 14:20:34 153

原创 Programming with JMeter-- JMeterThread

到上一篇ThreadGroup为止,基本上在项目中可以完成对JMeterEngine / ThreadGroup 的整合,现在要来分析下JMeterThread,以便更好的集成到项目中。        一个 JMeterThread 好比一个vu(虚拟用户),他的创建和启动已经在ThreadGroup这一篇中完整的分析,我们是将JMeterThread委托给一个叫做Daemonizable...

2013-10-22 17:16:23 113

原创 Programming with JMeter-- ThreadGroup

       项目搞一段落,总算有时间回来继续。      上一篇写到JMeterEngine会驱动JMeter ThreadGroup启动Test Threads 执行测试,其本身也是一个Runnable,这里把测试驱动(JUnit或者其他类似main之类的)看作主线程(main thread)的话, JMeterEngine作为第一层子线程(First Child Thread),所以...

2013-10-21 14:44:13 191

Programming with JMeter-- JMeterEngine

     JMeterEngine接口比较简单,总共7个方法,但是没javadoc,所以光看接口的话只能凭方法名猜测了。我们这里简要分析下:1. configure(HashTree testPlan)       前面博文已经说过HashTree是JMeter跑测试依赖的数据结构,也提到过HashTree的结构一般是TestPlan-->ThreadGroup-->Samp...

2013-03-04 18:36:05 157

Programming with JMeter-- Initialization

学 习了使用JMeterEngine简单的运行测试之后,不着急马上看内部的实现,先了解一下在启动JMeterEngine之前所做的一些初始化工作,这 个对于正确的代码启动JMeterEngine很有必要。下面是启动JMeterEngine之前的初始化流程简要描述:  1) Parse commandLine,将命令行参数、以及一些内置的帮助信息封存在CLArgsParser实例...

2013-03-03 00:38:37 84

Programming with JMeter

 习惯于JUnit做功能方面unit test,而对于有些Test需要有一定的压力来模拟一定并发的读和写,借助JMeter来实现这样的测试框架是很不错的一个选择,一来减少很多工作量 (只需少量的定制:比如实现自己的ThreadGroup来定制并发线程的创建和执行,实现自己的Sampler来定制测试目标类的实例化和运行),二来可以很方便使用Hudson进行持续集成, 这对于利用Hudson进行...

2013-03-02 00:30:03 91

原创 Linux 之mount镜像文件

本文转自:http://my.oschina.net/toyandong/blog/65002  使用mount挂载ubuntu虚拟机所在的img文件的时候,执行:“sudo mount -o loop xxx.img /mnt/xxx”,系统提示:“mount: you must specify the filesystem type”加上”-t ...

2012-11-12 20:43:10 175

原创 eclipse 和 weblogic又各罢一次工

       环境迁移,永远不会那么顺利的,一些意想不到的错误时有出现,这些都需要有耐心去查看、google、慢慢摸索解决。由于linux supprt模块只能在特定的环境下运行和测试,那我前期的开发环境也变得复杂起来(要不写的代码都没法运行),一般的虚机是不行了。保险期间,只能迁移到cloud vm,心想申请个cloud vm玩玩应该也不错。时间紧张,先用个现成的吧,呵呵。       ...

2012-07-28 23:38:25 66

原创 linux下装Oracle-XE记

       本来想偷懒一下,装个Oracle-xe精简版,节省点空间(压缩包不到300M),也省点时间,没想到木有控制好风险,付出的时间远远高出预计。安装rpm文件是从TaaS那里考过来的,自己的产品嘛,又有自己人背后支持,我就放心大胆的去装了,再加上之前在虚机上装过,信心满满,怎么说半个小时就搞定了吧。       一系列命令之后,控制台出现安装成功的输出信息,紧接着config下,sud...

2012-07-28 22:54:29 85

原创 Linux开发环境小记

      发发牢骚,最近因为负责一个linux support的模块,在几台虚机之间切换感觉很不爽,果断把整个开发环境切换到Linux 下(Oracle Enterprise Linux 5),各种不爽的问题出现,记录两个:        一是eclipse切换workspace莫名其妙的错误:Workspace in use or cannot be created,choose a ...

2012-07-25 23:44:28 85

原创 利用JMX统计远程JAVA进程的CPU和Memory

      从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java.lang.management 包,包里提供了许多MXBean的接口类,可以很方便的获取到JVM的内存、GC、线程、锁、class、甚至操作系统层面的各种信息,本文就简单的介绍一种利用JMX对JAVA进程进行CPU、堆内存使用的监控。可能有人会觉得没必要这样做,因为用jconsole之类的工具都能做到,而且会...

2012-05-26 01:09:32 727

原创 Centos 忘记密码

       最近比较忙又比较懒,好久没有进CentOS系统了,今天突然想起个事情,想进去,却发现忘记密码了,悲催啊!幸好网上教程一大堆。重置还是比较容易的,要不然真的悲剧了。主要也就没几步:1. 在grub画面时,用上下键选中平时启动linux选项,然后按e键进入edit模式 2. 然后选择kernel,再按e进入edit模式 3. 修改刚刚选中命令行,加入single,按b(启动)4....

2012-05-11 23:22:38 83

原创 Spring Security与BlazeDS集成的FlexSession Invalid问题

        先说现象:当用户登录以后,如果点击浏览器的后退按钮回到登录页面,这个时候用浏览器的前进按钮是可以再回到主页面的,但如果再想通过输入用户名/密码登录的时候,就会发现登录不了,系统会一直跳转到登录页面。查看后台的话会发现这个是因FlexSession invalid Exception 引起的。        仔细想想觉得系统不应该会有这种bug啊,但是不管你觉得会不会,问题出现了,...

2012-05-04 13:43:10 198

原创 从BeanDefinition到Bean

    当BeanDefinition注册完毕以后,Spring Bean工厂就可以随时根据需要进行实例化了。对于XmlBeanFactory来说,实例化默认是延迟进行的,也就是说在getBean的时候才会;而对于ApplicationContext来说,实例化会在容器启动后通过AbstractApplicat...

2012-02-28 17:52:51 128

原创 BeanDefinition 解析和注册

       上一篇SpringIOC之BeanFactory大概分析了SpringIOC之最简单的容器接口的设计和实现的框架,可以看出Spring的接口职责的明确划分。有了对上层接口设计的认识,这一篇就直接从容器XmlBeanFactory着手,解读一下从Bean配置的读取、解析、并注册为BeanDefinition...

2012-02-21 15:30:39 91

原创 第二期Hadoop 交流资料分享

      去年12月23日参加了eBay #聚技术# 第二期 Hadoop技术交流,整个活动挺不错,分享大会上几个大牛的技术文档吧!希望对用到的兄弟有帮助。

2012-02-16 21:34:59 76

原创 Spring IOC之BeanFactory

      做过不少项目,用到最多的框架当属Spring了,但是至今都没有去整理过任何一篇关于Spring学习的文档:一是因为Reference比较详细,平时项目中基本上都能查到;二是因为有很多关于Spring的文章都写的相当好,觉得没有必要自己再写。今天我鼓起勇气整理一篇关于BeanFactory相关的文章,算是自己对Spring Ioc学习的一归...

2012-02-16 17:16:56 80

原创 上班第一周

   过年休了部分年假去祖国的南部游玩了一圈。领略了广东饭店的霸气,我能想到的、不能想到的都能点来上桌,只要你敢点,^_^,中山、珠海的早茶还是蛮不错的,真的好吃,甜点和和小吃也蛮不错;领略了澳门赌场的热闹,只是没好意思赌一把;感受了香港自助游的欢乐,太平山顶一览全港夜景、海洋公园体验各种惊险、星光大道追逐明星手迹、时代广场一睹热闹、铜锣湾小吃购物、湾仔码头天星小游轮,印象最深的当属那里海水的清澈...

2012-02-09 11:36:40 69

原创 mongodb 分片

       接着上一篇,本文来记录下mongodb 的自动分片功能。       Mongodb支持自动分片和划分架构,可以利用它构建一个水平扩展的数据库集群系统,将数据库分表存储在各个sharding节点上。本文接着上一篇的例子,来简单尝试一下这个”auto sharding”功能。在开始之前,先简要介绍下Sharding ,下面对sharding的介绍基本来自官网的文档http://ww...

2011-12-29 23:44:31 83

原创 使用morphia对基于mongodb应用开发

         最近初学了下mongoDB,作为比较火的一个NoSQL数据库,确实比较强大,但是这几天学下来更多的感觉到的是学习、使用都很方便。          首先是初学者体验使用方便,直接下载(http://www.mongodb.org/downloads)解压,然后启一下服务便可使用:mongod --dbpath your_db_data_dir,启动以后默认端口27017,  ...

2011-12-27 22:39:17 142

原创 数据库大会资料分享

     昨天去听了thinklamp社区等主办的“第二届华东地区数据库大会”的部分讲座,感觉还不错。虽然我不是DBA,平时侧重在开发,最近也一直没用MYSQL,但还是整理了部分ppt,在此打包分享。...

2011-12-13 00:02:40 81

原创 It takes me 20mins to find new office

    自上月底搬到新办公室之后就一直在休假,回来第一天,花了整整20分才找到,感觉像是换了一份工作,呵呵!

2011-12-12 10:40:15 74

原创 ThreadPoolExecutor 工作线程调度和回收

       ThreadPoolExecutor对任务的提交和异步执行已分析完毕,现在要补充一些关于它对线程池的管理,也就是对其工作线程的调度和回收.       还记得上一篇“ThreadPoolExecutorexecute 方法分析”最后一个关于任务异步执行的流程图,虽然分支庞杂,但只有两个条逻辑路径会增加工作线程加入到线程池:一是当前线程池的大小<核心线程池大小(即...

2011-11-17 18:19:05 948

原创 ThreadPoolExecutor execute 方法分析

      分析完AbstractExecutorService异步任务提交之后,一直留着一个问题:就是任务提交之后的最终执行方法execute(Runnable)始终没有细究,只知道它会在将来某个时刻去执行任务,也就是所谓的异步执行。 现在可以揭开异步执行方法executor(Runnable command)的真面目了,回到线程池执行器ThreadPoolExecutor,乍看这个方法,蛮精干...

2011-11-05 00:35:54 395

原创 AbstractExecutorService任务提交<三>

    最后来看两个invokeAny方法,这个方法和invokeAll的区别在于,invokeAll会阻塞直到所有任务执行完(完成 or 取消 or异常)才会返回(返回的是所有任务的结果),而invokeAny只需要任何一个方法执行完即返回(返回的时候最先执行完的那个任务的结果)。查看代码发现这两个invokeAny方法都是直接调用doInvokeAny方法实现的:  public &l...

2011-11-02 21:39:37 112

原创 AbstractExecutorService任务提交<二>

        submit方法分析完毕,接着看两个invokeAll方法,先看第一个:public &lt;T&gt; List&lt;Future&lt;T&gt;&gt; invokeAll(Collection&lt;? extends Callable&lt;T&gt;&gt; tasks) throws InterruptedException { ...

2011-11-02 20:54:01 103

原创 AbstractExecutorService任务提交<一>

      现在可以来记录AbstractExecutorService的异步任务提交了,单刀直入吧,先看三个submit方法提交单个任务: public Future&lt;?&gt; submit(Runnable task) { if (task == null) throw new NullPointerException(); Runnable...

2011-11-02 18:08:37 88

原创 Flex tree xml数据lazy loading

在技术上,这其实没什么纠结的,只是上一个功能关于动态grid弄好已经接近18:00,这临近下班的时间再搞这个问题,而且紧急,在感情还是上蛮纠结的。加上系统本来已经就有个tree在运转,当然数据格式不是基于XML的,只不过那个tree实在太臃肿而且问题不断,现在要重写就更纠结了。还好我之前在另一个模块写过一个基于XML数据的Tree,代码还算简洁,复用度蛮高,只不过那个场景下不是Lazy Loa...

2011-10-28 21:41:43 92

原创 Flex AdvancedDataGrid 动态构建和编辑并计算

     项目实在太紧,多线程模块SIT还没结束,一堆前台的问题也得亲自上阵,马不停蹄加班加点到这一刻终于收工,趁热记录下遇到过的两个纠结的功能。今天先写第一个:      关于flex动态AdvancedDataGrid的操作,前台根据后台返回数据构建一个动态的grid不算纠结,就略去,要说的是动态的可以编辑某些单元格,不是所有单元格都能编辑,只是一小部分。一旦单元格编辑完毕,有些依赖的...

2011-10-27 18:05:37 145

原创 ThreadPoolExecutor 分析之类基础架构

         既然最终任务都是由execute(Runnable)方法执行,就直接来看该方法实现的所在类。首当其冲肯定是类ThreadPoolExecutor了,相信他是java concurrent包中用的最多的一个线程池执行器,包括spring中ThreadPoolTaskExecutor也是利用它来执行任务的。从类的“家谱”来看,ThreadPoolExecutor直接继承自...

2011-10-25 11:25:17 79

原创 First glimpse at Java Concurrent from Executors to FutureTask

      最近刚刚写完一个多线程的模块,感叹java concurrent强大的同时,整理了下近一周学习,打算大概记录下,主要是读了部分concurrent包的代码. 有了java concurrent,客户端写多线程果然简单多了,首先需要用到的类是java.util.concurrent.Executors, 由它来生成线程执行器java.util.concurrent.ExecutorS...

2011-10-21 18:11:44 117

原创 贪心算法之活动选择问题

 /** * 活动选择之贪心解法 * 在上周学习动态规划时已经用动态规划分析了活动选择,有: *   A[i][j] = A[i][k] ∪ {a[k]} ∪ A[k][j] *   c[i][j] = c[i][k] + 1 + c[k][j] * 将A[i][j]的解分解到两个子集(A[i][k]和A[k][j])的解,如果进一步分析: * 假设对于任意非空子集S[...

2011-08-29 18:15:51 104

原创 动态规划之LCS

/** * 动态规划之最长公共子序列问题:给定一个子序列 X = &lt;x1,x2,...xm&gt;,另一个子序列Z = &lt;z1,z2,...zk&gt;是X的子序列,如果存在X的一个严格递增下标序列 * &lt;i1,i2,...ik&gt;,使得对于所有j = 1,2,...k,有xij = zj。如Z=&lt;B,C,D,B&gt;是X=&lt;A,B,C,B,D,A...

2011-08-29 12:57:39 109

原创 动态规划之装配线问题

 /** * 动态规划之装配线问题: * 有两条装配线L1和L2,每条装配线上有n个站,将装配线i(=1或2)的第j个站表示为S[i][j].装配线1和2的第j个站功能相同,但是加工的时间不同,设S[i][j]站得时间为a[i][j] * 一个产品进入生产线i的时间为e[i],完成后离开生产线i的时间为x[i] * 一个产品在同一条装配线上从上一站完成后转移到下一站的时间为0,...

2011-08-29 00:52:13 300

原创 优先队列

      在堆排序基础上顺便实现下优先队列,纯粹为实现下优先队列的思想,也顾不上代码丑陋了,嘿嘿,自己学习。 public class PriorityQueue&lt;T extends Comparable&lt;T&gt;&gt; { /** * 和对排序中一样,第零个元素不做用 */ private T[] queue; private i...

2011-08-28 16:39:19 57

摩根面试宝典-JVM,GC,Spring etc.

包含了摩根面试的技术要点,涉及JVM架构,内存回收,Classloader等JDK底层技术,也包括像HashMap,ConcurrentHashMap,Object线程同步等API的解读,还涉及了Spring AOP原理解析等框架技术。

2011-08-10

spring 3.0 新特性

spring 3.0新特性解析说明,包括spring EL,IOC增强, @MVC 增强,JDK5 核心API增强,等等

2011-08-10

空空如也

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

TA关注的人

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