(1)熟练运用以下技术:

java classLoader、java thread、java I/O(NIO)和java socket

(2)服务器设计大致分为四个阶段:

第一个阶段是连接器设计

第二个阶段是核心业务设计(严格来讲就是通用服务设计)

第三个阶段是数据设计

第四个阶段是服务器的部署

a.第一个阶段的设计:

涉及到网络知识(阻塞式socket和非阻塞式socket)、

通信模式(TCP/IP或者UDP)、

网络管理(负载、连接状态等)、

传输协议设计(特别与其他语言的交互)、

I/O处理(bytes转成Object、Object转成bytes)等,有些方面可以靠网络硬件设备来解决。

b.第二个阶段的设计:

多线程的设计(参考《多线程设计模式》)、

管理设计(参考JMX)、

消息传输设计(参考JMS)、

安全设计(参考java安全)、

缓存设计(参考cache4j、JCS等开源项目)、

资源池设计(数据库连接池等)、

对象重用设计、

命名空间设计(参考JNDI)、

分布式设计(参考RMI)、

组件设计等。

c.第三个阶段的设计:数据库方面的知识

事务处理、数据库建表设计、数据持久化设计等

d.服务的部署:

JVM的参数优化、目录结构、批处理文件的编写