
Java
文章平均质量分 89
0春华秋实
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JBOSS连接池调优—合理的设置fetchsize
1. 什么是fetchsize?1.1 Oracle中的fetchsize先来简单解释一下,当我们执行一个SQL查询语句的时候,需要在客户端和服务器端都打开一个游标,并且分别申请一块内存空间,作为存放查询的数据的一个缓冲区。这块内存区,存放多少条数据就由fetchsize来决定,同时每次网络包会传送fetchsize条记录到客户端。应该很容易理解,如果fetchsize设置为转载 2012-01-16 12:02:58 · 1701 阅读 · 0 评论 -
设计模式Java实现(一)
工厂模式工厂模式在实践中有如下三种常用:简单工厂(Simple Factory)、工厂方法(Factory Method)和抽象工厂(Abstract Factory)。其中Simple Factory并不是GoF提出的23种设计模式之一,但由于其实现简单所以也被广泛使用。以下是三种工厂模式的类设计图和Java代码实现(点击这里下载):简单工厂类设计图:工厂方法原创 2013-04-20 16:47:01 · 911 阅读 · 0 评论 -
设计模式Java实现(二)
适配器模式当我们有一个可以立即使用的类时,由于不符合客户端使用的接口时,我们需要创建一个适配器(adpter),以使当前可用的类能够被客户端对象使用。而在适配已有类时,存在两种方法,一种是通过继承的方式来适配,一种是通过引用(组合)的方式来适配,前者叫类适配,而后者加对象适配。适配器的两种Java实现在这里可以下载。以下是类适配的UML类图:以下是对象适配的UML类图:原创 2013-04-30 01:01:31 · 589 阅读 · 0 评论 -
设计模式Java实现(三)
门面模式(Facade Pattern)由于客户端需要调用多个系统才能完成一件业务操作,所以客户端需要感知多个子系统,并依赖这些子系统。门面(Facade)的作用就是聚合这些子系统,由门面对外提供接口,客户端只需要感知和依赖门面即可,无需再依赖其他子系统。门面模式的设计和实现都很简单,这里可以下载门面模式的Java实现版本。门面模式的UML类图如下:享元模式(Fly原创 2013-05-01 13:01:23 · 673 阅读 · 0 评论 -
设计模式Java实现(四)
桥梁模式(Bridge Pattern)桥梁模式是使用频率不高的一种设计模式,但是是一种“威力”很大的模式。该模式的意图为“将抽象和实现解耦,各种的变化不影响对方”。这里的“抽象”和“实现”不是指传统意义上的父类与子类的关系,恰恰相反,该模式就是认为传统的父与子的继承关系太过耦合,相互的变化都会影响到彼此,为解决该问题,才提出的一种解决方案。这里可以下载桥梁模式的Java实现版本。如下原创 2013-05-02 23:07:34 · 635 阅读 · 0 评论 -
深入理解Java内存模型
深入理解Java内存模型(一)——基础深入理解Java内存模型(二)——重排序深入理解Java内存模型(三)——顺序一致性深入理解Java内存模型(四)——volatile深入理解Java内存模型(五)——锁深入理解Java内存模型(六)——final深入理解Java内存模型(七)——总结转载 2013-05-02 23:51:17 · 1017 阅读 · 0 评论 -
设计模式Java实现(五)【完】
备忘录模式(Memento Pattern)备忘录模式能够在不破坏封装的前提下,捕捉对象的内部状态,并将该状态保持在对象外部,这样对象以后就可以很容易的恢复到原先保存的状态。备忘录模式涉及三个角色:发起人(Originator)角色,负责人(Caretaker)角色和备忘录(Memento)角色。三者之间的关系如下:Java版本的代码实现可以在这里下载。状态模式(Sta原创 2013-05-07 00:20:03 · 1056 阅读 · 0 评论 -
使用Spring配置AOP拦截的常用方式
废话少说,直接上Spring的配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" x原创 2013-05-14 23:47:58 · 1108 阅读 · 0 评论 -
Java多线程模式(二)
Guarded Suspension Pattern 该模式描述的是当一个线程在执行某个操作时,但由于其他资源还没有准备好,需要等待,那么就等待资源准备好才开始自己的操作。我们直接看代码例子:public class Request { private String name; public Request(String name) {原创 2013-08-08 00:28:38 · 1172 阅读 · 0 评论 -
Java多线程模式(一)
Java多线程基础Thread类的run方法和start方法 Java语言写成的程序一定是先从主线程开始操作,所以必须在程序的某个位置启动新的线程,才能算是真正的多线程程序。start()方法是Thread类的方法,调用start()方法,就会启动新的线程。请注意,被调用来启动线程的是start()方法,而非run()方法。调用start()方法之后,Java执行处理系统会在背原创 2013-08-04 00:14:19 · 1820 阅读 · 1 评论 -
Java多线程模式(三)
Read-Wirte Lock PatternThread-Per-Message PatternWorker Thread Pattern原创 2013-08-08 23:38:07 · 1252 阅读 · 0 评论 -
Java多线程模式(四)【完】
FutureTwo-Phase TerminationThread-Specific StorageActive Object原创 2013-08-11 00:06:52 · 1834 阅读 · 1 评论 -
【转】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definit转载 2013-04-02 23:26:13 · 562 阅读 · 0 评论 -
《Spring揭秘》学习摘要 Part5
当OOP/OOSD(Object-Oriented Software Development)被提出来,以取代过去的基于过程化编程的开发方法的时候,或许那个时代的人都会以为,面向对象编程和面向对象的软件开发(OOP/OOSD)就是我们一直所追求的那颗能够搞定一切的“银弹”。即使面向对象的软件开发模式,依然不能很好地解决软件开发中的所有问题。 对于系统中普遍的业务关注点,OOP可以原创 2012-11-20 22:28:35 · 684 阅读 · 0 评论 -
链接MySQL数据库出现CannotCreateTransactionException
上线应用链接MySQL数据库时出现如下异常信息:org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception iscom.mysql.jdbc.CommunicationsException:原创 2012-01-16 12:07:45 · 5592 阅读 · 0 评论 -
JVM参数以及其含义
Java -Xms2g -Xmx2g -Xmn512M -Xss128K -XX:PermSize=128M -XX:MaxPermSize=128M -XX:NewRatio=4 -XX:SurivorRatio=4 -XX:MaxTenuringThreshold=1-Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。-Xmx2g:JVM最大的堆大小原创 2012-01-17 16:54:48 · 3477 阅读 · 0 评论 -
Ubuntu设置Java环境变量
vim ~/.profile JAVA_HOME=/usr/jdk1.6.0_30export JRE_HOME=/usr/jdk1.6.0_30/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$PATH原创 2012-01-16 12:08:38 · 500 阅读 · 0 评论 -
理解Load Average做好压力测试
SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试。跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本来也就算是告一段落,但第二天测试人员说要修改报告,由于这次作压力测试的同学是第一次作,有一个指标没有注意,因此需要修改几个测试结果。那个没有注意的指标就是load average,他和我一样开始只转载 2012-02-23 12:37:14 · 398 阅读 · 0 评论 -
压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate
CPU Utilization 好理解,就是CPU的利用率,75%以上就比较高了(也有说法是80%或者更高)。除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的。 Load Average ,这个很难衡量。网上搜了一圈,还没见到几个合理的解释。我100个并发用户测试数来这两个值是:77.534%,6.转载 2012-02-24 11:33:55 · 412 阅读 · 0 评论 -
《Spring揭秘》学习摘要 Part1
EJB是使用J2EE平台各项服务的一种方式,但不是唯一的方式。对于分布式系统来说,是用EJB在某些方面确实可以带给我们很大的收益,但并不是所有的J2EE应用都要用于分布式环境。(其实即便是在分布式环境下,EJB也不见得是最优的解决方案)。 使用EJB,通常意味着需要引入拥有EJB Container的应用服务器(J2EE Application Server)的支持;原创 2012-03-04 21:10:07 · 632 阅读 · 0 评论 -
《Spring揭秘》学习摘要 Part2
Spring的IoC容器是整个Spring框架的核心和基础。 IoC它的全称为Inversion of Contral,中文通常翻译“控制反转”,它还有一个别名叫做依赖注入(Dependency Injection)。好莱坞原则“Don't call us,we will call you”恰如其分的表达了“反转”的意味。 不管是通过new构造对原创 2012-08-12 15:45:10 · 518 阅读 · 0 评论 -
《Spring揭秘》学习摘要 Part3
容器背后的密码 Spring的IoC容器所起的作用,它会以某种方式加载Configuration Metadata(通常也就是XML格式的配置信息),然后根据这些信息绑定整个系统的对象,最终组装成一个可用的基于轻量级容器的应用系统。Spring的IoC容器实现以上功能的过程,基本上可以按照类似的流程划分为两个阶段,即容器的启动阶段和Bean的实例化阶段。Spring的Io原创 2012-08-15 00:05:17 · 881 阅读 · 0 评论 -
[转]java.lang.IllegalArgumentException: No SqlMapClient specified 异常解决方案
java.lang.IllegalArgumentException: No SqlMapClient specified at org.springframework.util.Assert.notNull(Assert.java:112) at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMa转载 2012-07-31 18:08:44 · 3370 阅读 · 0 评论 -
Groovy入门教程
Groovy入门教程杨宏焱 2009-5-13一、groovy是什么简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音。转载 2012-08-22 17:27:51 · 698 阅读 · 0 评论 -
《Spring揭秘》学习摘要 Part4
Spring IoC容器ApplicationContext统一资源加载策略 Spring提供了一套基于org.springframework.core.io.Resource和org.springframework.core.io.ResourceLoader接口的资源抽象和加载策略。 Spring框架内部使用org.springframework.core.io.R原创 2012-08-23 00:02:25 · 1964 阅读 · 1 评论 -
Java远程debug参数
java中的远程debug调试java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=yaddress : 调试端口suspend=y : 服务端启动时会等待客户端链接,n:服务端启动不会等待客户端链接原创 2013-12-22 15:06:18 · 516 阅读 · 0 评论