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

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

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

    隨筆-8  評論-0  文章-1  trackbacks-0
      2010年2月2日
    安裝broadcom網卡驅動 modprobe broadcom modprobe tg3 dhcpcd eth0
    posted @ 2012-07-01 14:44 巖石 閱讀(114) | 評論 (0)編輯 收藏
    隔離級別

    • READ UNCOMMITTED隔離級別 讀取未提交內容 在這個級別下所有事物都能看到未提交的事務執行結果,容易引起臟讀
    • READ COMMITTED 讀取提交內容(mysql 非默認)只能讀取提交后的事務結果
    • REPEATABLE READ (Mysql 默認)可重復讀 保證在一個事務下的多個實例讀取到相同內容,可能會出現幻讀, mysql InnoDB 和 Falcon 引擎解決來幻讀問題
    • SERIALIZABLE 可串行化 最高的事物級別 對每個事務加鎖。強制事物排序

    1 隔離級別                       臟讀(Dirty Read)          不可重復讀(NonRepeatable Read)          幻讀(Phantom Read)
    2 讀未提交(Read uncommitted)     可能                         可能                                     可能
    3 讀已提交(Read committed)       不可能                       可能                                     可能
    4 可重復讀(Repeatable read)      不可能                       不可能                                   可能
    5 可串行化(Serializable )        不可能                       不可能                                   不可能

    MySQL 事務
    • Mysql 默認提交數據的 AUTOCOMMIT ON
    • InnoDB 行級別鎖 多版本并發控制,NDB Cluster Falcon 是事務型 MyISAM 是非事務的 表級別鎖,在混合事務的時候不能保證數據一致性
    • InnoDB 使用二相鎖定協議 一個事務在執行的時候會獲得鎖,在commit 或者rollback的時候釋放鎖,可以顯示制定鎖 例如 LOCK IN SHARE MODE ,FOR UPDATE

    查看 表的狀態
    show table status like '表名'

    MyISAM MySQL 默認的數據庫引擎 不支持事務和行級鎖

    表轉換
    alter table方式 alter table mytable engine = innoDB; 復制表

    打開MySql慢查詢日志
    修改my.conf
    #打開慢查詢
    log-slow-queries 
    = <file_name>
    #記錄查詢大于2秒的記錄, 默認是10秒
    long_query_time 
    = 2
    #記錄沒有使用索引的查詢
    log-queries-not-using-indexes
    #記錄運行較慢的管理命令
    log-slow-admin-statements
    • 取查看MySql 數據庫狀態 show status show processlist
    • FLUSH STATUS 刷新狀態
    • SQL_NO_CACHE MySql 不會緩存結果 例如 select sql_no_cache * from admin_user
    • show profile cpu for query 1 ; 查看用戶查詢CPU使用率
    選擇優化的數據類型
    • 更小通常更好,正確的存儲和表示數據的最小類型,更小的數據類型通常更快,更少的使用存儲空間 內存和CPU緩存
    • 簡單就好 越簡單的數據類型需要的CPU周期越少
    • 盡量避免NULL
    • 整數 數據類型包括 TINYINT(8) SMALLINT(16) MEDIUMINT(24) INT(32) BIGINT(64),所有類型都包含UNSIGNED熟悉 ,表示不允許為負數,并且正數上限提高一倍
    • 實數FLOAT(4) DOUBLE(8) 保存精確的小數 DECIMAL可以定義精度 比如DECIMAL(8,2)會在小數點前保留6位,后2位
    • 字符串類型p66
    posted @ 2012-05-27 21:14 巖石 閱讀(265) | 評論 (0)編輯 收藏
    下載JDK tar包 解壓到/usr/lib/下

    比如 /usr/lib/jdk1.7.0

    編輯environment和profile
    sudo vim /etc/environment
     
    添加如下內容
    export JAVA_HOME=/usr/lib/jdk1.7.0
    export JRE_HOME
    =/usr/lib/jdk1.7.0/jre
    export CLASSPATH
    =$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    sudo vim /etc/profile

    在umask 022前 添加如下內容
    export JAVA_HOME=/usr/lib/jdk1.7.0
    export JRE_HOME
    =/usr/lib/jdk1.7.0/jre
    export CLASSPATH
    =$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH
    =$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin


    最后注銷系統

    安裝OPENVPN
    sudo apt-get install openvpn

    使用OPENVPN
    cd /etc/openvpn
    sudo openvpn 
    --config /etc/openvpn/xxxx.ovpn

    啟用SSH服務
    sudo apt-get install openssh-server openssh-client

    安裝PG
    sudo apt-get install postgresql

    sudo apt-get install pgadmin3

    posted @ 2011-07-31 19:59 巖石 閱讀(317) | 評論 (0)編輯 收藏
    用的prototype
     1var DivMove = Class.create();
     2DivMove.prototype = {
     3    initialize : function(){},
     4    init : function(element) {
     5        this._element = element;
     6    }
    ,
     7    observer : function() {
     8        Event.observe(this._element, 'mousedown', this._mouseDown);
     9        Event.observe(this._element, 'mouseup', this._mouseUp);
    10    }
    ,
    11    _mouseDown : function(e) {
    12        var event = e || window.event;
    13        var offsetX = event.clientX - this.offsetLeft;
    14        var offsetY = event.clientY - this.offsetTop;
    15        Event.observe(this, 'mousemove', function(e) {
    16            var event = e || window.event;
    17            var st = Math.max(document.body.scrollTop,
    18                    document.documentElement.scrollTop);
    19            var sl = Math.max(document.body.scrollLeft,
    20                    document.documentElement.scrollLeft);
    21     
    22            Element.setStyle(this ,{
    23                left : event.clientX + sl - offsetX+'px',
    24                top : event.clientY + st - offsetY+'px',
    25                position : 'absolute'
    26            }
    );
    27        /*
    28         * this.style.position = 'absolute'; this.style.left = event.clientX +
    29         * sl - offsetX; this.style.top = event.clientY + st - offsetY;
    30         */

    31        }
    );
    32
    33    }
    ,
    34    _mouseUp : function(e) {
    35        Event.stopObserving(this,'mousemove',this.onMousemove);
    36    }

    37}
    ;
    38var move=new DivMove();
    39move.init($('selectItem'));
    40move.observer();
    41
    42var move2=new DivMove();
    43move2.init($('selectItem1'));
    44move2.observer();
    posted @ 2010-02-04 11:15 巖石 閱讀(136) | 評論 (0)編輯 收藏
    package com.trgc.common.util;

    public class EscapeUnescape {
        
    public static String escape(String src) {
        
    int i;
        
    char j;
        StringBuffer tmp 
    = new StringBuffer();
        tmp.ensureCapacity(src.length() 
    * 6);
        
    for (i = 0; i < src.length(); i++{
            j 
    = src.charAt(i);
            
    if (Character.isDigit(j) || Character.isLowerCase(j)
                
    || Character.isUpperCase(j))
            tmp.append(j);
            
    else if (j < 256{
            tmp.append(
    "%");
            
    if (j < 16)
                tmp.append(
    "0");
            tmp.append(Integer.toString(j, 
    16));
            }
     else {
            tmp.append(
    "%u");
            tmp.append(Integer.toString(j, 
    16));
            }

        }

        
    return tmp.toString();
        }


        
    public static String unescape(String src) {
        StringBuffer tmp 
    = new StringBuffer();
        tmp.ensureCapacity(src.length());
        
    int lastPos = 0, pos = 0;
        
    char ch;
        
    while (lastPos < src.length()) {
            pos 
    = src.indexOf("%", lastPos);
            
    if (pos == lastPos) {
            
    if (src.charAt(pos + 1== 'u'{
                ch 
    = (char) Integer.parseInt(src
                    .substring(pos 
    + 2, pos + 6), 16);
                tmp.append(ch);
                lastPos 
    = pos + 6;
            }
     else {
                ch 
    = (char) Integer.parseInt(src
                    .substring(pos 
    + 1, pos + 3), 16);
                tmp.append(ch);
                lastPos 
    = pos + 3;
            }

            }
     else {
            
    if (pos == -1{
                tmp.append(src.substring(lastPos));
                lastPos 
    = src.length();
            }
     else {
                tmp.append(src.substring(lastPos, pos));
                lastPos 
    = pos;
            }

            }

        }

        
    return tmp.toString();
        }


    }


    JQuery GB2312 JS頁面采用escape()編碼,然后使用上面的類解析出來
    posted @ 2010-02-02 10:37 巖石 閱讀(177) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲综合一区国产精品| 99亚洲精品高清一二区| 色噜噜狠狠色综合免费视频| 午夜色a大片在线观看免费| 亚洲熟妇AV一区二区三区宅男| 波多野结衣免费在线观看| 亚洲一区在线观看视频| 国产1024精品视频专区免费| 亚洲乱码一区二区三区国产精品| 女人18特级一级毛片免费视频| 久久久久亚洲国产| 又大又黄又粗又爽的免费视频| 老湿机一区午夜精品免费福利 | 春暖花开亚洲性无区一区二区| 国产在线不卡免费播放| 一级毛片不卡免费看老司机| 亚洲国产成人高清在线观看| 99久久免费观看| 国产色在线|亚洲| 又粗又硬又大又爽免费视频播放| 国产伦精品一区二区免费| 国产精品久久久亚洲| 国产免费一区二区三区| 亚洲高清国产拍精品熟女| 亚洲日韩在线观看| 亚洲精品国产免费| 亚洲av日韩精品久久久久久a| 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲日本一区二区| 国色精品卡一卡2卡3卡4卡免费| 久久无码av亚洲精品色午夜| 91麻豆国产自产在线观看亚洲| 亚洲精品免费在线| 美女羞羞视频免费网站| 亚洲爆乳无码专区| 在线观看免费a∨网站| 亚洲免费日韩无码系列| 亚洲日本乱码一区二区在线二产线 | 日本zzzzwww大片免费| 校园亚洲春色另类小说合集| 亚洲av日韩av天堂影片精品|