- 博客(52)
- 收藏
- 关注
原创 HTTP调试工具:Fiddler的使用方法介绍
Fiddler可以帮您记录,调试Microsoft Internet Explorer与Web应用程序的交互,找到Web程序运行性能的瓶颈,还有如查看向Web服务器发送cookies的内容,下载内容的大小等功能。 说多一点是,Fiddler站在用户与Web服务器的中间,由它转发请求与响应,因此Fiddler作为一个可检视,可定制的工具,能让您了解交互过程细节,有利于解决Web程序的交互问题
2012-01-25 23:16:58 2961
原创 计算机存储单位:bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB
一、计算机的存储单位有哪些呢? 计算机存储单位一般用 bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB来表示, 我们经常将Byte简称为B,将KB简称问K。什么几K了,什么几B了。。 二、他们换算关系是怎样的呢? 1、计算机存储信息的最小单位: 位 bit (比特)(Binary Digits):存放一位二进
2012-01-20 15:11:37 3745
转载 由12306.cn谈谈网站性能技术
12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东西)业务任何技术都离不开业务需求,所以,要说明性能问题,首先还是想先说说业务
2012-01-17 09:33:41 2093
原创 The C10K problem
编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问
2011-08-31 14:45:03 2441
原创 如何查看Linux版本.
如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@c
2011-07-26 13:57:33 3881
原创 收集的maven 仓库地址(maven repository)
maven 仓库地址: 共有的仓库 http://repo1.maven.org/maven2/ http://repository.jboss.com/maven2/ http://repository.sonatype.org/content/groups/public/ http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecuri
2011-06-23 16:16:00 3041
原创 Eclipse JDT--AST入门
最近做program analysis,需要解析Java的源代码,于是就去看了看Abstract Syntax Tree(AST,中文为抽象语法树)。有点无奈的是,网上关于这方面的资料比我想象中的少,可能是涉及的东西太底层了吧。AST一般属于编译原理方面的内容,也经常用于程序分析等等。简单来说,你写了一坨代码,编译器会把代码转化成一棵抽象语法树用
2011-06-20 19:12:00 2632
原创 探索 Eclipse 的 ASTParser
探索 Eclipse 的 ASTParser如何使用这种解析器生成代码简介: 如果曾经编写过处理代码的应用程序,就会知道事情可能变得非常复杂,尤其在使用像 Java™ 这样复杂的语言时。不过对于那些使用 Eclipse 的人来说,有一个好消息:可以利用 Java Development Tooling (JDT) 和 ASTParser。本文就说明如何做。E
2011-06-20 18:47:00 24518 1
原创 Tala Reviewer---让天下没有难做的Code Review
<br /><br />Tala 是一个eclipse平台下的code review插件, 本着简单、实用的原则,通过此工具提高团队code review速度、效率,且责任到人,同时我们也在考虑为SQL Review提供便利等功能,我们希望它实用并且足够简单,通过此插件帮助开发人员提高code review的质量和效率。<br /> <br /> <br /> Tala插件安装地址http://tools.taobao.net/file/eclipsePlugin/eclipse/88/update_s
2011-05-16 19:17:00 17633
原创 cglib相关性能测试对比
背景: 继上一篇文章 cglib源码学习交流 很多同学提出,因中文文档缺乏,导致对文章中的介绍看的不是很明白,更多的只是想了解具体的使用即可。所以趁势写了这篇博文,主要是将cglib中的几个工具类和常用的Reflect ,BeanUtils做一个对比,顺便也介绍一下cglib的相关用法,一举两得,望大家多多支持。 正题:1. 首先定义一份Pojo Bean ,后续的测试主要围绕这个进行。 Java代码 public static class CopyB
2011-05-11 10:41:00 5413 1
原创 cglib源码学习交流
<br />背景<br /> 前段时间在工作中,包括一些代码阅读过程中,spring aop经常性的会看到cglib中的相关内容,包括BeanCopier,BulkBean,Enancher等内容,以前虽大致知道一些内容,原理是通过bytecode,但没具体深入代码研究,只知其所用不知其所以然,所以就特地花了半天多的工作时间研究了CGLIB的相关源码,同时结合看了下 spring Aop中对CGLIB的使用。<br /> 本文主要通过对cglib有原理的分析,反编译查看源码,例子等方式做一个介绍
2011-05-11 10:35:00 8789 3
原创 HBase技术介绍
<br />HBase简介<br />HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。<br />HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop
2011-04-22 14:27:00 1853
原创 memcache 机制分析
1.关于本文档 本文档所有的分析都是在1.2版本之上,偶尔会提到比较1.1版本.其他版本没有阅读. 一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分 布式的思路感到十分欣喜,因为在中间层以极小的代价实现简单分布式无疑成为一些要求不是很高的分布式应用的一个很好的设计思路,这个特性决定 memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信.一个结点拒
2011-04-15 13:59:00 4335 1
原创 使用 Eclipse Memory Analyzer 进行堆转储文件分析
获得堆转储文件巧妇难为无米之炊,我们首先需要获得一个堆转储文件。为了方便,本文采用的是 Sun JDK 6。通常来说,只要你设置了如下所示的 JVM 参数:-XX:+HeapDumpOnOutOfMemoryErrorJVM 就会在发生内存泄露时抓拍下当时的内存状态,也就是我们想要的堆转储文件。如果你不想等到发生崩溃性的错误时才获得堆转储文件,也可以通过设置如下 JVM 参数来按需获取堆转储文件。-XX:+HeapDumpOnCtrlBreak除此之外,还有很多的工具,例如 JMap,JConsol
2011-03-17 17:30:00 3300 1
原创 Spring 核心部门详解
<br />这里出现了一个非常重要的Bean——FactoryBean,可以说Spring一大半的扩展的功能都与这个Bean有关,这是个特殊的Bean他是个工厂Bean,可以产生Bean的Bean,这里的产生Bean是指 Bean的实例,如果一个类继承FactoryBean用户可以自己定义产生实例对象的方法只要实现他的getObject方法。然而在Spring内部这个Bean的实例对象是FactoryBean,通过调用这个对象的getObject方 法就能获取用户自定义产生的对象,从而为Sp
2011-03-09 11:30:00 3113 2
原创 JAVA IO 设计模式彻底分析
<br /><br />一。引子(概括地介绍Java的IO)<br /> 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充。它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的。由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据。<br /> 如,一个程序可以用FileI
2011-03-08 15:57:00 2755
原创 Java 集合类图
有序否允许元素重复否Collection否是List是是SetAbstractSet否否HashSetTreeSet是(用二叉树排序)MapAbstractMap否使用key-value来映射和存储数据,Key必须惟一,value可以重复HashMapTreeMap是(用二叉树排序)
2011-02-28 17:51:00 20901 2
原创 jtester与dbunit冲突问题解决!
Levit应用中存在Jtester和DBUnit两种单元测试框架,在信联项目中发现2个框架编写的单元测试同时跑会发生冲突导致单元测试不过。当时由于项目时间紧张采取了临时解决方法,Jtester与dbunit单元测试分开跑来规避了此问题。。。没有解决根本问题,现在就一步一步的去探索究竟是什么问题引起的。。。1、问题重现看一下报错信息 执行命令:mvn clean compile test错误信息如下:为什么会有46个错误呀,好恐怖呀,打开TestSuite.txt看一下具体是什么问题,部分错误信息
2011-02-24 09:48:00 3451
原创 Maven的基本原理和Maven2的新特性
<br />用Maven做项目管理在Java世界中我们很多的开发人员选择用Ant来构建项目,一个build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目结构和build.xml相差很大等等。而Maven的出现,给项目提供了更多的支持。1 简介Maven作为Apache的一个开源项目,旨在给项目管理提供更多的支持,主页地址为http://maven.apache.org 。它最早的意图只是为了给apache组织的几个项目提供统一
2011-02-21 20:51:00 2319
原创 在IDEA下远程调试JavaScript
<br />谈起JavaScript调试,大家可能想到的就是FireFox下的FireBug,这毫无疑问,FireBug基本已经成为JavaScript开发人员的必备工具。在本文中,将向大家介绍如何在IDEA下远程调试JavaScript,毕竟能在IDE工具中直接设置断点,进行调试,这还是非常诱人的。<br /> 首先我们要给FireFox安装一个插件,该插件由IntelliJ IDEA的开发工程师开发,安装目录为%IDEA_HOME%/plugins/JavaScriptDeb
2011-02-16 19:51:00 10457
原创 字符编码笔记:ASCII,Unicode和UTF-8
<br />今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。 <br /><br />结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。 <br /><br />下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。 <br /><br />1. ASCII码 <br /><br />我们知道,在计算机内部,所
2011-01-07 17:43:00 651
原创 Velocity安全输出帮助
<br />Velocity安全输出帮助 <br /><br /> * html输出 什么都不执行, 按原始格式输出。 他并不是真正的不执行任何变化, 因为他会执行xss的过滤动作。一个非常复杂的安全处理过程, 如果不是输出HTML, 请勿使用。 这个表示将会消耗大量的CPU处理。 <br /><br /> #SHTML($html) <br /><br /> * xml编码输出, 将会执行 xml encode输出 <br /><br /> #SXML($x
2011-01-04 10:25:00 2397
原创 java.util.Collections.copy()方法注意点
<br />今天发现单独的将一个ArrayList的对象添加到另外一个ArrayList的时候,总是源列表和目的列表相同的内存地址。原因如下:偶然看到了Collections的copy(List desc,List src)方法.当时就想这个方法和初始化一个List desc=new ArrayList(List c)【参数必须实现Collection接口】的区别。<br /><br />两者的差别很大,后者是一个浅拷贝,只是对源list的元素进行拷贝,拷贝的只是引用。拷贝后两个list的元素(引用)不
2010-12-31 10:52:00 39036 10
原创 svn:externals使用!
<br /><br />才在levit应用的jetty改造中,需要在deploy/framework 目录,里面的文件依赖于http://svn.alibaba-inc.com/repos/ali_cn/internal/dzone/deploy<br /> <br />所以要实现svn的目录共享,结构如下<br /> <br />Levit(levit分支)<br /> |-bundle<br /> |-web<br /> |-biz<br /> |-daemon<br /> |-common<
2010-12-28 08:21:00 5632
原创 svn:externals使用!
<br /><br />才在levit应用的jetty改造中,需要在deploy/framework 目录,里面的文件依赖于http://svn.alibaba-inc.com/repos/ali_cn/internal/dzone/deploy<br /> <br />所以要实现svn的目录共享,结构如下<br /> <br />Levit(levit分支)<br /> |-bundle<br /> |-web<br /> |-biz<br /> |-daemon<br /> |-common<
2010-12-28 08:21:00 1407
原创 tomcat在eclipse中启动超时的问题解决
<br />具体现象就是eclipse在启动tomcat时, 会报错: “Timeout waiting for Tomcat v6.0 Server @ localhost to start. Server did not start after 45s” 的错误。 尤其是在debug时更加容易出现这个问题。 通过错误提示来看, 是因为tomcat启动时间超过了45m, 于是被终止了启动。出现这个问题,可能是应用程序比较庞大, 有很多启动加载项和初始化工作, 或者log太多。想着加大tomca
2010-12-27 22:10:00 1138
原创 ibatis执行SQL语句打印控制台的log4j.xml文件配置方法
在开发调试过程中,我遇到在调试ibatis执行的SQL是否正确时,无法查看ibatis是否执行了我想要执行的SQL语句,现发现一种解决方案就是在log4j.xml配置文件中加入以下代码就可以在控制台中打印出ibatis执行的SQL语句:value="%-4r [%t] %-5p %c %x - %m%n" />
2010-12-27 22:08:00 11547 1
原创 JDK里的设计模式
<br /><br />下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论:<br />http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns<br /> Structural(结构模式)Adapter:<br />把一个接口或是类变成另外一种。java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.Inp
2010-12-19 21:52:00 786
原创 深入分析 iBATIS 框架之系统架构与映射原理
<br /><br />iBATIS 框架主要的类层次结构<br />总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情:根据 JDBC 规范建立与数据库的连接;通过反射打通 Java 对象与数据库参数交互之间相互转化关系。<br />iBATIS 的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框架。先期准备好交互的必要条件,然后构建一个交互的环境,交互环境中还划分成会话,每次的会话也有一个环境。当这些环境都准备好了以后,剩下的就是交换数据了。其实涉及到网络通信,一
2010-12-19 20:18:00 586
原创 代码覆盖测试-Code Coverage Testing with EclEmma-使用篇
<br />使用 EclEmma 测试Java 程序<br />为了实验 EclEmma 的特性,我们首先在 Eclipse 的 Workspace 中建立一个名称为 test.emma 的新 Java 项目。接下来,我们在其中建立一个HelloWorld类,其代码如下所示:<br />package test.emma;<br /><br />public class HelloWorld {<br /><br />/**<br />* @param args<br />*/<
2010-12-15 11:36:00 6108
原创 Java代码质量检测评估工具(用 Eclipse 插件篇)
<br />转载前的话<br />appfuse中集成了很多代码质量控制工具,他们都是集成在maven当中的,方便自动化检测。<br />今天看到这篇文章,是eclipse插件形式,可以在开发期发现问题,比起maven的整体跑起来,对每个开发人员来说还是要方便点,有借鉴价值。<br />不忙的时候我来写篇maven篇。呵呵!!!<br />以下是转载<br /> 如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckSt
2010-12-15 11:07:00 2811
原创 maven深入浅出
Maven 深入浅出maven简介maven与ant的区别:1、ant 不是蚂蚁,而是意指"另一个整洁的工具"(Another Neat Tool),它最早用来构建著名的Tomcat,Ant也都是过程式的,开发者显式地指定每一个目标,以及完成该目标所需要执行的任务。针对每一个项目,开发都需要重新编写这一过程,这里都隐含着很大的重复。Ant是没有依赖管理的,所以很长一段时间Ant用户都不得不手工管理依赖,这是一个令人头痛的问题。2、Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现,并且大
2010-12-12 12:02:00 1289
原创 推荐一款很好用的调试JS的Eclipse插件
<br /><br />1. Javascript Debug Toolkit介绍<br />JSDT(Javascript Debug Toolkit)是一个用于javascript调试的eclipse 插件,用于调试javascript。JSDT可以跨浏览器调试,支持在IE,Firefox,Safari,Chrome等主流浏览器中调试 javascript。JSDT支持设置断点,单步调试等调试工具的基本特性。<br />2. 如何安装<br />JSDT是基于eclipse3.2+,jdk1.5+基础开
2010-12-12 11:23:00 11283 1
原创 Java开发环境
<br /><br />JDK<br />JDK(版本 1.6.x)<br />JCE(Java Cryptography Extension)安全补丁:解压到$JAVA_HOME/jre/lib/security中,覆盖原local_policy.jar和US_export_policy.jar<br />JVM参数 ...<br />Eclipse<br />Eclipse(版本 3.4.x+)<br />插件列表<br />easyshell update:http://pluginbox.sourc
2010-12-11 17:23:00 1859
原创 maven插件开发
<br /><br />大多数计算机语言的学习都是从Hello World开始,我们通过创建一个在控制台打印Hello World字符串的maven插件来学习如何开发一个自定义maven插件。<br /> <br />快速开发第一个插件<br />1,创建一个maven-plugin目录,并进入此目录。<br /> <br />2,运行命令:<br /> <br />mvn archetype:create -DgroupId=com.ailbaba.maven -DartifactId=maven-hel
2010-12-11 17:13:00 7049
原创 JSONUtil.bean2Json()报has no read method. SKIPPED问题
<br />问题剖析: 1、错误警告信息描述:<br />2、分解:调用方法JsonUtil.bean2Json(queryHistogramVO,newString[]{}));将VO对象转换成JSON对象格式jsonUtil包路径:queryHistogramVO 对象的属性和方法:public class HistogramVO { privateInteger userNum; privateInteger topCategory; privat
2010-12-11 17:06:00 19993 3
原创 正则表达式小探
正责表达式简介:正则表达式"(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级"搜索-替换"功能。那么Java又怎样呢?你可以从Apache.org下载源代码开放的Jakarta-ORO库。 Jakarta-ORO包分析:oro包类结构: Jakarta-ORO库我首先将简要介绍使用Jakarta-ORO库时你必
2010-12-11 17:01:00 1487
原创 如何使用Jakarta-ORO库
简介 Jakarta-ORO是最全面以及优化得最好的正则表达式API之一,Jakarta-ORO库以前叫做OROMatcher,是由Daniel F. Savarese编写,后来他赠给Jakarta Project。 Jakarta-ORO正则表达式库支持Perl5兼容的正则表达式语法。 环境 jdk1.5.0_12, jakarta-oro-2.0.8 源码打印?public static void simpleContains() throws Exception {
2010-12-08 10:50:00 2252
原创 程序员必读:JavaBean规范
<br /><br />作为Java程序员,对于JavaBean也许你会说再熟悉不过了,它活跃于系统的很多层,不同的说法有 PO、VO、DTO、POJO。然而它无外乎就是一个Class类,带上些属性和它们的setter/getter方法,set/get后面那一个字母大写。虽然我们现在很少把JavaBean与那个古老的2.0的EJB搞混,但为什么明明用IDE为属性生成的getter/setter方法,应用一运行,还是报找不到某个bean属性的setter或getter方法呢? <br /> <
2010-12-08 10:19:00 668
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人