自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 Spring3.1.1浅析(一)

首先了解一下spring的启动细节:1、  创建maven工程,pom文件中加入对spring的依赖和log4j的支持:2、建立两个测试类,其中service中包含对dao的引用,然后定义一个Test类进行测试用:package com.yushh.test.chapter42;import org.apache.commons.logging.Log;import org.ap

2012-03-27 21:15:41 5795 1

Spring3.1.1浅析(一)

首先了解一下spring的启动细节:1、创建maven工程,pom文件中加入对spring的依赖和log4j的支持:2、建立两个测试类,其中service中包含对dao的引用,然后定义一个Test类进行测试用:package com.yushh.test.chapter42;import org.apache.commons.logging.Log;import org.apac...

2012-03-27 21:15:00 128

转载 axis2生成客户端代码

Ø         AXIS_HOMED:/axis1_4Ø         AXIS_LIB%AXIS_HOME%/libØ         AXIS_CLASSPATHD:/axis1_4/lib/axis.jar;D:/axis1_4/lib/axis-ant.jar;D:/axis1_4/lib/commons-discovery-0.2.jar;D:/axis1_4/

2012-03-26 17:43:28 6607

axis2生成客户端代码

ØAXIS_HOMED:/axis1_4ØAXIS_LIB%AXIS_HOME%/libØAXIS_CLASSPATHD:/axis1_4/lib/axis.jar;D:/axis1_4/lib/axis-ant.jar;D:/axis1_4/lib/commons-discovery-0.2.jar;D:/axis1_4/lib/commons-logging-1.0.4...

2012-03-26 17:43:00 161

原创 linux修改默认jdk

今天要升级系统发送邮件的功能,想在linux下运行一个java application程序,登录linux java --version 显示1.4,果断env一下 发现有1.6的 可是/usr/bin中指向的是1.4 于是:# cd /usr/bin # ln -s -f /opt/jdk1.6.0_01/jre/bin/java # ln -s -f /opt/jdk1.6

2012-03-26 17:08:35 3627 1

linux修改默认jdk

今天要升级系统发送邮件的功能,想在linux下运行一个java application程序,登录linux java --version 显示1.4,果断env一下 发现有1.6的 可是/usr/bin中指向的是1.4 于是:# cd /usr/bin# ln -s -f /opt/jdk1.6.0_01/jre/bin/java# ln -s -f /opt/jdk1.6.0_0...

2012-03-26 17:08:00 109

原创 apache mina 学习(十四)-----与spring整合

mina与spring整合的主要问题就是mina中一些bean的配置需要spring的ioc,我们首先看一个简单的服务端代码:public void initialize() throws IOException { // Create an Acceptor NioDatagramAcceptor acceptor = new NioDatagramAcceptor(); // A

2012-03-21 15:49:57 10192 3

apache mina 学习(十四)-----与spring整合

mina与spring整合的主要问题就是mina中一些bean的配置需要spring的ioc,我们首先看一个简单的服务端代码:public void initialize() throws IOException { // Create an Acceptor NioDatagramAcceptor acceptor = new NioDatagramAcceptor(); // A...

2012-03-21 15:49:00 163

原创 apache mina 学习(十三)-----状态机和IoHander配合使用

现在我们把上一张的收录机的例子改造为一个tcp服务器,用文本的传输,效果如下;telnet localhost 12345S: + Greetings from your tape deck!C: listS: + (1: "The Knife - Silent Shout", 2: "Kings of convenience - Riot on an empty street")C:

2012-03-21 15:36:47 3198

apache mina 学习(十三)-----状态机和IoHander配合使用

现在我们把上一张的收录机的例子改造为一个tcp服务器,用文本的传输,效果如下;telnet localhost 12345S: + Greetings from your tape deck!C: listS: + (1: "The Knife - Silent Shout", 2: "Kings of convenience - Riot on an empty street")C:...

2012-03-21 15:36:00 146

原创 apache mina 学习(十二)-----状态机(stateMachine)

mina状态机的工作原理:mina中引入了StateContext对象,顾名思义是一个状态上下文对象,用来保存当前的状态,当代理state对象的方法被调用的时候,这个上下文对象会通知stateContextLookup的实例去从方法参数中获取stateContext,通常情况下StateContextLookup 的实现类会循环方法的参数进行查找,并创建指定的对象,并从这个对象中得到一个上

2012-03-21 15:06:15 6296

apache mina 学习(十二)-----状态机(stateMachine)

mina状态机的工作原理:mina中引入了StateContext对象,顾名思义是一个状态上下文对象,用来保存当前的状态,当代理state对象的方法被调用的时候,这个上下文对象会通知stateContextLookup的实例去从方法参数中获取stateContext,通常情况下StateContextLookup 的实现类会循环方法的参数进行查找,并创建指定的对...

2012-03-21 15:06:00 156

原创 apache mina 学习(十一)-----状态机(stateMachine)

当我们在开发复杂的网络应用的时候往往需要一个状态的设计,下面就以官网的一个收录机播放为例来说明:收录机状态之间的转换我们应该不难理解:首先是空状态,就是什么磁带就没放进去然后是有磁带的状态,这两个状态之间的转换就是通过eject方法和load方法来交互的,loaded表示已经有磁带了,那么我们发出play指令,这时候收录机就会播放磁带,这就是一个新状态playing,当我们点击stop时,

2012-03-21 09:28:54 3484

apache mina 学习(十一)-----状态机(stateMachine)

当我们在开发复杂的网络应用的时候往往需要一个状态的设计,下面就以官网的一个收录机播放为例来说明:收录机状态之间的转换我们应该不难理解:首先是空状态,就是什么磁带就没放进去然后是有磁带的状态,这两个状态之间的转换就是通过eject方法和load方法来交互的,loaded表示已经有磁带了,那么我们发出play指令,这时候收录机就会播放磁带,这就是一个新状态playing,当我们点击stop时,...

2012-03-21 09:28:00 168

原创 apache mina 学习(十)-----Codec Filter

首先明白为什么用 ProtocolCodecFilter:1、TCP保证了按顺序传输所有的数据包,但是不能保证发送端进行了一个写操作会导致接收端相应的进行一个读操作。2、在mina中如果没有ProtocolCodecFilter,发送端的 一个IoSession.write(Object message)操作会触发接收端的多个messageReceived(IoSessionsession

2012-03-19 15:46:57 8486 2

apache mina 学习(十)-----Codec Filter

首先明白为什么用ProtocolCodecFilter:1、TCP保证了按顺序传输所有的数据包,但是不能保证发送端进行了一个写操作会导致接收端相应的进行一个读操作。2、在mina中如果没有ProtocolCodecFilter,发送端的一个IoSession.write(Object message)操作会触发接收端的多个messageReceived(IoSessionsession, ...

2012-03-19 15:46:00 193

原创 apache mina 学习(九)-----IoBuffer

mina中没有直接使用java nio中原生的ByteBuffer作为底层缓存流处理方式,具体的原因官方给出的主要是:1、NIO ByteBuffer没提供很可用的getters 和putters 。2、很难在固定的大小中写入可变长度的数据。当然mina并不是不让我们用原生的nio的ByteBuffer,这一点我们可以从IoBuffer的allocat方法得知:public

2012-03-19 10:08:20 7182

apache mina 学习(九)-----IoBuffer

mina中没有直接使用java nio中原生的ByteBuffer作为底层缓存流处理方式,具体的原因官方给出的主要是:1、NIO ByteBuffer没提供很可用的getters 和putters 。2、很难在固定的大小中写入可变长度的数据。当然mina并不是不让我们用原生的nio的ByteBuffer,这一点我们可以从IoBuffer的allocat方法得知:pu...

2012-03-19 10:08:00 190

原创 apache mina 学习(八)-----Handler

简单介绍一下Handler接口关注的事件:1、sessionCreated event :当一个新的connection创建的时候,这个事件就会被触发,对于TCP请求来说是三次握手的最后一次请求成功,对于UDP协议来说是收到数据报报文的时候,我们可以在这个方法中加入对session初始化的一些操作和配置。2、sessionOpened event :当connection打开的时候会被触发

2012-03-19 09:30:17 3998

apache mina 学习(八)-----Handler

简单介绍一下Handler接口关注的事件:1、sessionCreatedevent:当一个新的connection创建的时候,这个事件就会被触发,对于TCP请求来说是三次握手的最后一次请求成功,对于UDP协议来说是收到数据报报文的时候,我们可以在这个方法中加入对session初始化的一些操作和配置。2、sessionOpenedevent:当connection打开的时候会被触发...

2012-03-19 09:30:00 113

原创 apache mina 学习(七)-----IoFilter

IoFilter是mina中一个非常重要的设计,它可以过滤IoService 和IoHandler之间的所有的io流,经常会用到的过滤器:1、日志过滤器LoggingFilter2、协议编码过滤器ProtocolCodecFilter(可以把输入的bytebuffer转换为pojo)3、压缩过滤器CompressionFilter用于压缩数据4、sslFilter用于支持ssl

2012-03-16 09:33:53 3301

apache mina 学习(七)-----IoFilter

IoFilter是mina中一个非常重要的设计,它可以过滤IoService和IoHandler之间的所有的io流,经常会用到的过滤器:1、日志过滤器LoggingFilter2、协议编码过滤器ProtocolCodecFilter(可以把输入的bytebuffer转换为pojo)3、压缩过滤器CompressionFilter用于压缩数据4、sslFilter用于支持ss...

2012-03-16 09:33:00 131

原创 apache mina 学习(六)-----session

session是mina最重要的部分之一,每次客户端和服务器建立连接服务器都会创建一个session,并为这个session分配一块内存,直到客户端关闭或是失去了连接。session的状态由以下几种:1、Connected:session已经创建并且是可用的2、idle:空闲状态,session可用但是没有任何的请求或是数据传输3、closing:session正在被关闭4、c

2012-03-15 16:56:16 3609

apache mina 学习(六)-----session

session是mina最重要的部分之一,每次客户端和服务器建立连接服务器都会创建一个session,并为这个session分配一块内存,直到客户端关闭或是失去了连接。session的状态由以下几种:1、Connected:session已经创建并且是可用的2、idle:空闲状态,session可用但是没有任何的请求或是数据传输3、closing:session正在被关闭...

2012-03-15 16:56:00 187

原创 apache mina 学习(五)-----IoService接口及实现

IoService接口的主要职责:监听管理Io流处理session管理过滤链管理统计信息管理它的主要实现类是AbstractIoServiceIoService是 IoConnector和IoAcceptor的父接口,主要包含以下的方法:getTransportMetadata() addListener()removeListener()isDispo

2012-03-15 15:09:25 3257

apache mina 学习(五)-----IoService接口及实现

IoService接口的主要职责:监听管理Io流处理session管理过滤链管理统计信息管理它的主要实现类是AbstractIoServiceIoService是IoConnector和IoAcceptor的父接口,主要包含以下的方法:getTransportMetadata()addListener()removeListener()isDis...

2012-03-15 15:09:00 212

原创 apache mina 学习(四)-----日志配置

用Log4J 1.2.x的框架时,我们需要三个jar包:log4j-1.2.3.jar  slf4j-api-1.6.2jar  slf4j-log4j12-1.6.2jar 从名字上可以看出第三个是主要的jar包,提供了前两者的增强功能。下面我们以一个例子来说明日志过滤器的配置方法:首先我们创建一个log4j的配置文件并设置日志输出级别为debug:log4j.appender.MI

2012-03-15 14:41:57 11044

apache mina 学习(四)-----日志配置

用Log4J 1.2.x的框架时,我们需要三个jar包:log4j-1.2.3.jar slf4j-api-1.6.2jar slf4j-log4j12-1.6.2jar 从名字上可以看出第三个是主要的jar包,提供了前两者的增强功能。下面我们以一个例子来说明日志过滤器的配置方法:首先我们创建一个log4j的配置文件并设置日志输出级别为debug:log4j.appender.MINA...

2012-03-15 14:41:00 242

原创 apache mina 学习(三)-----Mina架构

mina的架构图:说明了mina是介于用户业务和底层的socket之间的中间层下面是详细的架构:I/O Service 扮演实际的IO角色I/O Filter Chain 在输入和输出的io流中进行过滤I/O Handler 业务逻辑实现根据以上的信息可以知道,要创建一个mina的应该一般分三步:1、选择一个已经存在的I/

2012-03-14 12:28:59 6025 1

apache mina 学习(三)-----Mina架构

mina的架构图:说明了mina是介于用户业务和底层的socket之间的中间层下面是详细的架构:I/O Service扮演实际的IO角色I/O Filter Chain 在输入和输出的io流中进行过滤I/O Handler 业务逻辑实现根据以上的信息可以知道,要创建一个mina的应该一般分三步:1、选择一个已经存在的I/O...

2012-03-14 12:28:00 150

原创 apache mina 学习(二)-----时间服务器分析

上篇文章的时间服务器的例子是apache mina官网上的demo,首先在main函数中定义了一个IoAcceptor,这个IoAcceptor就是服务器接收io流的入口,接收到的io流我们该怎么处理呢,NioSocketAcceptor告诉我们用nio的一个socket连接来处理,SocketAcceptor是基于TCP/IP的编程实现。接下来就是加入过滤连,也就是配置filter了,log

2012-03-14 11:22:42 3237

apache mina 学习(二)-----时间服务器分析

上篇文章的时间服务器的例子是apache mina官网上的demo,首先在main函数中定义了一个IoAcceptor,这个IoAcceptor就是服务器接收io流的入口,接收到的io流我们该怎么处理呢,NioSocketAcceptor告诉我们用nio的一个socket连接来处理,SocketAcceptor是基于TCP/IP的编程实现。接下来就是加入过滤连,也就是配置filter了...

2012-03-14 11:22:00 127

原创 apache mina 学习(一)-----时间服务器

timeServer的例子:服务器:public class TimeMachineServer { private static final int PORT = 9123; public static void main( String[] args ) throws IOException { IoAcceptor accept

2012-03-13 18:02:38 6082 1

apache mina 学习(一)-----时间服务器

timeServer的例子:服务器:public class TimeMachineServer { private static final int PORT = 9123; public static void main( String[] args ) throws IOException { IoAcceptor ac...

2012-03-13 18:02:00 151

原创 python 简单的Http服务器

代码:'''Created on 2012-3-13@author: Administrator'''#!/usr/bin/env pythonfrom os import curdir,sepfrom BaseHTTPServer import BaseHTTPRequestHandler,HTTPServerclass MyHandler(BaseHTTPRequ

2012-03-13 10:23:08 10873

python 简单的Http服务器

代码:'''Created on 2012-3-13@author: Administrator'''#!/usr/bin/env pythonfrom os import curdir,sepfrom BaseHTTPServer import BaseHTTPRequestHandler,HTTPServerclass MyHandler(BaseHTTP...

2012-03-13 10:23:00 774

原创 python 多线程编程(四)

一个简单的生成者消费者的例子:'''Created on 2012-3-9@author: Administrator'''#!/usr/bin/env pythonfrom random import randintfrom time import sleepfrom Queue import Queuefrom MyThread import MyThreaddef

2012-03-09 17:54:01 974

python 多线程编程(四)

一个简单的生成者消费者的例子:'''Created on 2012-3-9@author: Administrator'''#!/usr/bin/env pythonfrom random import randintfrom time import sleepfrom Queue import Queuefrom MyThread import MyThreaddef...

2012-03-09 17:54:00 93

原创 python 多线程编程(三)

threading模块是python线程很重要的一个模块,可以简化很多线程的操作,下面是个三个函数计算,可以看到单线程的情况下消耗了5秒钟,多线程的情况下只用了2秒多一点:'''Created on 2012-3-9@author: Administrator'''#!/usr/bin/env pythonfrom MyThread import MyThreadfrom ti

2012-03-09 17:38:56 727

python 多线程编程(三)

threading模块是python线程很重要的一个模块,可以简化很多线程的操作,下面是个三个函数计算,可以看到单线程的情况下消耗了5秒钟,多线程的情况下只用了2秒多一点:'''Created on 2012-3-9@author: Administrator'''#!/usr/bin/env pythonfrom MyThread import MyThreadfrom time...

2012-03-09 17:38:00 97

空空如也

空空如也

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

TA关注的人

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