public class Util {
final static int LINE_COUNT = 16;
final static int WORD_COUNT = 2;
public static StringBuffer toHex(byte b)
{
byte factor = 16;
int v = b & 0xff;//去掉byte轉(zhuǎn)換之后的負(fù)數(shù)部分。
byte high = (byte)( v / factor);
byte low = (byte)(v % factor);
StringBuffer buf = new StringBuffer();
buf.append(toHexLow(high)).append(toHexLow(low));
return buf;
}
private static char toHexLow(byte b)
{
if(b > 16 || b < 0 )
{
throw new IllegalArgumentException("inpt parameter should less than 16 and greater than 0");
}
if(b < 10){
return (char)('0' + (char)b);
}
else{
return (char)('A' + (b-10));
}
}
public static StringBuffer toHex(int val)
{
StringBuffer buf = toHex((byte)(val >>24 & 0xff)).append(toHex((byte)(val>>16&0xff)));
return buf.append(toHex((byte)(val>>8&0xff))).append(toHex((byte)(val & 0xff)));
}
/**
* 打印二進(jìn)制數(shù)組
* @param arr
* @param off
* @param len
*/
public static void printBytes(byte [] arr,int off,int len)
{
if(arr == null || len <= 0 || off <0 || off + len > arr.length){
return;
}
int count = 0;
for(int i = off; count < len; ++i)
{
System.out.print(toHex(arr[i]));
++ count;
if(count% WORD_COUNT == 0)
{
System.out.print(' ');
}
if(count % LINE_COUNT == 0)
{
System.out.println();
}
}
}
public static void main(String[] args) {
byte[] arr = new byte[256];
for(int i = 0; i < 256;++i )
{
arr[i] = (byte)i;
}
printBytes(arr,0,256);
printBytes(arr,240,16);
System.out.println(toHex(1));
System.out.println(toHex(0xffffffff));
System.out.println(toHex(0xeeffaacc));
}
}
另外c++寫好的小端序的int數(shù)據(jù),用java讀入如此處理
private static int convertInt(byte[] arr)
{
if(arr == null || arr.length != 4)
{
throw new IllegalArgumentException("bytes array error");
}
int val = (arr[0] & 0xff) | (arr[1] & 0xff)<<8 | (arr[2] & 0xff)<<16 | (arr[3]&0xff)<<24;
return val;
}
posted @
2011-11-02 21:36 huohuo 閱讀(5391) |
評論 (0) |
編輯 收藏
1.修改當(dāng)前的hostname可以用
hostname myname
此時(shí)只是修改了內(nèi)存內(nèi)部的,下次啟動(dòng)又恢復(fù)了
2.機(jī)器在啟動(dòng)的時(shí)候會(huì)調(diào)用/etc/rc.d/boot.localnet
腳本看后面的附錄,這個(gè)腳本會(huì)判斷當(dāng)前的$HOSTNAME變量是否設(shè)置,沒有設(shè)置就會(huì)讀取/etc/HOSTNAME
來設(shè)置主機(jī)名。
3.因此要修改hostname,
3.1 修改/etc/HOSTNAME文件
3.2 修改當(dāng)前的$HOSTNAME變量
3.3 停掉/etc/rc.d/boot.localnet
3.4 啟動(dòng) /etc/rc.d/boot.localnet
因此執(zhí)行腳本如下:
export HOSTNAME=myname
echo $HOSTNAME>/etc/HOSTNAME
/etc/rc.d/boot.localnet stop
/etc/rc.d/boot.localnet start
附錄:/etc/rc.d/boot.localnet
case "$1" in
start)
# clean up old yp bindings
rm -f /var/yp/binding/*.[12]
#
# set hostname and domainname
#
XHOSTNAME=""
test -f /etc/HOSTNAME && {
read XHOSTNAME < /etc/HOSTNAME
}
test -n "$HOSTNAME" -a "$HOSTNAME" != '(none)' && {
echo Using boot-specified hostname \'${HOSTNAME}\'
XHOSTNAME="$HOSTNAME"
}
test -n "$XHOSTNAME" && {
echo -n Setting up hostname \'${XHOSTNAME%%.*}\'
hostname ${XHOSTNAME%%.*}
rc_status -v -r
}
XDOMAINNAME=""
test -f /etc/defaultdomain && {
read XDOMAINNAME < /etc/defaultdomain
}
test -n "$XDOMAINNAME" && {
echo -n Setting up NIS domainname \'$XDOMAINNAME\'
}
domainname "$XDOMAINNAME"
test -n "$XDOMAINNAME" && {
rc_status -v -r
posted @
2011-10-27 22:21 huohuo 閱讀(16393) |
評論 (3) |
編輯 收藏
http://www.infoq.com/cn/articles/hadoop-config-tiphttp://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.htmlhttp://wenku.baidu.com/view/be021f3667ec102de2bd8964.html這個(gè)裝完帶驗(yàn)證url
http://wenku.baidu.com/view/373ed21fb7360b4c2e3f64ce.html
posted @
2011-10-25 06:50 huohuo 閱讀(187) |
評論 (0) |
編輯 收藏
/Files/lijinglin/LINUX_SHELL.part2.rar/Files/lijinglin/LINUX_SHELL.part1.rar/Files/lijinglin/diveintopython3.rar
posted @
2011-10-25 06:45 huohuo 閱讀(184) |
評論 (0) |
編輯 收藏
1.安裝suse
裝好vmware workstation8,跑到open suse,下載suse11的光盤iso文件,將iso文件映射到vmware的光驅(qū)做安裝。
2.安裝vmwaretools,用root用戶執(zhí)行
vmware安裝目錄中的linux.iso中帶有的VMwareTools*.gz
執(zhí)行vmware-install.pl
一路回車,中途碰到問題,提到找不到kernel header文件,
The path "" is not a valid path to the 2.6.37-1-1.2-desktop kernel
參照網(wǎng)上文件
安裝了kernel-devel ,還是碰到問題,,又安裝了kernel-desktop-devel*.rpm
再試用 rpm -ql kernel-desktop-devel,
發(fā)現(xiàn)這個(gè)包的文件都安裝的 /usr/src/linux-2.6.37.1-1.2-obj/
下面,于是我采用這個(gè)路徑/usr/src/linux-2.6.37.1-1.2-obj/i586/desktop/include
結(jié)果安裝成功。這個(gè)vmwaretools主要是為了提供一個(gè)和主操作系統(tǒng)共享文件目錄的作用吧。
安裝起來還是比較費(fèi)勁的。
posted @
2011-10-25 05:51 huohuo 閱讀(2267) |
評論 (0) |
編輯 收藏
透明gif動(dòng)畫讀寫伸縮例子
今天找了第三方的代碼,然后自己修改了部分,實(shí)現(xiàn)了透明動(dòng)畫gif的讀寫,jdk 5下測試通過。
雖然jdk6支持gif的讀寫,但是很多系統(tǒng)沒有升級(jí)到j(luò)dk6,不可能為了一個(gè)gif讀寫伸縮功能就要升級(jí)到j(luò)dk6.
這個(gè)例子里面使用了開源的gifdecoder animatedgifencoder。
開源的gifdecoder有個(gè)bug,透明色經(jīng)常被它變?yōu)楹谏@樣很不好。
另外GifUtil類里面有伸縮gif圖的例子,有些人圖伸縮之后存會(huì)gif會(huì)出現(xiàn)顏色變多了,超過gif的256色,
因此伸縮也是有特別注意的地方。
具體看代碼吧,沒有太多空解釋
posted @
2009-09-10 19:53 huohuo 閱讀(2130) |
評論 (0) |
編輯 收藏
李運(yùn)新 發(fā)表相片:

文章來源:
http://www.flickr.com/photos/liyunxin/3409487358/
posted @
2009-05-01 10:57 huohuo 閱讀(122) |
評論 (0) |
編輯 收藏
李運(yùn)新 發(fā)表相片:

文章來源:
http://www.flickr.com/photos/liyunxin/3408678473/
posted @
2009-05-01 10:57 huohuo 閱讀(81) |
評論 (0) |
編輯 收藏
李運(yùn)新 發(fā)表相片:

在朝陽一巷的工商一行宿舍
文章來源:
http://www.flickr.com/photos/liyunxin/3408678585/
posted @
2009-05-01 10:57 huohuo 閱讀(90) |
評論 (0) |
編輯 收藏
李運(yùn)新 發(fā)表相片:

在朝陽一巷的工商一行宿舍
文章來源:
http://www.flickr.com/photos/liyunxin/3409487680/
posted @
2009-05-01 10:57 huohuo 閱讀(97) |
評論 (0) |
編輯 收藏