2013年3月15日
摘要: Mule 官方文档http://www.mulesoft.org/documentation/display/current/Getting+Started+with+Mule+Studio1. 简介Mule ESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB支持集成现有系统而无论其底层采用何种技术,如JMS、Web Services、JDBC、HTTP以及其他技术。2. 整体结构图 整体结构从上图可见,Mule通过Transports/Connectors与外围的异构系统连接,提供Routing(路由)、Tra 阅读全文
posted @ 2013-03-15 10:58 ThinkFar 阅读(1141) 评论(0) 推荐(0) 编辑
  2013年3月12日
摘要: 定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类图:访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一个简单的例子,代码如下:View Code class A { public void method1(){ System.out.println("我是A"); } public void method2(B b){ b.showA(this); }}class B { public void showA(A a){ ... 阅读全文
posted @ 2013-03-12 13:59 ThinkFar 阅读(202) 评论(0) 推荐(0) 编辑
  2013年3月11日
摘要: package com.yhj.jvm.classloader.finalTest;import java.util.Random;/** * @Description:静态成员测试 * @Author YHJ create at 2011-6-26 下午02:54:23 * @FileName com.yhj.jvm.classloader.finalTest.$StaticClassTest.java */class StaticClassTest{ public static int staticValue = 2 / 1; static{ System.out... 阅读全文
posted @ 2013-03-11 10:15 ThinkFar 阅读(443) 评论(0) 推荐(0) 编辑
  2013年3月8日
摘要: 2.序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需 阅读全文
posted @ 2013-03-08 16:36 ThinkFar 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一.体系结构图二、各部分职能1.类装载器子系统而Java虚拟机自带的加载器又包括3种类加载器根类加载器(Bootstrap):负责加载核心JavaClass(即所有java.*开头的类)扩展类加载器(Extension):负责加载扩展的Javaclass(例如所有javax.*开头的类和存放在JRE的ext目录下的类)系统类加载器(Ststem):负责加载应用程序自身的类系统类加载器又称为应用类加载器其中扩展类加载器和系统类加载器是使用Java实现的。而根加载器是使用C++实现的,JVM的API也没有暴露根类加载器,程序员无法在Java代码中获取根加载器。类通过JVM的Classloader加 阅读全文
posted @ 2013-03-08 14:06 ThinkFar 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类图:中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分:抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。中介者实现类:从抽象中介者继承而来,实现抽象中介者中定义的事件方法。从一个同事类接收消息,然后通过消息影响其他同时类。同事类:如果一个对象会影响其他的对象,同时也会被其他对象影响,那么这两个对象称为同事类。在类图中,同事类只有一个,这其实是现实的省略,在实际应用中,同 阅读全文
posted @ 2013-03-08 11:08 ThinkFar 阅读(384) 评论(0) 推荐(0) 编辑
  2013年3月7日
摘要: 定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类图:事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能好实现,排序就有点麻烦了。但是A有办法,先把打印功能完成,排序功能另找人做。View Code abstract class AbstractSort { /** * 将数组array由小到大排序 * @param ar... 阅读全文
posted @ 2013-03-07 15:54 ThinkFar 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类图:在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署的功能,就像eclipse开发时,只要修改了文件,eclipse就会自动将修改的文件部署到服务器中。这两个功能有一个相似的地方,那就是一个对象要时刻监听着另一个对象,只要它的状态一发生改变,自己随之要做出相应的行动。其实,能够实现这一点的方案很多,但是,无疑使用观 阅读全文
posted @ 2013-03-07 15:20 ThinkFar 阅读(247) 评论(0) 推荐(0) 编辑
  2013年3月6日
摘要: 数据表如下所示:student subject grade ---------------------------student1 语文 80student1 数学 70student1 英语 60student2 语文 90student2 数学 80student2 英语 100……转换为语文 数学 英语student1 80 70 60student2 90 80 100 ……语句如下: select student,sum(decode(subject,'语文', grade,null)) "语文", sum(decode(s... 阅读全文
posted @ 2013-03-06 16:22 ThinkFar 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。1.依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。类上面的图例中:People类依赖于Book类和Food类,Book类和Food类是作为类中方法的参数形式出现在People类中的。View Co.. 阅读全文
posted @ 2013-03-06 13:37 ThinkFar 阅读(308) 评论(1) 推荐(0) 编辑