MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          1,網上資源
          http://groups.google.com.hk/group/grailsunion
          http://grails.group.javaeye.com/

          2,grails知名應用
          ?grailsflow
          ?grailsblog
          http://www.grails.org/OpenSource+Projects
          ?? http://code.google.com/p/grailsblog http://www.grailsblog.com
          ?http://code.google.com/p/grails-domain-uml/
          http://code.google.com/p/grails-petstore
          http://code.google.com/p/ket-framework/
          http://code.google.com/p/grailsmda
          http://code.google.com/p/6footplus/
          http://code.google.com/p/grum/
          http://code.google.com/p/groovyblogs
          http://code.google.com/p/simpejob
          http://code.google.com/p/biz-portal
          http://code.google.com/p/grailsportal
          http://svn.codehaus.org/grails/trunk/grails-samples/grails.org/
          http://www.grailsdeveloper.com/blog/2008/09/a-lot-of-grails-sample-applications-grails-open-source-projects/

          3,工具
          ? grails文檔里說沒有自帶功能測試,但支持Canoo WebTest

          4,網站
          ? http://www.grailsjobs.com/

          4,好文章
          ? ibm網站有一系列Mastering Grails文章,非常棒。主題有 Testing your Grails application, Grails in the enterprise,Asynchronous Grails with JSON and Ajax等十來個。
          ? http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails
          ? http://www.ibm.com/developerworks/java/library/j-grails10148/index.html
          ?
          ? SiteMesh學習入門

          GRAILS對于我這樣的所謂老Java程序員來說,上手還是挺容易的,所謂最難掌握的閉包概念,我認為可以簡單的認為是以前的匿名類+委托(當然 還有很多其他的好處)。GRAILS給控制器劃分了一個Service層,在業務邏輯重用上,比RAILS做的更好。GRAILS相對沒有太多的單復數規 約,相對RAILS的“約定”要簡單很多。GRAILS目前沒有RAILS那么強大的路由功能,不過反而可以帶來的相對簡單。

          言歸正傳,其實我這里不是準備比較兩個框架的優劣,而是想分享一下GRAILS多對多查詢的一些經驗。關于GRAILS本身還有GROOVY,我建議大家可以看看這里

          GRAILS使用Hibernate作為ORM的基礎。方便的同時也帶來一些復雜,比如多對多查詢。假設我有兩個領域模型(其實就是rails里面的model,不過Java的東西嘛,總是比較學術化)

          class Product {
          static hasMany=[scenario:Scenario]
          static belongsTo=Scenario
          }
          class Scenario{
          static hasMany=[product:Product
          ]
          }

          如果我要查詢Product中,所屬scenario在scenario表中的id為1,可以通過如下的方法查詢:

          def scenario=Scenario.get(1)
          return scenario? Product.findAll("from Product p where :scenario in elements(p.scenario)",[scenario:scenario]):[]
          來源:http://www.leesoft.com.cn/2009/04/12/grails%E5%A4%9A%E5%AF%B9%E5%A4%9A%E7%9A%84%E6%9F%A5%E8%AF%A2%E6%9E%84%E9%80%A0/

          http://rainboyan.com/post/use_groovy_tables_to_doc.html
          可以通過Scriptom(現在還是beta版)嵌入vbs、js腳本(包括使用WSH,FSO)或者調用InternetExplorer、Media Player、Word和Excel等windows組件

          Groller項目啟動http://rainboyan.com/post/groller_was_launched.html
          http://code.google.com/p/rainboyan/source/browse/groller

          http://www.aygfsteel.com/emu/archive/2005/05/18/4784.html里面有講到8皇后

          posted @ 2009-03-18 01:53 leekiang 閱讀(1588) | 評論 (0)編輯 收藏

          File.separatorChar 返回一個字符,表示當前系統默認的文件名分隔符,在Windows中為"\",unix中為"/"
          File.separator 與前者相同,但將分隔符作為字符串類型返回。
          pathSeparatorChar 返回一個字符,表示當前系統默認的路徑名分隔符,在Windows中為";",unix中為":"
          File.pathSeparator 與前者相同,但將分隔符作為字符串類型返回。

          posted @ 2009-03-17 16:32 leekiang 閱讀(254) | 評論 (0)編輯 收藏

          1,以下寫法看不到時分秒。必須加引號才能看見。
          <input type="text" name="stime" value=2009-02-12 12:43:31 />

          2,

          posted @ 2009-03-13 19:54 leekiang 閱讀(213) | 評論 (0)編輯 收藏

          1,使用jdk1.3版本的json-lib.jar時依賴的包(不一定準確,只是作個記錄)
          commons-beanutils.jar;//必須是1.7以上
          commons-collection.jar;//必須3.1以上
          ezmorph.jar;

          posted @ 2009-03-11 19:59 leekiang 閱讀(1341) | 評論 (0)編輯 收藏

          1,這個控件沒有自帶判斷日期值是否變化的函數,所以自己寫了幾行代碼:
          ?? ? ? ? ? var tempdatevalue='';
          ??? ??? ??? function beforedatechange(dp){
          ??? ??? ??? tempdatevalue=this.value;
          ??? ??? ??? }
          ??? ??? ??? function afterdatechange(dp){
          ??? ??? ??? if(tempdatevalue!=this.value)
          ???????????? {
          ???????????? window.document.location.href="test.do?do=test&date="+this.value;
          ???????????? }
          ??? ??? ??? }
          <input type="text" id="date" name="date" value="${date}"
          ??? ??? ??? ??? ??? ??? ??? onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd',onpicking:beforedatechange,onpicked:afterdatechange})" class="Wdate" />

          2,IE中 無法打開internet站點 。。。。。已終止操作
          <base target="_self" />
          在<script/>中添加屬性defer="defer";

          posted @ 2009-03-11 13:58 leekiang 閱讀(410) | 評論 (0)編輯 收藏

          1,
          Keep-Alive功能使客戶端到服務器端的連接持續有效,當出現對服務器的后繼請求時,Keep-Alive功能避免了建立或者重新建立連接。市場上 的大部分Web服務器,包括iPlanet、IIS和Apache,都支持HTTP Keep-Alive。對于提供靜態內容的網站來說,這個功能通常很有用。但是,對于負擔較重的網站來說,這里存在另外一個問題:雖然為客戶保留打開的連 接有一定的好處,但它同樣影響了性能,因為在處理暫停期間,本來可以釋放的資源仍舊被占用。當Web服務器和應用服務器在同一臺機器上運行時,Keep- Alive功能對資源利用的影響尤其突出。 此功能為HTTP 1.1預設的功能,HTTP 1.0加上Keep-Alive header也可以提供HTTP的持續作用功能。

          posted @ 2009-03-11 03:29 leekiang 閱讀(412) | 評論 (0)編輯 收藏

          1,快捷鍵
          ? 代碼自動完成:Ctrl+反斜線



          2,設置
          ? 1)如果覺得NetBeans缺省的工具欄按鈕太大,可以右鍵點擊工具欄,從下拉菜單中選擇Small Toolbar Icons
          還可以選擇"內存",會在工具欄顯示內存占用情況。
          ? 2)設置字體:
          Tools->Options->Fonts & Colors,在左邊的類別Category下選擇缺省(Default),再選擇字體,然后保存。(一定要選一個Category,因為剛進來時默認的類別是"空白",會導致換了字體也不會生效)。可能中文會亂碼,所以還要修改Comment,String這兩個類別。
          我的字體設置
          languages:all languages
          Category:Default?? Font:Courier New 13
          Category:Comment?? Font:Dialog 12
          Category:String ?? Font:Dialog 12
          ? 3)控制臺出現亂碼
          在Netbeans的安裝目錄下的etc目錄下有一個netbeans.conf,netbeans_default_options引號內加上"-J-Dfile.encoding=UTF-8" 就可以了! 其它比如字體大小也可以在這里調整.如: --font-size:12就可以了!
          -J-Duser.language=en -J-Duser.country=US 英文界面啟動
          ? 4)erb文件
          # coding: utf-8

          在"項目"窗口中顯示物理結構(默認是邏輯結構):
          tools->Miscellaneous(其他)->ruby標簽頁->取消"顯示邏輯項目視圖",然后重啟。

          3,
          maven風格的項目結構 http://www.javaeye.com/topic/274136?page=5

          4,與eclipse共享工程
          http://tech.ddvip.com/2008-12/122916148599857.html
          http://tech.ddvip.com/2008-12/122880588198603.html

          5,有人說在linux下這樣設置一下界面比較好看:
          在netbeans 在安裝目錄下找到 etc/netbeans.conf 然后在netbeans_default_options 添加參數
          -J-Dswing.aatext=true --locale en:US
          ? 來源:http://www.aygfsteel.com/gml520/archive/2010/04/16/318507.html

          posted @ 2009-02-14 01:17 leekiang 閱讀(288) | 評論 (0)編輯 收藏

          1,只要有jar包就行,不需要在web.xml里定義tld。weblogic8不支持1.1
          ?? 1.0引入
          <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
          ?? 1.1引入
          <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

          2,<c:choose>
          ?<c:when test="${role!='admin'}"></c:when>
          ?<c:otherwise></c:otherwise>
          ? </c:choose>

          3,格式化日期
          <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
          <fmt:formatDate value="${obj.jhdate}" type="both" pattern="yyyy-MM-dd"/>
          說明見http://freeman983.javaeye.com/blog/96900

          4,遍歷
          ?<c:forEach var="dept" items="${list}">
          ??? ??? <c:out value="${dept.deptid}"/>
          ?</c:forEach>
          ?說明

          5,<c:out value="${sessionScope.user.name}"/>
          ?很詳細,有續一
          6,數組
          <c:forEach items="${sessionScope.department_array}" var="department" varStatus="status">
          ??department: ${department}_${sessionScope.name_array[status.index]}
          </c:forEach>

          7, jstl沒有if/else,用如下的代替,也可以用<c:choose>
          <c:if test="1==1"></c:if>
          <c:if test="1!=1"></c:if>

          8,if /else if/else用如下的寫法
          <c:choose>
          <c:when test="${邏輯判斷}"> </c:when>
          <c:when test="${邏輯判斷}"> </c:when>
          <c:otherwise>
          </c:otherwise>
          <c:choose>
          9,<c:out value="${arr}" escapeXml="false">
          如果arr的值里帶單引號等,則必須加上屬性escapeXml="false",否則會出現&XX;之類的東西

          posted @ 2009-02-09 20:23 leekiang 閱讀(698) | 評論 (0)編輯 收藏

          有一篇好文章:掀起J2ee集群的蓋頭
          作者的觀點:最好不要使用Session復制的功能,因為這個功能對性能有很大影響,但卻不能完全避免錯誤。這個觀點被很多開發人員所接受。包括一些銀行的項目和政府的項目

          作者博客里還有一些SSO的好文章,如:跨domain的SSO

          集群和分布式的區別,其實從字面就能看出來,一個是集,一個是分

          posted @ 2009-02-06 01:39 leekiang 閱讀(177) | 評論 (0)編輯 收藏

          1,weblogic8.1默認是不能運行在jdk5和jdk6上的,原因是weblogic8的mbean為1.0版本,而jdk5和jdk6自帶的mbean版本要高(為1.1?)
          ?
          ? 可以在環境變量里配置一個參數,設置mbean=1.0,然后weblogic8.1就能運行在jdk5和jdk6上了,但這樣據說會產生其他問題。參見
          ?
          2,如何分析MAT里那個leak餅圖?
          ? 那個餅圖分為好幾塊,除了Remainder外,其他好幾塊的名字都是以Problem Suspect開始的,看樣子內存泄漏不可能發生在Remainder

          3,有人如果98%的時間是用于GC且可用的 Heap size 不足2%,才會產生內存溢出?

          4,如何在jdk6配置內存溢出時是否產生dump文件
          ? 可以在jdk6的jconsole的MBean的com.sun.management的HotSpotDiagnostic MBeanHotSpotDiagnostic MBean的第3個調用里,
          ? 設置p0為HeapDumpOnOutOfMemoryError,p1為true,然后點擊setVMOption按鈕。
          ?? 則內存溢出時會自動創建一個java_pid<pid>.hprof的堆dump(轉儲)文件,默認存放工作空間下(例如tomcat的bin目錄)
          ? ?
          ?? 先把tomcat的內存設置得很小,再跑應用,后臺很快就報以下錯誤:
          java.lang.OutOfMemoryError: Java heap space
          Dumping heap to java_pid5736.hprof ...
          Heap dump file created [87840650 bytes in 4.488 secs]
          2009-2-4 19:17:59 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
          嚴重: Caught exception (java.lang.OutOfMemoryError: Java heap space) executing org.apache.tomcat.util.net.TcpWorkerThread@a77785, terminating thread
          2009-2-4 19:18:02 org.apache.tomcat.util.net.TcpWorkerThread runIt
          嚴重: Unexpected error
          java.lang.OutOfMemoryError: Java heap space
          2009-2-4 19:18:04 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
          嚴重: Caught exception (java.lang.OutOfMemoryError: Java heap space) executing org.apache.tomcat.util.net.TcpWorkerThread@a77785, terminating thread
          Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread" java.lang.OutOfMemoryError: Java heap space
          2009-2-4 19:18:05 org.apache.coyote.http11.Http11Processor process
          嚴重: Error processing request
          java.lang.OutOfMemoryError: Java heap space
          2009-2-4 19:18:13 org.apache.coyote.http11.Http11Processor process
          嚴重: Error finishing response
          java.lang.OutOfMemoryError: Java heap space
          Hibernate: select......這里它抽空還執行了一條sql
          .........略.............................
          Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space
          Exception in thread "Timer-0" java.lang.OutOfMemoryError: Java heap space
          Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space
          Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space
          .........略.............................

          ?在輸出錯誤日志的過程中,不知何故還會在eclipse的debug里不停的調用java.util.concurrent.ThreadPoolExecutor

          5,內存溢出時自動生成的dump文件和未溢出時自己用jmap導出的dump文件的leak餅圖有很大區別,我感覺前者的分析要有用一些。具體區別:
          ? (1)后者有org.apache.catalina.loader.WebappClassLoader和ZipFileIndex,而前者沒有
          ? (2)兩者都有org.hibernate.impl.SessionFactoryImpl
          ? (3)前者有如下的關鍵信息:

          8,980 instances of "java.lang.Class", loaded by "<system class loader>" occupy 8,208,768 (12.43%) bytes.

          Biggest instances:

        1. class org.springframework.beans.CachedIntrospectionResults @ 0x735f808?-?2,218,536 (3.36%) bytes. These instances are referenced from one instance of "java.lang.Thread", loaded by "<system class loader>"


        2. 6,一個疑問,為何無人訪問時Tomcat的內存圖是鋸齒形的

          7,我配置了-XX:+HeapDumpOnCtrlBreak,用的jdk1.5.0_14
          結果Ctrl+Break 時報
          Unable to create java_pid3072.hprof.m27.10/05/07M20: No such file or directory
          這里 找到了原因,是jdk的一個bug(bug id:6454676),This problem has been fixed in 1.4.2_18 and 5.0u17

          8,前兩個1g的頂峰處,是tomcat自己進行的gc。后面的幾個是我自己手動gc的

          heap.jpg

          9,

          7,002 instances of "java.lang.Class", loaded by "<system class loader>" occupy 12,359,912 (11.20%) bytes.

          Biggest instances:

        3. class sun.rmi.server.UnicastServerRef @ 0x51b16a48?-?4,447,432 (4.03%) bytes.
        4. class sun.rmi.transport.ObjectTable @ 0x51b40330?-?3,491,160 (3.16%) bytes
        5. 問題

          posted @ 2009-02-04 19:47 leekiang 閱讀(12316) | 評論 (1)編輯 收藏

          僅列出標題
          共54頁: First 上一頁 25 26 27 28 29 30 31 32 33 下一頁 Last 
          主站蜘蛛池模板: 郸城县| 营口市| 衡东县| 成武县| 堆龙德庆县| 临安市| 营口市| 两当县| 监利县| 塔城市| 盐城市| 长沙市| 化德县| 衢州市| 新龙县| 荥经县| 岳池县| 青铜峡市| 仙游县| 永定县| 保德县| 康平县| 正镶白旗| 闻喜县| 贵南县| 綦江县| 黄石市| 安吉县| 昌都县| 寿宁县| 伊宁县| 大悟县| 玛纳斯县| 苍山县| 拜城县| 义乌市| 建始县| 昂仁县| 积石山| 前郭尔| 吉林省|