大家好,又见面了,我是你们的朋友全栈君。
本人已从事java服务器开发三年多了,对java服务器开发比较有心得,特此对这三年多来进行下技术总结,并与大家分享。
作为服务器开发,对基础知识的掌握程度,将决定你的服务器各方面的能力,一般在进行java服务器开发前,最重要的是能够熟练运用以下技术:
java classLoader、java thread、java I/O(NIO)和java socket。
一般来说,服务器设计大致分为三个阶段:
第一个阶段是连接器设计
第二个阶段是核心业务设计(严格来讲就是通用服务设计)
第三个阶段是数据设计
对于第一个阶段的设计,涉及到网络知识(阻塞式socket和非阻塞式socket)、通信模式(TCP/IP或者UDP)、网络管理(负载、连接状态等)、传输协议设计(特别与其他语言的交互)、I/O处理(bytes转成Object、Object转成bytes)等。有些方面可以靠网络硬件设备来解决。
对于第二个阶段的设计,主要涉及众多的相关领域的知识,如:
多线程的设计(参考《多线程设计模式》)、管理设计(参考JMX)、消息传输设计(参考JMS)、安全设计(参考java安全)、缓存设计(参考cache4j、JCS等开源项目)、资源池设计(数据库连接池等)、对象重用设计、命名空间设计(参考JNDI)、分布式设计(参考RMI)、组件设计等。
对于第三个阶段的设计,主要涉及的知识为数据库方面的知识,如:
事务处理、数据库建表设计、数据持久化设计等。 这里也比较局限化,并不是所有的业务场景都需要用到数据库,在此就是举例说明下, 第三个阶段就是在前两个阶段的基础上做相关的应用开发了。
最后是服务的部署:
包括JVM的参数优化、目录结构、批处理文件的编写。
这是我三年作为服务器开发涉及的相关知识,在以后的时间里会对每一个知识点更加细化,方便大家进入到java服务器开发领域。
今天就写到这吧。睡觉去了,呵呵
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138833.html原文链接:https://javaforall.cn