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

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

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

    石頭JAVA擺地攤兒

    JAVA所有的討論-要一點一點的進步

      BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
      30 隨筆 :: 0 文章 :: 11 評論 :: 0 Trackbacks

    1.
    ......代碼段......
    <script language="javascript">
    alert("數(shù)據(jù)插入成功");
    </script>
    <%response.sendRedirect("adddoc.jsp");%>
    </body>  
    </html>
    以前我的意途是彈出一個對話框后再sendRedirect,因為JSP是在服務(wù)器端執(zhí)行,所以必須這樣:
    <script language=javascript>
    alert("數(shù)據(jù)插入成功");
    location.href="adddoc.jsp";
    </script>

    2.
    select * from table1 where ghy1 like '[a-z]'

    這個語句查詢A-Z的單個字母

    如果一個人的名字是AA,,ZZ就查詢不出來,何解:
    select * from table1 where left(ghy1,1) between 'a' and 'z'
    select * from table1 where ghy1 like '[a-z]%'


    3.
    隨機抽取記錄:
    select top n * from tablename order by newid()

    4.
    使文本框和密碼框高度一致:
    <input type="text" style="height=20.0pt"><input type="password" style="height=20.0pt">

    5.
    文本域插入數(shù)據(jù)庫時有特殊符號可以這樣:
    prep = conn.prepareStatement("insert into table values(?)");
    prep.setString(1, request.getParameter("text"));
    //這樣無論有什么特殊字符都自動搞掂,無需轉(zhuǎn)換


    6.
    截取字符串函數(shù),對網(wǎng)頁中顯示超長文字截短時使用:
    **
       * 將字符串截短,取前n個字符,英文算半個字符。
       * @param orignalString 原字符串
       * @param length 長度
       * @param chopedString 超過部分的表示字符串
       * @return 截取的字符串
       */
      public static String chop(String orignalString,int length,String chopedString) {
        if (orignalString==null||orignalString.length()==0) {
          return orignalString;
        }
        orignalString=orignalString.replaceAll(" "," ");
        if (orignalString.length()<length) {
          return orignalString;
        }
        StringBuffer buffer=new StringBuffer(length);
        length=length*2;
        int count=0;
        int stringLength=orignalString.length();
        int i=0;
        for (;count<length&&i<stringLength;i++) {
          char c=orignalString.charAt(i);
          if (c<'\u00ff') {
            count++;
          } else {
            count+=2;
          }
          buffer.append(c);
        }
        if (i<stringLength) {
          buffer.append(chopedString);
        }
        return buffer.toString();
      }

    7.
    產(chǎn)生不大于X的數(shù)并且這個數(shù)大于Y
    X-(X-Y)*Math.random()

    8.
    一個初始化的基本概念:
    class Test{
       int i ; //class 的成員
       public void test() {
           System.out.println(i);//編譯通過
           int j ;               //不是class的成員,必須手動初始化
           System.out.println(j); //失敗 
       }
    }


    9.
    頁面上有一錨點,點擊按鈕去定位到錨點
     <input  type=button  onclick=  "window.location.href  =  '#anchorName'  "  >

    10.
    在JSP文件中的<%%>中怎么“大語句段”注釋?
    <%--  
    --%  >


    11.
    使table列寬固定:
    <table  style=  "word-break:break-all  "  >  

    12.
    關(guān)于抽象類的一些解釋:
    http://community.csdn.net/Expert/TopicView2.asp?id=4645044&datebasetype=now

    13.
    我喜歡這個鏈接:
    http://topic.csdn.net/

    14.
    區(qū)別:
    HASHSET:  
           此類實現(xiàn)  Set  接口,由哈希表(實際上是一個  HashMap  實例)支持。它不保證集合的迭代順序;特別是它不保證該順序恒久不變。此類允許使用  null  元素。  
           此類為基本操作提供了穩(wěn)定性能,這些基本操作包括  add、remove、contains  和  size,假定哈希函數(shù)將這些元素正確地分布在桶中。對此集合進行迭代所需的時間與  HashSet  實例的大小(元素的數(shù)量)和底層  HashMap  實例(桶的數(shù)量)的“容量”的和成比例。因此,如果迭代性能很重要,則不要將初始容量設(shè)置得太高(或?qū)⒓虞d因子設(shè)置得太低)。  
           注意,此實現(xiàn)不是同步的。  如果多個線程同時訪問一個集合,而其中至少一個線程修改了該集合,那么它必須  保持外部同步。這通常是通過對自然封裝該集合的對象執(zhí)行同步操作來完成的。如果不存在這樣的對象,則應該使用  Collections.synchronizedSet  方法來“包裝”集合。最好在創(chuàng)建時完成這一操作,以防止對  HashSet  實例進行意外的不同步訪問:    
                       Set  s  =  Collections.synchronizedSet(new  HashSet(...));  
           此類的  iterator  方法返回的迭代器是快速失敗  的:在創(chuàng)建迭代器之后,如果對集合進行修改,除非通過迭代器自身的  remove  方法,否則在任何時間以任何方式對其進行修改,Iterator  都將拋出  ConcurrentModificationException。因此,面對并發(fā)的修改,迭代器很快就會完全失敗,而不冒將來在某個不確定時間發(fā)生任意不確定行為的風險。    
           注意,迭代器的快速失敗行為無法得到保證,因為一般來說,不可能對是否出現(xiàn)不同步并發(fā)修改做出任何硬性保證。快速失敗迭代器在盡最大努力拋出  ConcurrentModificationException。因此,為提高這類迭代器的正確性而編寫一個依賴于此異常的程序是錯誤做法:迭代器的快速失敗行為應該僅用于檢測程序錯誤。
     
     
    HASHMAP:  
           基于哈希表的  Map  接口的實現(xiàn)。此實現(xiàn)提供所有可選的映射操作,并允許使用  null  值和  null  鍵。(除了不同步和允許使用  null  之外,HashMap  類與  Hashtable  大致相同。)此類不保證映射的順序,特別是它不保證該順序恒久不變。    
           此實現(xiàn)假定哈希函數(shù)將元素正確分布在各桶之間,可為基本操作(get  和  put)提供穩(wěn)定的性能。迭代集合視圖所需的時間與  HashMap  實例的“容量”(桶的數(shù)量)及其大小(鍵-值映射關(guān)系數(shù))的和成比例。所以,如果迭代性能很重要,則不要將初始容量設(shè)置得太高(或?qū)⒓虞d因子設(shè)置得太低)。    
           HashMap  的實例有兩個參數(shù)影響其性能:初始容量  和加載因子。容量  是哈希表中桶的數(shù)量,初始容量只是哈希表在創(chuàng)建時的容量。加載因子  是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數(shù)超出了加載因子與當前容量的乘積時,通過調(diào)用  rehash  方法將容量翻倍。    
           通常,默認加載因子  (.75)  在時間和空間成本上尋求一種折衷。加載因子過高雖然減少了空間開銷,但同時也增加了查詢成本(在大多數(shù)  HashMap  類的操作中,包括  get  和  put  操作,都反映了這一點)。在設(shè)置初始容量時應該考慮到映射中所需的條目數(shù)及其加載因子,以便最大限度地降低  rehash  操作次數(shù)。如果初始容量大于最大條目數(shù)除以加載因子,則不會發(fā)生  rehash  操作。    
           如果很多映射關(guān)系要存儲在  HashMap  實例中,則相對于按需執(zhí)行自動的  rehash  操作以增大表的容量來說,使用足夠大的初始容量創(chuàng)建它將使得映射關(guān)系能更有效地存儲。    
           注意,此實現(xiàn)不是同步的。如果多個線程同時訪問此映射,而其中至少一個線程從結(jié)構(gòu)上修改了該映射,則它必須  保持外部同步。(結(jié)構(gòu)上的修改是指添加或刪除一個或多個映射關(guān)系的操作;僅改變與實例已經(jīng)包含的鍵關(guān)聯(lián)的值不是結(jié)構(gòu)上的修改。)這一般通過對自然封裝該映射的對象進行同步操作來完成。如果不存在這樣的對象,則應該使用  Collections.synchronizedMap  方法來“包裝”該映射。最好在創(chuàng)建時完成這一操作,以防止對映射進行意外的不同步訪問,如下所示:  
               Map  m  =  Collections.synchronizedMap(new  HashMap(...));  
           由所有此類的“集合視圖方法”所返回的迭代器都是快速失敗  的:在迭代器創(chuàng)建之后,如果從結(jié)構(gòu)上對映射進行修改,除非通過迭代器自身的  remove  或  add  方法,其他任何時間任何方式的修改,迭代器都將拋出  ConcurrentModificationException。因此,面對并發(fā)的修改,迭代器很快就會完全失敗,而不冒在將來不確定的時間任意發(fā)生不確定行為的風險。    
           注意,迭代器的快速失敗行為不能得到保證,一般來說,存在不同步的并發(fā)修改時,不可能作出任何堅決的保證。快速失敗迭代器盡最大努力拋出  ConcurrentModificationException。因此,編寫依賴于此異常程序的方式是錯誤的,正確做法是:迭代器的快速失敗行為應該僅用于檢測程序錯誤。
        
    ---------------------------------------------------------
    HashSet(散列表):  它實現(xiàn)了Set接口,也就意味著它的元素不能有重復值出現(xiàn)。并且在HashSet中沒有g(shù)et()方法,但可以通過iterator()來實現(xiàn)。要注意的是假如要在HasSet中存放一些對象,那么你得重定義hashCode()與equals()二個方法來保不可以存放相同的內(nèi)容的元素。對于hashcode()所返回的值,hashset用它來計算(通過特定的函數(shù))該對象在內(nèi)存中的存放位置;后者主要用來判斷二個對象的內(nèi)容是否相等而返回對應的boolen型。  
     
     
    HashMap:  主要特點是存放的一個鍵值對,一些有用的方法是可返回視圖(我覺得可以把它理解為一個集合)如:keyset(),values(),entyset()等。  


    15.
    還是區(qū)別:
     

    Collection是List  Set的父接口,List是有序的,而Set中元素都是不能重復的;和Map接口搞清楚后,然后記住有什么樣的數(shù)據(jù)結(jié)構(gòu)  就有什么樣的實現(xiàn)類,比如ArrayList,數(shù)組鏈表是由數(shù)組后推而成,可以使用LIST的接口操作這個鏈表,但是確有數(shù)組的特性(存取效率高),有堆棧的數(shù)據(jù)結(jié)構(gòu),就有Stack,有樹結(jié)構(gòu),就有Tree,有散列表,就有Hashtable

    16.
    動態(tài)下拉表單:
    <TR>
    <TD><bean:message key="user.jsp.deid"/></TD>
    <TD>
    <SELECT name="deid">
    <logic:iterate id="depart" name="departarray1" >
    <option value="<bean:write name="depart" property="deId"/>">
    <bean:write name="depart" property="deName"/>
    </option>
    </logic:iterate>
    </SELECT>
    </TD>
    </TD>
    </TR>

    ---------------------------------------
    <html:select property="personnelId">
    <html:option value="">請選擇</html:option>
    <html:options collection="personList" property="personId" labelProperty="personName"/>
    </html:select>
    html:options自動幫你迭代personList中的內(nèi)容,前提是personList是Collection類型的,而且封裝的是一個包含personId,personName屬性的對象
    property顯示的是value,labelProperty顯示的是頁面看到的內(nèi)容


    17.
    Set接口中重寫hashCode()會提高性能?
    建議給自己寫得class全部加上一個hashCode,否則會使用object的hashcode,全都一樣,會導致很多問題。記得《Effective java》中有一條就是:如果你寫了equals,必須要寫hashcode,我的一位大佬講equals調(diào)用前會先比較hashcode,若hashcode不相等則不會比較。set是不允許重復的,這意味著你加入set中的數(shù)據(jù)會和set中已有的數(shù)據(jù)進行比較,所以,一定要寫hashcode,這樣才能加快比較速度。hashcode也要寫得好點,盡量避免碰撞

    18.
    在Struts技術(shù)中,“超級鏈接”使用ForwardAction類進行實現(xiàn)
    三個必須有的屬性path parameter type
    例:
    <action  path="/viewsignin"  parameter="/security/signin.jsp" type="org.apache.struts.actions.ForwardAction"/>


    19.
        Date now=new Date();
        Timestamp ts = new Timestamp(now.getTime());
        ps.setTimestamp(8, ts);
        ps.executeUpdate();
    往數(shù)據(jù)庫中插入日期方法

    20.
    <td height="50" align="left" valign="top" style="position:relative"><div id="Layer2" style="position:absolute; width:132px; height:38px; z-index:2; left: 472px;">sdafasdf</div></td>

    21.
    驗證郵箱格式的正則表達式(Struts)

     public ActionErrors validate(ActionMapping actionMapping,
                                     HttpServletRequest httpServletRequest) {
            String style =
                    "^[a-zA-Z][a-zA-Z0-9._-]*@([a-zA-Z0-9-_]+\\.)+(com|gov|net|com\\.cn|edu\\.cn)$";
            Pattern ptt = Pattern.compile(style);
            Matcher mch=ptt.matcher(email);
            ActionErrors errors = new ActionErrors();
            if ((name == null || name.equals(""))) {
                ActionError error = new ActionError("error.name");
                errors.add("name", error);
            } else
            if (!mch.matches()) {
                ActionError error = new ActionError("error.email");
                errors.add("email", error);
            }
            return errors;
        }

    22.
    自動隔行換背景的css
    tr{
    background-color:expression(rowIndex%2?'#ffffcc':'')
    }

    23.
    SQL Server計算年齡,想象中簡單,其實很難:
     declare   @Birtyday   smalldatetime  
      set   @Birtyday   ='2000-11-27'  
      --set   @Birtyday   =getdate()  
      select   datediff(year,@Birtyday,getdate())  
                    -   case   when   datediff(day,dateadd(year,datediff(year,@Birtyday,getdate()),@Birtyday),getdate())   >=   0   then   0      else   1   end  

    24.
    SmoothGallery 2.0在IE6中521行出錯,改正FIX如下:

    changed code from:
    function startGallery() { var myGallery = new gallery($('myGallery'), { timed: true }); } window.onDomReady(startGallery);

    changed code to:
    function startGallery() { var myGallery = new gallery($('myGallery'), { timed: true, embedLinks:false, textShowCarousel:'Show Gallery'}); myGallery.showCarousel(); } window.addEvent('domready',startGallery);


    25.
    sc create svn binpath= "C:\svn-win32-1.4.6\svn-win32-1.4.6\bin\svnserve.exe --service -r G:\svnproject" displayname= "Subversion Server" depend= Tcpip start= auto

    26.
    HTML標記的權(quán)重是1,CLASS的權(quán)重是10,ID的權(quán)重是100,繼承的權(quán)重為0 
    posted on 2006-07-05 10:57 石頭JAVA擺地攤兒 閱讀(440) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 又黄又爽的视频免费看| 久久国产乱子免费精品| xxxx日本免费| 亚洲精品成人av在线| 日韩电影免费在线观看中文字幕| 亚洲欧洲中文日韩久久AV乱码| 爱情岛论坛免费视频| 亚洲国产婷婷综合在线精品| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲熟妇自偷自拍另欧美| 67194成是人免费无码| 亚洲精品中文字幕无码A片老| 日本免费观看网站| 深夜a级毛片免费无码| 91麻豆精品国产自产在线观看亚洲| 插鸡网站在线播放免费观看| 久久精品亚洲综合| 成人免费视频网站www| 亚洲欧美日韩综合俺去了| 亚洲不卡AV影片在线播放| 国产在线观a免费观看| 久久亚洲sm情趣捆绑调教| 猫咪社区免费资源在线观看| 国产成人高清亚洲一区91| 国产成人亚洲精品狼色在线| 91青青国产在线观看免费| 国产亚洲福利在线视频| 四虎精品亚洲一区二区三区| a级在线观看免费| 亚洲乱码日产精品BD在线观看| 精品免费久久久久久成人影院| 国产日韩AV免费无码一区二区三区| 亚洲国产高清在线| 天堂在线免费观看中文版| 二个人看的www免费视频| 亚洲sss综合天堂久久久| 亚洲美女高清一区二区三区| 最近最新高清免费中文字幕| 99亚洲男女激情在线观看| 亚洲电影一区二区| 亚洲 小说区 图片区 都市|