JAVA版Socket平台的设计文档
1. 总体设计
1.1 基本设计概念和处理流程
1.1.1 程序划分
主要分为服务端和客户端两个部分。
客户端部分又分为同步与异步两种模式。
1.1.2 处理流程描述
JAVA版接口平台主要实现与外部接口的服务端和客户端的通讯。并提供业务接口,允许基于当前内核实现各种业务。
2. 平台设计思想
2.1 业务无关性
本平台设计的核心思想是实现通讯平台的核心功能,尽可能使代码与业务剥离,提高代码的可重用性。
2.2 核心功能模块
本平台主要由几个核心模块所组成对各种业务的支持
2.2.1 通信模块
使用JAVA1.4+版本提供的无堵塞IO实现服务端和客户端的通讯,并提供同步和异步处理两种方式
2.2.2 线程池服务
使用了JDK 1.5 带的线程池,提供一个线程池的服务,为服务端或客户端提供多线程处理的功能。本身实现了Singleton模式和自带了监控线程,实现了自我管理。
2.2.3 字节处理模块
为解析协议提供简便的方法处理字节数组。
2.3 主要接口
为了实现通信平台的业务无关性,本平台设计了一些接口提供给业务开发实现。
2.3.1 协议解析接口
为所有解析协议提供统一协议解析类接口。主要是为了统一协议解析的方式。
2.3.2 业务接口
业务接口主要有两种:业务逻辑接口和业务实现接口。
2.3.2.1 业务逻辑接口
主要为了处理每一个指令的业务流程,例如先读取,再处理业务,再返回结果;或者先发送指令,再等待返回结果。
2.3.2.2 业务实现接口
主要处理每个协议中每一个指令所对应的业务网处理。
2.3.3 注册器接口
专门为客户端登录服务器时提供的统一的注册方式。
3. 平台设计
3.1 服务端的设计
3.1.1 模块设计图
3.1.2 功能
l 通讯服务
l 并发处理客户端请求
l 自监控
l&nb
相关文档:
1. 关于基础数据类型。
还记得上一片文章中结尾部分的那个例子么?
因为计算机的2进制的特性,Java语言(其他语言好像也一样)无法准确地进行float,double类型数据的计算,所以,作这些计算的时候需要考虑使用BigDecimal着各类。
2. String类与StringBuffer类
Java的String类提供如下的简单的字符串连接方� ......
除了关系型数据库外,还有key-value型数据库可以选择,在大型的查询系统中,key-value型数据库可以出色的完成某些任务。
Oracle的Berkeley DB就是一种key-value型数据库,本文简要介绍在java中使用Berkeley DB。
PartKey.java:
import java.io.Serializable;
public class PartKey implements Serializable
{
priva ......
几天前,刚看了IBM Developerworks上某个技术大牛做的关于设计REST风格的Java MVC开发框架的文章,今天在Google Code上发现了一个基于Java的REST风格的MVC开发框架,取名WebWind
。
“WebWind是一个Java MVC框架。和常见的MVC框架如Struts、WebWork不同,WebWind天生支持用户友好的URL,让Web应用程序对搜索引擎更加 ......
package reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
try {
Class c = Class.forName("reflect.Student");// 根据类的完整类名创建类象
......
从今天开始, 我要将把Thinking in Java的每个例子都敲进电脑里, 只有这样我的java基础才会有质的提高.
记得以前有人说过, 最笨的方法往往就是捷径,关键在于坚持.
技术也是这样.
今天先从自己较感趣的Type Information那一章敲起.
敲了十几个文件的代码, 对Class 类的使用可谓熟透了. 相比以前, 光看书不练习, 现在的印� ......