1、网络设计(BIO(包)和NIO(java.nio.channels包)两种方式,参考MINA(C/S),JETTY(B/S)、jsockets和jniosocket等开源项目)(参考资料O’reilly系列网络编程)
8、缓存设计(JCS(内存缓冲、索引式硬盘缓冲、并行式的分布缓冲和Client/Server式的缓冲)、CACHE4J、EOCACHE等)
9、多线程池设计(concurrent开源项目,对应java.util.concurrent包)
11、资源池(数据库连接池、socket连接池、线程池等)、对象池等开销大的资源设计(可以参考比较优秀的开源项目中设计,可以完善自己的设计思想)
12、数据持久化设计(JDBC、Mybatis、JDO、HIBERNATE、Ibatis等开源项目)
13、WEB框架设计(基础框架SERVLET、SOAP技术。STRUTS、WEBWork、FLEX、WPF、JSF、AJAX、TAPESTRY等开源项目)
15、扩展到分布式设计(RMI(参考资料O’reilly系列RMI书籍java.rmi包)、JTA等)
16、扩展到命名空间设计(JNDI(参考资料TheJNDITutorialjavax.naming包))
17、对象重用设计(这是在代码中要注意的,个人根据经验分析,需要每次创建的对象是请求对象和结果对象,中间过程的所需要的功能对象一般都可以做成重用的方式)
18、JVM的参数优化(类加载技术(包含热部署)属于外部部署,ANT开源项目,Maven)
20、业务逻辑处理设计(根据实际情况来进行,SPRING、EJB、JDON等),严格的来说是另一个范畴。
21、组件设计(属于一些特定领域应用,例如JYTHON、JAVACC、HSQLDB、QUARTZ等开源项目)
个人认为多核CPU的出现,今后的会发展成并行处理的设计方式和分布式等多个技术发展方面。目前才认识到大学里的基础知识给服务器开发(应该是很多方面)提供了很多基础设计的思想。
“经常要同步几台数据库服务器的数据”如何确保在几台服务器之间使用Jroup通信并没有讲明白吧,你的代码演示只是单台服务器的演示吧