服务器开发总结

今天打算对之前进行多年的服务器端开发进行下技术总结,以供大家参考。

个人对服务器开发基础框架平台有以下几点总结(会随时更新):

1、  网络设计BIOjava.net)和NIOjava.nio.channels)两种方式,参考MINA(C/S), JETTY(B/S)jsocketsjniosocket等开源项目)(参考资料O’reilly系列网络编程)

2、  传输协议设计httphttpsftpsmtp等协议和自定义传输协议,基于TCP/IP协议之上)

3、  I/O处理设计(字节流(java.io)和字符流到Bufferjava.nio)缓冲区,最后把可以扩展到stream object 转换成POJO,将POJO转换成stream object的范围)(参考O’reilly系列的IONIO两本书籍

4、  可以扩展的XML设计(可以跟其它语言(C++等)开发的系统进行交互请求信息,也是一种很重要的手段,包括解析(JDOMDOMSAXDOM4j等)、生成、语言格式)

5、  管理设计JMX(参考资料O’reilly系列JMX书籍。javax.management),JFOXMXMX4J开源项目

6、  消息设计JMS(参考资料O’reilly系列JMS书籍),OPENJMS开源项目)

7、  安全设计(访问控制器、数据加密、数据传输保护和授权(javax.crypto参考资料   O’reilly系列java安全书籍、传输加密(javax.net==

8、  缓存设计JCS(内存缓冲、索引式硬盘缓冲、并行式的分布缓冲和Client/Server式的缓冲)CACHE4JEOCACHE等)

9、  多线程池设计concurrent开源项目,对应java.util.concurrent

10、              事务处理(包括分布式事务处理)设计(暂缺,可能包含在1512==

11、              资源池(数据库连接池、socket连接池、线程池等)、对象池等开销大的资源设计 (个人认为这块还是很难的。可以参考比较优秀的开源项目中设计,可以完善自己的设计思想)

12、              数据持久化设计JDOHIBERNATEIBSTAT等开源项目)

13、              WEB框架设计(基础框架SERVLETSOAP技术。STRUTSJSFAJAXTAPESTRY等开源项目)

14、              处理机制的异步设计责任链设计流水线设计等)

15、              扩展到分布式设计RMI(参考资料O’reilly系列RMI书籍java.rmiJTA等)

16、              扩展到命名空间设计JNDI(参考资料The JNDI Tutorial javax.naming))

17、              对象重用设计(这是在代码中要注意的,个人根据经验分析,需要每次创建的对象是请求对象和结果对象,中间过程的所需要的功能对象一般都可以做成重用的方式)

18、              JVM的参数优化(类加载技术(包含热部署)属于外部部署,ANT开源项目

19、              服务器部署的目录结构BINCONFLIBLOG目录等。

20、              业务逻辑处理设计(根据实际情况来进行,SPRINGEJBJDON等),严格的来说是另一个范畴。

21、              组件设计(属于一些特定领域应用,例如JYTHONJAVACCHSQLDBQUARTZ等开源项目)

22、              通过在实际的使用过程中积累经验(解决使用中出现的问题)。

 

个人认为多核CPU的出现,今后的会发展成并行处理的设计方式和分布式等多个技术发展方面。目前才认识到大学里的基础知识给服务器开发(应该是很多方面)提供了很多基础设计的思想(只能怪自己当初大学里没有好好学习啊,嘿嘿)。

911可以合并。

1012本人感觉有点像是业务逻辑处理的数据层面的东西,但还不能确定。

1819可以合并成一部分,因为都是属于部署方面的。

主要相关技术归类:

底层技术

汇编

程序机器级表示

处理器体系结构

编译器技术

存储器层次结构

虚拟存储器

链接

信息表示和处理

 

 

Java 基础

语法

关键字

类初始化

重载与重写

三大特性(封装、继承、多态)

一般优化

 

 

 

 

Java SE

Java security

Java thread(1.41.5)

Java I/O(1.31.4)

AWT/SWING

Java Exception

Java network(1.31.4)

Class loader

JVM Standard

Java Reflection

Java Beans

Java 事务

 

 

 

 

Java EE

JMS

JMX

JNDI

RMI

JDBC

JTA

JCA

EJB

JAAS

Servlet/JSP

JDO

 

 

 

 

相关技术

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,Hibernate,服务器,数据库连接池,tapestry,web框架)