今天,我想总结一下多年来一直在进行的服务器端开发的技术进步,供您参考。
以下是服务器开发基础架构框架的个人摘要(将随时更新):
1网络设计(BIO(java.net包),并看到NIO MINA(C/S 2(数据包java.nio.channels中))JETTY(B/S)jsockets其他开源项目jniosocket)(注O'reilly的系列网络编程)
如图2所示,传输协议设计的(HTTP,HTTPS,FTP,定制传输协议是基于SMTP和其它协议和TCP/IP协议)
(3),I/O处理的设计(字节流(java.io包和封装的java.nio的缓冲液)缓冲液,和字符的最终转化POJO流动延伸的流对象,在流对象POJO的范围转换)(参见O'Reilly系列中关于IO和NIO的两本书)
如图4所示,可扩展的XML设计(例如所请求的(C ++)系统交互信息的发展,但也可以是在其他语言,并且还(JDOM,一个重要的工具,包括DOM,SAX DOM4J等)分析,创建,语言格式)
5,设计管理(JMX(请参阅参考资料O'Reilly出版的系列JMX javax.management包),JFOXMX,MX4J开源项目)
6,设计的消息(JMS(JMS系列O'reilly的参考书),OPENJMS开源项目)
7,安全设计(门禁控制器,数据加密,数据保护和授权(javax.crypto中包)参考O'reilly的Java安全系列丛书,传输加密(javax.net包)==)
8,缓存设计(JCS(内存缓冲区,索引硬盘缓冲区,并行分布式缓冲区和客户机/服务器类缓冲区),CACHE4J,EOCACHE等)
9,多线程池设计(并发开源项目,对应java.util.concurrent包)
10,事务处理(包括分布式事务处理)设计(可以包含在ad hoc中,15和12==)
11,资源池(数据库连接池,套接字连接池,线程池等),对象池等昂贵的资源设计(我个人认为这仍然非常困难。你可以参考更好的开源项目的设计,你可以改善你的设计理念)(12),数据持周易起名久化设计(JDO Hibernate IBSTAT等开源项目)
13 WEB框架设计(基本框架SERVLET,SOAP技术.STRUTS,JSF,AJAX,TAPE等开源项目)
14,旨在处理异步机制(责任链设计,管道设计等)
15,分布式设计(如java.rmi包)书籍,扩展到JTA RMI(RMI参考O'Reilly系列)
(16),扩展空间设计(JNDI(JNDI描述javax.naming参考包))
17对象重用设计(应该注意,有必要生成请求对象,结果对象和功能对象中间过程,这些过程通常可以根据个人经验分析对象重用。
18 JVM优化参数(()热部署类加载技术是外部的,ANT开源项目)
19服务器部署的目录结构:BIN,CONF,LIB,LOG目录。
(20)是一个业务逻辑设计(Spring,EJB,JDON等,视实际情况而定),其他类别都是严格的。
21元素设计(属于特定用途,例如Ji,JavaCC,HSQLDB,QUARTZ等其他开源项目)
(22),通过积累实际使用经验的过程(解决使用中产生的问题)。
我个人认为,多核CPU的出现将是未来设计方法和分布式并行处理等技术的发展。目前的大学已经意识到开发服务器的基础知识(应该在很多方面)提供了很多基本的设计思想(学院对Donnie的看法不同,只需要学会自责)。
可以组合图9和11。
10,12我感觉有点像数据级别的业务逻辑,但我不确定。
图18和19都是部署方面,因此它们可以组合成单个部分。
转载于:https://my.oschina.net/u/4126590/blog/3049007