自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

会飞的蜘蛛

做一只会飞的蜘蛛

  • 博客(23)
  • 收藏
  • 关注

转载 Java远程通讯可选技术及原理

<br /><br />在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术和原理的介绍。<br />基本原

2010-10-19 15:14:00 790

转载 【译】构建可扩展的Java EE应用(一)

<br /><br />可扩展性作为系统的属性之一,是个很难定义的名词,经常会与性能混淆。当然,可扩展性和性能是有关系的,它的目的是为了达到高性能。但是衡量可扩展性和性能的方法是不一样的,在这篇文章中,我们采用wikipedia中的定义 <br />原文地址: http://www.theserverside.com/tt/articles/article.tss?l=ScalingYourJavaEEApplications<br /> <br />对于一个具备使用价值的应用而言,其使用者有可能会在一段时

2010-10-19 15:13:00 919

转载 由JSESSIONID谈cookie与SESSION的区别和联系

<br /><br />由JSESSIONID谈cookie与SESSION的区别和联系 <br /><br />    在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码:<br />    < % cookie[]cookies = request.getCookies();<br />    if (cookies.lenght == 0 || cookies == null){<br />     

2010-09-28 11:20:00 1527

转载 HashTable详解

<br /> Hashtables提供了一个很有用的方法可以使应用程序的性能达到最佳。  <br />   Hashtables(哈希表)在计算机领域中已不是一个新概念了。它们是用来加快计算机的处理速度的,用当今的标准来处理,速度非常慢,而它们可以让你在查询许多数据条目时,很快地找到一个特殊的条目。尽管现代的机器速度已快了几千倍,但是为了得到应用程序的最佳性能,hashtables仍然是个很有用的方法。 <br /><br />   设想一下,你有一个包含约一千条记录的数据文件,比如一个小企业的客户记录,还

2010-09-06 00:02:00 2594 1

转载 ConcurrentHashMap之实现细节

<br /><br />ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码,现在总算理解ConcurrentHashMap实现机制了,其实现之精巧,令人叹服,

2010-09-04 23:42:00 1381

转载 HashMap深度分析

<br />java.util.HashMap是很常见的类,前段时间公司系统由于对HashMap使用不当,导致cpu百分之百,在并发环境下使用HashMap 而没有做同步,可能会引起死循环,关于这一点,sun的官方网站上已有阐述,这并非是bug。<br /><br />HashMap的数据结构<br />         HashMap主要是用数组来存储数据的,我们都知道它会对key进行哈希运算,哈系运算会有重复的哈希值,对于哈希值的冲突,HashMap采用链表来解决的。在HashMap里有这样的一

2010-09-04 22:47:00 955 1

转载 深入理解JVM

<br /><br />1   Java技术与Java虚拟机<br />说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:<br /><br />图1   Java四个方面的关系<br />运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存, 一旦字节码进入虚

2010-09-02 21:46:00 700

转载 Quartz CronTrigger最完整配置说明

<br />CronTrigger配置格式:<br /><br />格式: [秒] [分] [小时] [日] [月] [周] [年]<br /><br /> 序号说明 <br /> 是否必填 允许填写的值允许的通配符 <br /> 1 秒 是 0-59   , - * / 2 分 是 0-59 <br />  , - * / 3小时 是 0-23  , - * / 4 日 是 1-31  , - * ? / L W 5 月 是 1-12 or JAN-DEC  , - * / 6 周 是 1-7 or SU

2010-08-30 11:21:00 1211

转载 Hudson+Sonar

<br />安装步骤 ======================== 1. 下载hudson.war然后把它部署在jboss下面wget -c http://hudson-ci.org/latest/hudson.war 2. 启动jboss 3. 输入http://ip:8080/hudson进入hudson,配置jdk,maven参数 4. 下载sonar,然后解压。wget -c http://dist.sonar.codehaus.org/sonar-2.2.zip5. 安装mysql   创建一

2010-08-26 09:56:00 3316 2

转载 JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介

在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue workQueue,RejectedExecutionHandler handler)co

2010-08-18 15:37:00 707

原创 编写自定义的PMD规则

<br /><br />前提:<br />1.         了解XPath:http://www.w3.org/TR/xpath<br />2.         对PMD 的实现原理有一定的了解<br />简单介绍一下pmd的实现原理:<br />Pmd利用javacc和EBNF文法产生一个分析器,用来分析java源代码(文本)。又在JavaCC的基础上加入了语义的概念也就是JJTree,这样就把java source转换成了一个抽象语法树(AST),AST是一个结构化的对象层次结构。我们可以用访问者模

2010-08-16 21:18:00 3647

转载 MySQL中的各种JOIN(CROSS JOIN, INNER JOIN, LEFT [OUTER]

<br />MySQL中的各种JOIN <br /><br />1. 笛卡尔积(交叉连接) <br />在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用’,’ <br />如 <br />SELECT * FROM table1 CROSS JOIN table2 <br />SELECT * FROM table1 JOIN table2 <br />SELECT * FROM table1,table2 <br /><br />由于其返回的结果为被连接的两个数据表的乘积,因

2010-08-16 15:47:00 12244 1

原创 mysql distinct 与 group by 的区别

<br />在数据表中记录了用户验证时使用的书目,现在想取出所有书目,用 DISTINCT和group by都取到了我想要的结果,但我发现返回结果排列不同,distinct会按数据存放顺序一条条显示,而group by会做个排序(一般是ASC)。<br /><br />DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,DISTINCT 的实现和 GROUP BY 的实现也基本差不多,没有太大的区别,同样可以通过松散索引扫描或

2010-08-16 15:24:00 1524

原创 linux 环境变量设置

<br /><br />在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本文基于RedHat 9.0,详细讲解了环境变量定制的问题。<br />2、变量简介<br />Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境

2010-08-13 15:01:00 855

原创 setting文件配置

简介settings.xml文件中的settings元素包含了很多子元素,它们定义的值被用来配置Maven的执行情况。该settings文件的设置会被应用到很多个项目上,因此这里的设置不应该和任何一个特定的项目绑定,并且该设置的内容也不应该分发给它人。该文件定义的值包括本地仓库地址,候选的远程仓库仓库服务器,以及一些认证信息。settings.xml文件可位于两个地方:• Maven安装目录: $M2_HOME/conf/settings.xml• 用户特定的Settings文件: ~/.m2/settin

2010-08-10 17:28:00 5446 2

转载 Java 线程池的原理与实现

<br />最近在学习线程池、内存控制等关于提高程序运行性能方面的编程技术,在网上看到有一哥们写得不错,故和大家一起分享。<br /><br />[分享]Java 线程池的原理与实现<br /> <br />这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。<br />线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。<br />一提到池,我们会想到数据库连接池,但是线程池又如何呢?<br /><b

2010-08-09 23:17:00 1282

原创 mave的依赖范围

compile(编译范围)compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath中可用,同时它们也会被打包。provided(已提供范围)provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。例如,如果你开发了一个web应用,你可能在编译classpath中需要可用的Servlet API来编译一个servlet,但是你不会想要在打包好的WAR中包含这个Servlet API;这个Servlet API JAR由你的应用服务器或者

2010-08-04 23:49:00 17189 6

原创 maven核心,pom.xml详解

4.0.0 com.myproject.app myproject 1.0-SNAPSHOT myproject http://maven.apache.org D:/mavenworkspace/myproject/src/main/java src/main/scripts D:/mavenworkspace/myproject/src/test/java D:/mavenworkspace/myproject/target/

2010-08-04 17:00:00 251823 26

原创 maven常用命令集

创建maven项目命令:mvn archetype:generate列出所有可用的模板供选择并创建mvn dependency:analyze使用maven Dependency插件进行优化mvn dependency:resolve 已解决依赖的列表mvn dependency:tree 项目的整个依赖树mvn install -X 查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件(慎用,输出信息巨大)mvn scm:checkin -Dmessage="Message"提交mvn sc

2010-08-04 16:10:00 11129

原创 理解Java ClassLoader机制

当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:       bootstrap classloader                |       extension classloader                |       system classloaderbootstrap classloader -引导(也称为原始)类加载器,它负责加载Ja

2010-05-14 15:24:00 1209

原创 JavaScript创建对象与构造函数的实现方法

 function sayFirstName(){  alert(this.firstName.toUpperCase()); } function newClass(){  this.firstName="frank";  this.sayHello=function(){   alert("hello");  } } newClass.prototype.sayName=function(

2010-03-30 11:33:00 841

原创 Linux 中文乱码解决

修改 linux 系统/ect/profile 文件在最后面加 export LC_ALL="zh_CN.GB18030"  修改 /etc/sysconfig/i18n文件LANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_U

2009-12-31 13:47:00 824

原创 Ext.tree.ColumnTree 应用

 HTML代码: 带复选框(checkbox)的树 <!--$(function() { var tree = new Ext.tree.ColumnTree({ width: 550, height: 300, rootVisible:false,

2009-10-19 11:12:00 5547 7

空空如也

空空如也

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

TA关注的人

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