<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-295  評論-26  文章-1  trackbacks-0

    昨天在論壇看到一篇討論嵌入式數據庫HSQLDB(http://www.javaeye.com/topic/79802)的帖子,想到自己曾經讀過部分它的源碼,有一種對某些技術豁然開朗的感覺。所以,也希望和朋友們一起分享,大家有什么好的感受,不如也分享一下吧。下面是我對那個帖子的冗余回復,我覺得有必要專門發一篇帖子重復一下:

    說點題外話,建議大家讀讀HSQLDB的源碼,特別是jdbc driver(org/hsqldb/jdbc包)那部分,寫得清晰易懂。讀了它的部分源碼,我自認為對下面一些問題理解深入了:
    1、JDBC規范和JDBC實現的關系:怎么自己去設計一個規范,一種架構?我是否自己可以為某種數據設計jdbc driver,如何設計?想想php里面各數據庫的函數庫各自為政對程序移植性的影響,就知道jdbc規范有多么重要了。

    2、JDBC協議:JDBC是基于socket之上的,數據包格式(org.hsqldb.Result)(mysql數據包格式公開了)?那么JMS數據包呢?其實,這也可以延伸到分布式協議的設計原理,如RMI、SOAP。其實,這些數據包格式和JSON、YAML這些message格式沒有本質的區別,只不過應用范圍不一樣。任何分布式協議,肯定有一種message格式。

    3、JDBC over HTTP:這樣我們對RMI over IIOP, soap over HTTP, http tunnel原理有更深入的理解。

    4、什么是long connection(jdbc的socket),什么是short connection(http),具體怎么實現?
    3和4這些在HSQLDB的org.hsqldb.HTTPClientConnection類里有實現。

    5、Java客戶端和服務器端的通訊實現:jdbc driver就可以認為是一個java客戶端類庫。那么JMS client呢?還有,像mysql有各種語言的driver,原理是什么。

    6、sql這種command、描述型語言究竟在數據庫里面是個什么地位:sql是怎么傳入jdbc driver,最終和database交互的?我們是否可以設計出另外一種command,形成一種行業標準,它在服務器和客戶端怎么實現的。

    以上我的表達可能有些晦澀,我只想表達一點:大家有興趣就多讀讀經典的源碼,擴展一下自己的設計思路。可能很多人象我一樣,總有忙不完的項目,那么抽幾個小時就夠了,不必深入。
    有很多技術我們理解總是很模糊,當你深入到內部,忽然發現原來就這么回事。我們總覺得IoC很神秘,其實最簡單的IoC容器,也許一個HashMap就夠了。


    引用的http://www.javaeye.com/topic/80532



    大盤預測 國富論
    posted on 2007-09-06 10:21 華夢行 閱讀(666) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 狠狠色伊人亚洲综合网站色| 亚洲国产精品一区二区成人片国内 | 亚洲性无码av在线| 嫩草影院在线播放www免费观看| 亚洲综合精品网站在线观看| 美女视频黄.免费网址| 伊人久久亚洲综合影院| 亚洲精品无码成人| 免费a级毛片永久免费| 高潮内射免费看片| 亚洲另类少妇17p| 久久99精品免费一区二区| 国产亚洲色视频在线| 久青草视频在线观看免费| 亚洲一区二区三区自拍公司| 国产日韩精品无码区免费专区国产| 亚洲人成色7777在线观看不卡| 全部一级一级毛片免费看| 中文字幕亚洲日韩无线码| 嫩草成人永久免费观看| 亚洲欧洲尹人香蕉综合| 最新中文字幕免费视频| 亚洲精品国产av成拍色拍| 四虎在线播放免费永久视频 | 亚洲av午夜福利精品一区人妖| 午夜不卡久久精品无码免费| 亚洲网站在线免费观看| 成年私人影院免费视频网站| 国产亚洲精品精品精品| 国产亚洲综合久久系列| 999国内精品永久免费观看| 亚洲色无码国产精品网站可下载| 亚洲AV伊人久久青青草原| 中文字幕免费不卡二区| 亚洲一区中文字幕在线观看| 免费在线观看a级毛片| 免费看成人AA片无码视频吃奶| 亚洲国产视频久久| 国产亚洲av片在线观看18女人| 中文字幕视频免费| 粉色视频成年免费人15次|