后台服务器开发总结
今天打算对之前进行多年的服务器端开发进行下技术总结,以供大家参考。
个人对服务器开发基础框架平台有以下几点总结(会随时更新):
1、 网络设计 (BIO( java.net 包 )和NIO( java.nio.channels 包 )两种方式,参考 MINA (C/S), JETTY (B/S) 、 jsockets 和 jniosocket 等开源项目)(参考资料 O’reilly 系列网络编程 )
2、 传输协议设计 (http、https、ftp、smtp等协议和自定义传输协议,基于TCP/IP协议之上)
3、 I/O处理设计 (字节流( java.io 包 )和字符流到Buffer( java.nio 包 )缓冲区,最后把可以扩展到stream object 转换成POJO,将POJO转换成stream object的范围)(参考 O’reilly 系列的 IO 和 NIO 两本书籍 )
4、 可以扩展的XML设计 (可以跟其它语言(C++等)开发的系统进行交互请求信息,也是一种很重要的手段,包括解析( JDOM 、 DOM 、 SAX 、 DOM4j 等)、生成、语言格式)
5、 管理设计 ( JMX (参考资料 O’reilly 系列 JMX 书籍。 javax.management 包 ), JFOXMX 、 MX4J 开源项目 )
6、 消息设计 ( JMS (参考资料 O’reilly 系列 JMS 书籍), OPENJMS 开源项目)
7、 安全设计 (访问控制器、数据加密、数据传输保护和授权( javax.crypto 包 ) 参考资料 O’reilly 系列 java 安全书籍 、传输加密( javax.net 包 )==)
8、 缓存设计 ( JCS (内存缓冲、索引式硬盘缓冲、并行式的分布缓冲和 Client/Server 式的缓冲) 、 CACHE4J 、EOCACHE等)
9、 多线程池设计 ( concurrent 开源项目,对应 java.util.concurrent 包 )
10、 事务处理(包括分布式事务处理)设计 (暂缺,可能包含在15和12中==)
11、 资源池(数据库连接池、socket连接池、线程池等)、对象池等开销大的资源设计 (个人认为这块还是很难的。可以参考比较优秀的开源项目中设计,可以完善自己的设计思想)
12、 数据持久化设计 ( JDO 、 HIBERNATE 、 IBSTAT 等开源项目)
13、 WEB框架设计 (基础框架SERVLET、SOAP技术。 STRUTS 、 JSF 、 AJAX 、 TAPESTRY 等开源项目)
14、 处理机制的异步设计 ( 责任链设计 、 流水线设计 等)
15、 扩展到分布式设计 ( RMI (参考资料 O’reilly 系列 RMI 书籍 java.rmi 包 ) 、 JTA 等)
16、 扩展到命名空间设计 ( JNDI (参考资料 The JNDI Tutorial javax.naming 包 ))
17、 对象重用设计 (这是在代码中要注意的,个人根据经验分析,需要每次创建的对象是请求对象和结果对象,中间过程的所需要的功能对象一般都可以做成重用的方式)
18、 JVM的参数优化 (类加载技术(包含热部署)属于外部部署, ANT 开源项目 )
19、 服务器部署的目录结构 :BIN、CONF、LIB、LOG目录等。
20、 业务逻辑处理设计 (根据实际情况来进行, SPRING 、 EJB 、 JDON 等),严格的来说是另一个范畴。
21、 组件设计 (属于一些特定领域应用,例如JYTHON、JAVACC、HSQLDB、QUARTZ等开源项目)
22、 通过在实际的使用过程中积累经验 (解决使用中出现的问题)。
个人认为多核CPU的出现,今后的会发展成并行处理的设计方式和分布式等多个技术发展方面。目前才认识到大学里的基础知识给服务器开发(应该是很多方面)提供了很多基础设计的思想(只能怪自己当初大学里没有好好学习啊,嘿嘿)。
9和11可以合并。
10和12本人感觉有点像是业务逻辑处理的数据层面的东西,但还不能确定。
18和19可以合并成一部分,因为都是属于部署方面的。
主要相关技术归类
底层技术 |
||||||||
汇编 |
程序机器级表示 |
处理器体系结构 |
编译器技术 |
存储器层次结构 |
||||
虚拟存储器 |
链接 |
信息表示和处理 |
|
|||||
Java 基础 |
||||||||
语法 |
关键字 |
类初始化 |
重载与重写 |
三大特性(封装、继承、多态) |
||||
一般优化 |
|
|||||||
Java SE |
||||||||
Java security |
Java thread(1.4和1.5) |
Java I/O(1.3和1.4) |
AWT/SWING |
Java Exception |
||||
Java network(1.3和1.4) |
Class loader |
JVM Standard |
Java Reflection |
Java Beans |
||||
Java 事务 |
|
|
|
|
||||
Java EE |
||||||||
JMS |
JMX |
JNDI |
RMI |
JDBC |
||||
JTA |
JCA |
EJB |
JAAS |
Servlet/JSP |
||||
JDO |
|
|
|
|
参考推荐:
原文: 后台服务器开发总结
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2017-05-11 17:19:17
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: 后台服务器开发总结 (米扑博客)