
2010年2月2日
安裝broadcom網卡驅動
modprobe broadcom
modprobe tg3
dhcpcd eth0
posted @
2012-07-01 14:44 巖石 閱讀(114) |
評論 (0) |
編輯 收藏
隔離級別
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
1
var DivMove = Class.create();
2
DivMove.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
};
38
var move=new DivMove();
39
move.init($('selectItem'));
40
move.observer();
41
42
var move2=new DivMove();
43
move2.init($('selectItem1'));
44
move2.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) |
編輯 收藏