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

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

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

    Energy of Love  
    日歷
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567
    統計
    • 隨筆 - 70
    • 文章 - 0
    • 評論 - 80
    • 引用 - 0

    導航

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     

    1. oracle   
    2.   
    3. select   *   from   table   where   rownum<20      
    4.   minus      
    5.   select   *   from   table   where   rownum<10      
    6.   
    7. //但這種查詢的效率更高于前者 (556436條數據,測試結果)   
    8. select * from (select rownum r,a.* from blog a where rownum<=20) where r>=10;   
    9.   
    10.   
    11.   
    12. mysql> SELECT * FROM table LIMIT 5,10;  // 檢索記錄行 6-15   
    13.   
    14. //為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數為 -1:    
    15. mysql> SELECT * FROM table LIMIT 95,-1// 檢索記錄行 96-last.   
    16.   
    17. //如果只給定一個參數,它表示返回最大的記錄行數目:    
    18. mysql> SELECT * FROM table LIMIT 5;     //檢索前 5 個記錄行   
    19.   
    20. //換句話說,LIMIT n 等價于 LIMIT 0,n   
    21.   
    22.   
    23.   
    24. mysql limit查詢優化[轉載],由于limit經常用到,卻沒有注意,因為平時做的項目都比較小,所以也沒有考慮去怎么優化,今天看了一篇關于mysql limit優化的文章,感覺很好 于是轉載過來   
    25.   
    26. 原文地址在這里   
    27. http://www.phpobject.net/blog/read.php?119   
    28.   
    29. MYSQL的優化是非常重要的。其他最常用也最需要優化的就是limit。mysql的limit給分頁帶來了極大的方便,但數據量一大的時候,limit的性能就急劇下降。   
    30.        同樣是取10條數據   
    31.   
    32. select * from yanxue8_visit limit 10000,10        和   
    33.   
    34.     
    35.   
    36. select * from yanxue8_visit limit 0,10    
    37.   
    38.   
    39. 就不是一個數量級別的。   
    40.   
    41.     網上也很多關于limit的五條優化準則,都是翻譯自mysql手冊,雖然正確但不實用。今天發現一篇文章寫了些關于limit優化的,很不錯。原文地址:http://www.zhenhua.org/article.asp?id=200   
    42.   
    43.     文中不是直接使用limit,而是首先獲取到offset的id然后直接使用limit size來獲取數據。根據他的數據,明顯要好于直接使用limit。這里我具體使用數據分兩種情況進行測試。(測試環境win2033+p4雙核 (3GHZ) +4G內存 mysql 5.0.19)   
    44.   
    45. 1、offset比較小的時候。   
    46.   
    47. select * from yanxue8_visit limit 10,10    
    48.   
    49.   
    50.    多次運行,時間保持在0.0004-0.0005之間   
    51.   
    52. Select * From yanxue8_visit Where vid >=(   
    53.   
    54. Select vid From yanxue8_visit Order By vid limit 10,1  
    55.   
    56. ) limit 10    
    57.   
    58.   
    59.   多次運行,時間保持在0.0005-0.0006之間,主要是0.0006  
    60.  結論:偏移offset較小的時候,直接使用limit較優。這個顯然是子查詢的原因。   
    61.   
    62.   
    63. 2、offset大的時候。   
    64.   
    65. select * from yanxue8_visit limit 10000,10    
    66.   
    67.   
    68.    多次運行,時間保持在0.0187左右   
    69.   
    70. Select * From yanxue8_visit Where vid >=(   
    71.   
    72. Select vid From yanxue8_visit Order By vid limit 10000,1  
    73.   
    74. ) limit 10    
    75.   
    76.   
    77. 多次運行,時間保持在0.0061左右,只有前者的1/3。可以預計offset越大,后者越優。   
    78.   
    79. 以后要注意改正自己的limit語句,優化一下mysql了  
    posted @ 2009-06-05 19:34 不高興 閱讀(5380) | 評論 (0)編輯 收藏
     

    原文地址:http://www.csna.cn/viewthread.php?tid=569&sid=FbE5VS

    一、        郵件傳輸協議簡介
    1.        郵件傳輸概念
    郵件服務是Internet上最常用的服務之一,它提供了與操作系統平臺無關的通信服務,使用郵件服務,用戶可通過電子郵件在網絡之間交換數據信息。郵件傳輸包括將郵件從發送者客戶端發往郵件服務器,以及接收者從郵件服務器將郵件取回到接收者客戶端。
    2.        SMTP和POP3
    在TCP/IP協議簇中,一般使用SMTP協議發送郵件,POP3協議接收郵件。
    SMTP,全稱Simple Message Transfer Protocol,中文名為簡單郵件傳輸協議,工作在TCP/IP層次的應用層。SMTP采用Client/Server工作模式,默認使用TCP 25端口,提供可靠的郵件發送服務。
    POP3,全稱Post Office Protocol 3,中文名為第三版郵局協議,工作在TCP/IP層次的應用層。POP3采用Client/Server工作模式,默認使用TCP 110端口,提供可靠的郵件接收服務。
    3.        SMTP和POP3的工作原理
    發送和接收郵件都需要以下兩個組件:用戶代理(UA,常用的是Foxmail或Outlook)和SMTP/POP3服務器。
    SMTP工作原理:
    1)        客戶端使用TCP協議連接SMTP服務器的25端口;
    2)        客戶端發送HELO報文將自己的域地址告訴給SMTP服務器;
    3)        SMTP服務器接受連接請求,向客戶端發送請求賬號密碼的報文;
    4)        客戶端向SMTP服務器傳送賬號和密碼,如果驗證成功,向客戶端發送一個OK命令,表示可以開始報文傳輸;
    5)        客戶端使用MAIL命令將郵件發送者的名稱發送給SMTP服務器;
    6)        SMTP服務器發送OK命令做出響應;
    7)        客戶端使用RCPT命令發送郵件接收者地址,如果SMTP服務器能識別這個地址,就向客戶端發送OK命令,否則拒絕這個請求;
    8)        收到SMTP服務器的OK命令后,客戶端使用DATA命令發送郵件的數據。
    9)        客戶端發送QUIT命令終止連接。
    POP3工作原理:
    1)        客戶端使用TCP協議連接郵件服務器的110端口;
    2)        客戶端使用USER命令將郵箱的賬號傳給POP3服務器;
    3)        客戶端使用PASS命令將郵箱的賬號傳給POP3服務器;
    4)        完成用戶認證后,客戶端使用STAT命令請求服務器返回郵箱的統計資料;
    5)        客戶端使用LIST命令列出服務器里郵件數量;
    6)        客戶端使用RETR命令接收郵件,接收一封后便使用DELE命令將郵件服務器中的郵件置為刪除狀態;
    7)        客戶端發送QUIT命令,郵件服務器將將置為刪除標志的郵件刪除,連接結束。
    (注:客戶端UA可以設定將郵件在郵件服務器上保留備份,而不將其刪除。)

    二、        跟蹤分析Email電子郵件通訊過程
    1.        分析Email的具體流程
    1)        發送郵件
    我們使用科來網絡分析系統5.0捕獲并分析一個使用SMTP協議的發送郵件過程,客戶端主機名為“wangym”,客戶端用戶代理使用Foxmail 5.0 beta2,郵件發送者test1@colasoft.com,郵件接收者test2@colasoft.com。
    在客戶端主機上打開科來網絡分析系統5.0。為避免數據干擾,設定一個過濾器,只捕獲本機的數據通訊。
    打開客戶端主機上的Foxmail 5.0 beta2,新建兩個郵件賬戶,test1@colasoft.com和test2@colasoft.com,設置好賬戶的SMTP/POP3服務器地址、用戶名、密碼等信息并測試成功。
    在科來網絡分析系統5.0中開始數據捕獲,在Foxmail中使用test1@colasoft.com向test2@colasoft.com發送一封郵件,郵件原始信息如圖1所示。發送完成后即可在科來網絡分析系統5.0對剛才的郵件發送操作進行分析(為避免數據包干擾,分析時可停止捕獲。)。
    注意:此文里提到的發送郵件均指使用TCP 25端口的標準SMTP通信,對于非25端口的郵件發送,用戶可在“工程->高級分析模塊->郵件分析模塊->SMTP設置->SMTP端口”處進行更改,系統默認為25,當SMTP服務器有多個端口時,多個端口之間用分號分隔,如25;125。


    科來網絡分析系統5.0對上面發送郵件操作的報文跟蹤,詳細信息如下:
    A.        第1、2、3個數據包是TCP連接的三次握手數據包,連接的雙方是本機與域名ns1.colasoft.com對應的IP地址;
    B.        從第4個數據包開始,客戶端開始通過TCP協議連接SMTP服務器,并與SMTP服務器進行命令的交互,及郵件的發送,具體的交互過程詳見圖3以及對圖3的分析。
    [attach]604[/attach]    

     

    科來網絡分析系統5.0對上面發送郵件操作的TCP原始數據流重組信息。具體分析數據流重組信息,可以得到上面發送郵件操作的詳細過程如下:
    A.        客戶端使用EHLO(或HELO)命令向SMTP服務器發送HELO報文,啟動郵件傳輸過程,并同時將客戶端地址發送SMTP服務器端,此處為wangym;
    B.        SMTP服務器接受了客戶端的連接請求,并請求輸入賬號和密碼進行認證;
    C.        客戶端向服務器端傳送賬號和密碼;
    D.        SMTP服務器通過驗證,客戶端使用MAIL命令將郵件發送者的名稱傳送給SMTP服務器;
    E.        客戶端使用RCPT命令將郵件接收者的名稱傳送給SMTP服務器;
    F.        客戶端使用DATA命令傳送郵件數據給SMTP服務器;
    G.        數據傳送完畢后,客戶端發送QUIT命令關閉連接。
    注意:
    ?        SMTP傳輸使用的是base64編碼,圖4中AUTH LOGIN下的“dGVzdDFAY29sYXNvZnQuY29t”是當前使用賬號對應的base64編碼;
    ?        圖3所示的SMTP數據流中,客戶端向SMTP服務器傳送了兩次發件人名稱和收件人名稱,可能的原因有兩種:
    a.        網絡的延遲較大,客戶端在規定時間內未收到SMTP服務器的響應,認為傳送發件人名稱和收件人名稱的數據包丟失而進行的重傳;
    b.        客戶端主機上的防病毒軟件在郵件發送前對郵件進行的檢測,如Norton Antivirus就會進行這種檢測,禁用此檢測功能即可避免此種情況的發生。


    2)        接收郵件
    我們再使用科來網絡分析系統5.0捕獲并分析一個使用POP3協議的接收郵件過程,客戶端主機名為“wangym”,客戶端用戶代理使用Foxmail 5.0 beta2,郵件接收者test2@colasoft.com。
    在客戶端主機上打開科來網絡分析系統5.0。與上面相同,設定一個過濾器,只捕獲本機的數據通訊,選擇高級分析模塊,在郵件分析模塊的常規設置中,將保存郵件選擇為“是”,并選擇好郵件的保存位置,如圖1所示。
    在科來網絡分析系統5.0中開始數據捕獲,同時在Foxmail中選中test2@colasoft.com,并收取郵件。接收完成后即可在科來網絡分析系統5.0對剛才的郵件接收操作進行分析(為避免數據包干擾,分析時可停止捕獲。)。
    注意:此文里提到的接收郵件均指使用TCP 110端口的標準POP3通信,對于非110端口的郵件發送,用戶可在“工程->高級分析模塊->郵件分析模塊->SMTP設置->POP3端口”處進行更改,系統默認為110,當SMTP服務器有多個端口時,多個端口之間用分號分隔,如110;1110。

    科來網絡分析系統5.0對上面接收郵件操作的報文跟蹤。 
    A.        1、2、3數據包是TCP連接的三次握手數據包,連接的雙方是本機與域名ns1.colasoft.com對應的IP地址;
    B.        從第4個數據包開始,客戶端開始通過TCP協議連接POP3服務器,并與POP3服務器進行命令的交互,及郵件的接收,具體的交互過程詳見圖4以及對圖4的分析。


    科來網絡分析系統5.0對上面接收郵件操作的TCP原始數據流重組信息。具體分析其數據流重組信息,可以得到上面接收郵件操作的詳細過程:
    A.        客戶端使用USER命令向POP3服務器傳送用戶賬號test2@colasoft.com;
    B.        客戶端使用PASS命令向POP3服務器傳送用戶密碼1234567890;
    C.        POP3服務器通過驗證,向客戶端發送一個OK報文;
    D.        客戶端使用STAT命令請求POP3服務器返回郵箱的統計資料信息,POP3服務器返回當前有一封郵件;
    E.        客戶端使用LIST命令列出POP3服務器里的郵件數量,當前為1封郵件;
    F.        客戶端使用RETR命令接收郵件,接收后使用DELE命令將郵件POP3服務器中的郵件置為刪除狀態;
    G.        客戶端發送QUIT命令,郵件服務器將將置為刪除標志的郵件刪除,連接結束。
    注意:
    ?        POP3直接使用明文傳輸;
    ?        直接重組出了接收到的郵件內容,此信息不經過任何編碼或加密處理,直接為明文方式,與圖1所示的郵件原始信息一致。


    3)        SMTP/POP3命令碼
    通過SMTP/POP3協議進行郵件收發操作時,均通過不同的命令碼進行不同的操作,現將其命令碼總結如下:
    SMTP命令如表1所示:
    命令        作用
    HELO        客戶端發送此命令與SMTP服務器建立連接,將發送者郵件地址發送給SMTP服務器
    MAIL        客戶端將郵件發送者的名稱傳送給SMTP服務器
    RCPT        客戶端將郵件接收者的名稱傳送給SMTP服務器
    DATA        客戶端將郵件報文內容傳送給SMTP服務器
    SEND        用于向指定用戶傳送郵件
    SAML/SOML        用于發送郵件
    RSET        取消客戶端與SMTP服務器間的當前事務,釋放與當前事務相關的內存
    EXPN        標識郵件接收者列表
    QUIT        終止客戶端與SMTP服務器間的連接


    POP3命令如表2所示:
    命令        作用
    USER        客戶端向POP3服務器傳送賬號
    PASS        客戶端向POP3服務器傳送密碼
    STAT        客戶端請求POP3服務器返回郵箱的統計信息
    UIDL        客戶端請求POP3服務器返回郵件的唯一標識符
    LIST        客戶端請求POP3服務器返回郵件數量和每封郵件的大小
    RETR        客戶端請求POP3服務器返回由參數標識的郵件的全部文本
    DELE        POP3服務器將由參數標識的郵件標記為刪除
    RSET        POP3服務器重置所有標記為刪除的郵件,用于撤消DELE命令
    NOOP        POP3服務器返回一個肯定的響應
    QUIT        終止客戶端POP3服務器間的連接


    三、        總結
    以上簡單介紹了SMTP和POP3協議,并使用科來網絡分析分析系統5.0跟蹤分析了一個基于SMTP/POP3協議的郵件收發操作。據此,用戶在遇到不能正常收發郵件(使用SMTP/POP3協議)的問題時,即可結合上述的SMTP/POP3相關知識,使用網絡檢測分析軟件(這兒是科來網絡分析系統5.0)對郵件接收和郵件發送的報文進行跟蹤分析,以完成對此類故障的快速排查。


     

     

    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/hyde82/archive/2007/06/13/1650581.aspx

    posted @ 2009-06-05 09:42 不高興 閱讀(508) | 評論 (0)編輯 收藏
     

    1.網頁內容獲取
    java.io.inputstream in;
    java.net.url url = new java.net.url(www.xyz.com/content.html);
    java.net.httpurlconnection connection = (java.net.httpurlconnection)
    url.openconnection();
    connection = (java.net.httpurlconnection) url.openconnection();
    //模擬成ie
    connection.setrequestproperty("user-agent","mozilla/4.0 (compatible; msie 6.0; windows 2000)");
    connection.connect();
    in = connection.getinputstream();
    java.io.bufferedreader breader =
    new bufferedreader(new inputstreamreader(in , "gbk"));
    string str=breader.readline());
    while(st != null){
    system.out.println(str);
    str=breader.readline());
    }
    2.cookie管理

    1.直接的方式
    取得cookie:
    httpurlconnection huc= (httpurlconnection) url.openconnection();
    inputstream is = huc.getinputstream();
    // 取得sessionid.
    string cookieval = hc.getheaderfield("set-cookie");
    string sessionid;
    if(cookieval != null)
    {
    sessionid = cookieval.substring(0, cookieval.indexof(";"));
    }

    發送設置cookie:
    httpurlconnection huc= (httpurlconnection) url.openconnection();
    if(sessionid != null)
    {
    huc.setrequestproperty("cookie", sessionid);
    }
    inputstream is = huc.getinputstream();

     

    2.利用的jcookie包(http://jcookie.sourceforge.net/ )
    獲取cookie:
    url url = new url("http://www.site.com/");
    httpurlconnection huc = (httpurlconnection) url.openconnection();
    huc.connect();
    inputstream is = huc.getinputstream();
    client client = new client();
    cookiejar cj = client.getcookies(huc);


    新的請求,利用上面獲取的cookie:

    url = new url("http://www.site.com/");
    huc = (httpurlconnection) url.openconnection();
    client.setcookies(huc, cj);


    3.post方式的模擬
    url url = new url("www.xyz.com");
    httpurlconnection huc = (httpurlconnection) url.openconnection();
    //設置允許output
    huc.setdooutput(true);
    //設置為post方式
    huc.setrequestmethod("post");
    huc.setrequestproperty("user-agent","mozilla/4.7 [en] (win98; i)");
    stringbuffer sb = new stringbuffer();
    sb.append("username="+usernme);
    sb.append("&password="+password);

    //post信息
    outputstream os = huc.getoutputstream();
    os.write(sb.tostring().getbytes("gbk"));
    os.close();

    bufferedreader br = new bufferedreader(new inputstreamreader(huc.getinputstream()))


    huc.connect();

    string line = br.readline();

    while(line != null){

    l

    system.out.printli(line);


    line = br.readline();

    }


    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/hyde82/archive/2007/06/06/1640817.aspx

    posted @ 2009-06-05 09:33 不高興 閱讀(1634) | 評論 (0)編輯 收藏
     

    <HTML>
    <HEAD>
    <meta http-equiv="Content-Language" content="zh-cn">
    <TITLE>中國設計秀www.cnwebshow.com-----讓網頁上的超鏈接失效,不能點擊</TITLE>
    <style>
    a {poorfish:expression(this.onclick=function kill(){return false})}
    </style>
    </HEAD>
    <BODY>
    <p><a target="_blank" >中國設計秀</a></p>
    <p><a >www.163.com</a></p>
    <p><a >www.sohu.com</a></p>
    <p> </p>
    </BODY>
    </HTML>

     

    posted @ 2009-05-31 09:59 不高興 閱讀(321) | 評論 (0)編輯 收藏
     
    如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;

    原因是SQL中不區分大小寫,MM和mm被認為是相同的格式代碼,所以Oracle的SQL采用了mi代替分鐘。

    select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

    二、另要以24小時的形式顯示出來要用HH24
    select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分鐘
    select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm會顯示月份
    posted @ 2009-05-26 11:26 不高興 閱讀(3054) | 評論 (1)編輯 收藏
     

    Project」菜單

    「項目」菜單可以對工作臺中的項目執行動作(建置或編譯)。

    名稱

    功能

    Open Project(開啟專案)

    顯示對話框,可以選取開啟已關閉的項目

    Close Project(關閉專案)

    關閉目前所選取的項目

    Build All(全部建置)

    這個指令會對工作臺中的所有項目執行增量(incremental)編譯。也就是說,它會編譯(編譯)自從前次增量編譯后,工作臺中受到任何資源變更所影響的所有資源。自動編譯關閉時,才可使用這個指令。

    Build Project(編譯專案)

    這個指令會對目前選取的項目執行增量(incremental)編譯。也就是說,它會編譯(編譯)自從前次編譯后,受到任何資源變更所影響的項目中的所有資源。自動編譯關閉時,才可使用這個指令。

    Build Workings Set(重新編譯工作集)

    這個菜單可以在工作集上執行增量(incremental)編譯。也就是說,它會編譯(編譯)前次編譯之后,受到任何資源變更所影響之工作集中的所有資源。自動編譯關閉時,才可使用這個指令。

    Clean(清除)

    這個指令會舍棄先前的所有編譯結果。如果自動編譯是開啟的,這會呼叫完整的編譯。

    Build Automatically(自動編譯)

    自動編譯工作區中的所有項目。這個指令可以切換自動編譯喜好設定。

     

     

     

    eclipse出現不編譯工程的現象。怎么刷新classes目錄下也是空的.
    具體都操作了:
    打開project->build automatically   試后不行,還是不編譯.
    打開project --> build automatically 另外 clean一下就可能會編譯了,結果還不行.
    eclipse默認是選自動編譯。即使取消自動編譯,手動build工程,也不能編譯。

     

    出現這種情況一般有以下三種原因:
    1.如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎么也編譯不出來class文件的情況,可以把所有包都刪除,然后一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良后果.
    2.想刪掉某個class文件重新生成,刪除class文件后,但classes目錄下的文件夾被其它程序打開,比如Total Commander。此時編譯也不會通過,在problems下可能會提示“con't delete classes ……”。關掉其它程序重新編譯即可。

    3.還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什么原因導致的還不清楚。


    4.這是最重要的一點,有problems視圖中查看有沒有關于本項目的錯誤信息,一般都會有這樣的話:
          The project cannot be built until build path errors are resolved

    然后下面提示unbound classpath, 一般在.classpath中刪除這些path就可以了

     打開.classpath文件see see.

    posted @ 2009-05-21 18:30 不高興 閱讀(24746) | 評論 (6)編輯 收藏
     

    看了一篇文章:用CSS/JS優化HTML頁面加載速度后,我覺得可以將我所知道的一些優化技巧與原則告訴大家,一起分享。
    這樣,也許你也能夠創造出屬于你自己的一些優化心得與技巧。
    本文是針對網頁設計的,不涉及程序以及系統。
    一、基于減少HTTP連接數的優化
    像剛才這篇文章,就是基于減少并發HTTP連接數的優化。由于IE每次在一個域上并發連接數默認為8個,這意味著超過8個文件的時候,需要等待前8個文件之一傳輸結束。
    我們可以:
    1、將圖片,尤其是大圖片放到另外一個域名中。大站可以用另一個服務器來專門用于圖片的傳輸。對于虛擬主機可以綁定另外一個域名。
    這在大網站中很常見。
    2、合并CSS和JS文件。以及在可能的時候合并圖片。
    3、預加載技術。最近很常見的,就是先用js顯示縮略圖,然后setTimeout延時加載大圖片。
    二、基于減少體積的優化
    減少體積意味著減少帶寬,能夠很直接地減少硬件與帶寬的開支。由于網站每日接待成千上萬的訪客,就是一個字節的優化也可以帶來顯著的效果。
    1、減小CSS、JS和HTML的體積。
    用簡寫的方法來寫CSS。推薦用dreamweaver cs4來寫CSS,因為代碼提示默認就是簡寫的。#ffffff可以簡寫成#fff,margin:上 右 下 左,等等…
    刪除注釋。除了保留版權聲明,其他注釋可以刪除。刪除不必要的空格和換行,就像google做的一樣。用JS壓縮工具來壓縮JS。體積上的變化很明顯。有的JS壓縮工具會導致JS發生錯誤。推薦用JQuery也使用的壓縮工具。很穩定,效果也很好。
    推薦DIV+CSS布局,這是老生常談。然而對于開發速度上效率的降低,可以用研究柵格系統、研究重用方案來解決。
    不要濫用div、H1~H6等標簽。除了速度,更是SEO上的考慮。
    一手良好的div+css不是一夕一朝就能練成的。
    2、減小圖片的體積
    在PS里“儲存于WEB和設備所用格式”可以減少不少體積。對于圖片質量要求不高的圖片,可以儲存為gif格式。此外在gif格式下,只要增加一點點損耗就可以帶來明顯的體積變化。如果用“儲存”菜單來保存用于WEB的圖片,最好選擇索引模式,可以至少減少三分之一的體積。
    三、基于運算速度的優化
    運算速度更多的是WEB后端的事情,但是并不意味著脫得了前端的干系。
    JS運算速度的優化。典型就是循環操作DOM,不要直接操作DOM,而是先createElement到一個變量,在這個變量中增加DOM,然后再附加到文檔樹上。此外,不要以為內存泄漏只是C++們的事情。JS也會導致內存泄漏。這個話題比較復雜,推薦大伙兒們閱讀'ajax in action'。制作一個成熟的ajax應用需要注意的事項全部都有,與后臺語言無關。閱讀算法的書。可能讓一個前端開發師閱讀算法的書有些搞笑,但是,有些極端場合還是會出現因為JS執行耗時過多,瀏覽器要終止JS的運行。
    四、其他優化。
    可以是基于瀏覽器的特性、基于用戶的體驗進行優化。大家可以天馬行空地發揮!
    IE在加載CSS之前會出現瞬時的無CSS狀態的頁面。可以通過加入一個空的<script type="text/javascript"></script>來解決。
    不要在文檔里加入空的js,IE的BUG會導致這樣比較慢。
    標明圖像的高度和寬度,有利于網頁在加載過程中結構保持一致。
    當一個鏈接是一個目錄的時候,比如svnhost.cn/article,要這樣:svnhost.cn/article/,因為沒有/,服務器會回應一個301到有/的地址。
    實在沒有辦法優化了?那么還可以基于用戶體驗進行優化,或者咨詢  雖然實質上是增加服務器壓力、減慢反應的。但是,用戶心理的優化,才是真正的優化!加個loading會讓用戶感覺等待的時間減少,比優化幾個KB實在多了。

    posted @ 2009-05-21 12:28 不高興 閱讀(1315) | 評論 (1)編輯 收藏
     
    Java代碼

       1. <% 
       2. response.setHeader("Pragma","No-cache");  
       3. response.setHeader("Cache-Control","no-cache");  
       4. response.setDateHeader("Expires", -10); 
       5. %> 

    <%
    response.setHeader("Pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", -10);
    %>

    在登陸頁面和登陸后頁面均加入這段代碼即可
    注意,一定要在登陸頁面(或類似功能的頁面使session無效)

    客戶端方法:

    meta是用來在HTML文檔中模擬HTTP協議的響應頭報文。meta 標簽用于網頁的<head>與</head>中,meta 標簽的用處很多。meta 的屬性有兩種:name和http-equiv。name屬性主要用于描述網頁,對應于content(網頁內容),以便于搜索引擎機器人查找、分類(目前幾乎所有的搜索引擎都使用網上機器人自動查找meta值來給網頁分類)。這其中最重要的是description(站點在搜索引擎上的描述)和 keywords(分類關鍵詞),所以應該給每頁加一個meta值。比較常用的有以下幾個:
    name 屬性

    1、<meta name="Generator" contect="">用以說明生成工具(如Microsoft FrontPage 4.0)等;

    2、<meta name="KEYWords" contect="">向搜索引擎說明你的網頁的關鍵詞;

    3、<meta name="DEscription" contect="">告訴搜索引擎你的站點的主要內容;

    4、<meta name="Author" contect="你的姓名">告訴搜索引擎你的站點的制作的作者;

    5、<meta name="Robots" contect=

    "all|none|index|noindex|follow|nofollow">

    其中的屬性說明如下:

    設定為all:文件將被檢索,且頁面上的鏈接可以被查詢;

    設定為none:文件將不被檢索,且頁面上的鏈接不可以被查詢;

    設定為index:文件將被檢索;

    設定為follow:頁面上的鏈接可以被查詢;

    設定為noindex:文件將不被檢索,但頁面上的鏈接可以被查詢;

    設定為nofollow:文件將不被檢索,頁面上的鏈接可以被查詢。

    http-equiv屬性

    1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">

    和 <meta http-equiv="Content-Language" contect="zh-CN">用以說明主頁制作所使用的文字以及語言;

    又如英文是ISO-8859-1字符集,還有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;

    2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定時讓網頁在指定的時間n內,跳轉到頁面http;//yourlink;

    3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于設定網頁的到期時間,一旦過期則必須到服務器上重新調用。需要注意的是必須使用GMT時間格式;

    4、<meta http-equiv="Pragma" contect="no-cache">是用于設定禁止瀏覽器從本地機的緩存中調閱頁面內容,設定后一旦離開網頁就無法從Cache中再調出;

    5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie設定,如果網頁過期,存盤的cookie將被刪除。需要注意的也是必須使用GMT時間格式;

    6、<meta http-equiv="Pics-label" contect="">網頁等級評定,在IE的internet選項中有一項內容設置,可以防止瀏覽一些受限制的網站,而網站的限制級別就是通過meta屬性來設置的;

    7、<meta http-equiv="windows-Target" contect="_top">強制頁面在當前窗口中以獨立頁面顯示,可以防止自己的網頁被別人當作一個frame頁調用;

    8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion=

    50)">和<meta http-equiv="Page-Exit"

    contect="revealTrans(duration=20,transtion

    =6)">設定進入和離開頁面時的特殊效果,這個功能即FrontPage中的“格式/網頁過渡”,不過所加的頁面不能夠是一個frame頁面
    posted @ 2009-05-19 16:05 不高興 閱讀(1251) | 評論 (1)編輯 收藏
     

    public class SimpleDateFormat extends DateFormat
    SimpleDateFormat 是一個以國別敏感的方式格式化和分析數據的具體類。 它允許格式化 (date -> text)、語法分析 (text -> date)和標準化。

    SimpleDateFormat 允許以為日期-時間格式化選擇任何用戶指定的方式啟動。 但是,希望用 DateFormat 中的 getTimeInstance、 getDateInstance 或 getDateTimeInstance 創建一個日期-時間格式化程序。 每個類方法返回一個以缺省格式化方式初始化的日期/時間格式化程序。 可以根據需要用 applyPattern 方法修改格式化方式。

    SimpleDateFormat函數的繼承關系:
    java.lang.Object
        |
        +----java.text.Format
                |
                +----java.text.DateFormat
                        |
                        +----java.text.SimpleDateFormat
    下面是個小例子:
    import java.text.*;
    import java.util.Date;

    /**
       SimpleDateFormat函數語法:
     
       G 年代標志符
       y 年
       M 月
       d 日
       h 時 在上午或下午 (1~12)
       H 時 在一天中 (0~23)
       m 分
       s 秒
       S 毫秒
       E 星期
       D 一年中的第幾天
       F 一月中第幾個星期幾
       w 一年中第幾個星期
       W 一月中第幾個星期
       a 上午 / 下午 標記符
       k 時 在一天中 (1~24)
       K 時 在上午或下午 (0~11)
       z 時區
    */
    public class FormatDateTime {

         public static void main(String[] args) {
             SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
             SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
             SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等價于now.toLocaleString()
             SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒 E ");
             SimpleDateFormat myFmt4=new SimpleDateFormat(
                     "一年中的第 D 天 一年中第w個星期 一月中第W個星期 在一天中k時 z時區");
             Date now=new Date();
             System.out.println(myFmt.format(now));
             System.out.println(myFmt1.format(now));
             System.out.println(myFmt2.format(now));
             System.out.println(myFmt3.format(now));
             System.out.println(myFmt4.format(now));
             System.out.println(now.toGMTString());
             System.out.println(now.toLocaleString());
             System.out.println(now.toString());
         }   
       
    }

    效果:
    2004年12月16日 17時24分27秒
    04/12/16 17:24
    2004-12-16 17:24:27
    2004年12月16日 17時24分27秒 星期四
    一年中的第 351 天 一年中第51個星期 一月中第3個星期 在一天中17時 CST時區
    16 Dec 2004 09:24:27 GMT
    2004-12-16 17:24:27
    Thu Dec 16 17:24:27 CST 2004

    下面是個JavaBean:
    public class FormatDateTime {
       
         public static String toLongDateString(Date dt){
             SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒 E ");       
             return myFmt.format(dt);
         }
       
         public static String toShortDateString(Date dt){
             SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH時mm分");       
             return myFmt.format(dt);
         }   
       
         public static String toLongTimeString(Date dt){
             SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");       
             return myFmt.format(dt);
         }
         public static String toShortTimeString(Date dt){
             SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");       
             return myFmt.format(dt);
         }
       
         public static void main(String[] args) {

             Date now=new Date();

             System.out.println(FormatDateTime.toLongDateString(now));
             System.out.println(FormatDateTime.toShortDateString(now));
             System.out.println(FormatDateTime.toLongTimeString(now));
             System.out.println(FormatDateTime.toShortTimeString(now));
         }   
       
    }
    調用的main 測試結果:
    2004年12月16日 17時38分26秒 星期四
    04年12月16日 17時38分
    17 38 26 0965
    04/12/16 17:38

     

     


    在java中取得當前的系統時間并且轉化成自己想要的格式
         需要引進 java.util.Calendar 和 java.text.SimpleDateFormat 這兩個類:

            Calendar rightNow = Calendar.getInstance();
             SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddhhmmss");
             String sysDatetime = fmt.format(rightNow.getTime());  

        可以對 new SimpleDateFormat("yyyyMMddhhmmss") 中引號里面的格式進行編輯,轉換成自己相要的格式,比如還可以轉
        換成    new    SimpleDateFormat("yyyy/MM/dd    hh:mm:ss    ") 的格式。

     
    文章出處:DIY部落(http://www.diybl.com/course/3_program/java/javajs/20090302/156356.html)

    posted @ 2009-05-19 12:47 不高興 閱讀(203) | 評論 (0)編輯 收藏
     

    Java代碼
    int width = 0 ;     
    int height = 0 ;     
    width = Toolkit.getDefaultToolkit().getScreenSize().width ;     
    height = Toolkit.getDefaultToolkit().getScreenSize().height ; 


    Js代碼
    var  Width   =   window.screen.availWidth;    
    var  Height   =   window.screen.availHeight;

    posted @ 2009-05-15 09:05 不高興 閱讀(670) | 評論 (0)編輯 收藏
    僅列出標題
    共7頁: 上一頁 1 2 3 4 5 6 7 
     
    Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲国产一区二区a毛片| 亚洲色自偷自拍另类小说| 亚洲精品美女久久久久9999| 国产精品福利在线观看免费不卡 | 亚洲国产一二三精品无码| 亚洲va精品中文字幕| 成人浮力影院免费看| 亚洲免费在线视频播放| 最近2022中文字幕免费视频 | 国产色爽免费无码视频| 在线播放亚洲第一字幕| a级毛片100部免费观看| 亚洲精品一级无码中文字幕| 国产精品免费久久| 国产AV无码专区亚洲A∨毛片| 十八禁无码免费网站| 亚洲成人午夜电影| 大学生高清一级毛片免费| 国产精品亚洲а∨天堂2021 | 无码免费一区二区三区免费播放 | 男人天堂免费视频| 亚洲国产精品lv| 台湾一级毛片永久免费| 亚洲gay片在线gv网站| 亚洲国产精品激情在线观看| 一区二区三区免费在线观看| 亚洲AV无码久久| 91精品国产免费久久久久久青草 | 国产精品免费αv视频| 亚洲小视频在线观看| 18禁网站免费无遮挡无码中文| 亚洲欧美成人一区二区三区| 亚洲精品久久久www| 一级成人a毛片免费播放| 亚洲精品天堂在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 青青青视频免费观看| 亚洲精品乱码久久久久久自慰| 久久A级毛片免费观看| 亚洲精华国产精华精华液网站| 亚洲日韩国产一区二区三区|