Le Monde du Java

          La Maison de René

          統計

          Amis

          Blogs

          Google

          Others

          學習

          日常生活

          留學法國

          Google App Engine試用

          作為一個比較好用的云計算平臺,GAE剛開始支持Java的時候,Rene就注冊了。之后一直放著沒管,連一個簡單的實例也沒有寫過。因為在脫離IDE支持的環境下,剛開始上手是很痛苦的。

          這次連著休息了3天,重新裝好Eclipse,配置好環境,試用了一下GAE,感覺還是很好玩的。還沒有想好要做一個怎樣的服務,就先嘗試著封裝一下。尤其是緩存,想了一個辦法提供動態的失效期,而不是在緩存創建的時候定義。

          算法很簡單,在本地測試了一下也沒有問題。可是部署到服務器就出問題,緩存無視定義的失效期,每次都命中。想了一下,覺得應該是失效期簡單地使用了靜態變量。在本地沒有問題,因為我只有一個JVM。而服務器應該是一個分布式的環境,即有多個JVM。同一個類的對象也許會在多個JVM環境中被創建與初始化。靜態變量也就失去作用了。

          寫了一個小例子,可以看到在剛開始靜態變量是起作用的。1分鐘后,另一個Servlet對象在另一個JVM中被創建且初始化。


          最后把失效期也放入緩存就解決問題了。緩存應該可以被認為是在整個分布式服務中,唯一可以被共享的數據區域吧。另外,Servlet第一次被創建會耗費不少CPU時間,需要考慮用緩存優化一下。

          posted on 2010-06-20 20:08 Rene 閱讀(208) 評論(0)  編輯  收藏 所屬分類: Programming

          主站蜘蛛池模板: 山东省| 仁怀市| 沐川县| 上犹县| 沧州市| 西乌珠穆沁旗| 阳原县| 荆州市| 富宁县| 鸡西市| 灌南县| 贵定县| 会宁县| 凌源市| 济阳县| 乌审旗| 崇文区| 南华县| 景东| 梁平县| 凤山县| 伊川县| 翁牛特旗| 卓资县| 留坝县| 瑞金市| 布尔津县| 麦盖提县| 涪陵区| 娱乐| 兴仁县| 萝北县| 徐闻县| 手游| 光泽县| 儋州市| 库尔勒市| 凤城市| 宁国市| 临泉县| 荥阳市|