(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的参数优化、目录结构、批处理文件的编写