H2数据库引擎源代码研究-TCP服务器,进入TCP服务器的代码。
从代码上看,H2数据库的源代码编写也不是很规范,很多地方的代码都没有详细的注释,这点让我觉得很遗憾,直接对H2数
据库的质量产生了怀疑,由于没有注释,对源代码的阅读造成了一些障碍。
使用ArgoUml将H2的源代码反向工程得到类图。顶层包图结构如下:
数据库的程序入口在包tools里的Server类里面,这个包里的类都是些工具类。而各种服务器的代码却是在包server里面,进入包server里的类图如下:
图中的类TcpServer就是Tcp服务器,可是进入该类后对所有的属性,方法类均没有任何的注释,这让学习的人确实带来不少麻烦,我不知道H2开发组内部是不是设计文档,
否则这样没有任何注释的代码我不知道他们是如何维护的。从图中可以看出TcpServer实现了接口Service。
Service接口有这些方法。
void init(String[] args); //初始化服务的方法
String getURL(); //获取URL字符串,我不知道这个URL是什么意思?
void start();//开启服务
void listen();//监听服务
void stop();//关闭服务
boolean isRunning();//获取服务的状态,服务是否在运行
boolean getAllowOthers();//不知道是什么意思,好像是是否预习怀其它,什么意思?
String getName();//获取名字,什么名字?
String getType();//获取服务类型。
因为没有任何注释,所以只能从字面意思猜测各方法的含义了。