随笔-77  评论-5  文章-2  trackbacks-0
 

 

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转换之后的负数部分。
  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)));
 }
 
 /**
  * 打印二进制数组
  * @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数据,用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 阅读(5384) | 评论 (0)编辑 收藏
1.修改当前的hostname可以用
hostname  myname
此时只是修改了内存内部的,下次启动又恢复了
2.机器在启动的时候会调用/etc/rc.d/boot.localnet
脚本看后面的附录,这个脚本会判断当前的$HOSTNAME变量是否设置,没有设置就会读取/etc/HOSTNAME
来设置主机名。
3.因此要修改hostname,
 3.1 修改/etc/HOSTNAME文件
 3.2 修改当前的$HOSTNAME变量
 3.3 停掉/etc/rc.d/boot.localnet
 3.4 启动 /etc/rc.d/boot.localnet
因此执行脚本如下:
 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 阅读(16379) | 评论 (3)编辑 收藏
http://www.infoq.com/cn/articles/hadoop-config-tip

http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.html

http://wenku.baidu.com/view/be021f3667ec102de2bd8964.html

这个装完带验证url
http://wenku.baidu.com/view/373ed21fb7360b4c2e3f64ce.html
posted @ 2011-10-25 06:50 huohuo 阅读(184) | 评论 (0)编辑 收藏
/Files/lijinglin/LINUX_SHELL.part2.rar
/Files/lijinglin/LINUX_SHELL.part1.rar
/Files/lijinglin/diveintopython3.rar
posted @ 2011-10-25 06:45 huohuo 阅读(180) | 评论 (0)编辑 收藏
1.安装suse
装好vmware workstation8,跑到open suse,下载suse11的光盘iso文件,将iso文件映射到vmware的光驱做安装。
2.安装vmwaretools,用root用户执行
vmware安装目录中的linux.iso中带有的VMwareTools*.gz
执行vmware-install.pl
一路回车,中途碰到问题,提到找不到kernel header文件,
The path "" is not a valid path to the 2.6.37-1-1.2-desktop kernel

参照网上文件
安装了kernel-devel ,还是碰到问题,,又安装了kernel-desktop-devel*.rpm
再试用 rpm -ql kernel-desktop-devel,
发现这个包的文件都安装的 /usr/src/linux-2.6.37.1-1.2-obj/
下面,于是我采用这个路径/usr/src/linux-2.6.37.1-1.2-obj/i586/desktop/include
结果安装成功。这个vmwaretools主要是为了提供一个和主操作系统共享文件目录的作用吧。
安装起来还是比较费劲的。
posted @ 2011-10-25 05:51 huohuo 阅读(2264) | 评论 (0)编辑 收藏
 透明gif动画读写伸缩例子

今天找了第三方的代码,然后自己修改了部分,实现了透明动画gif的读写,jdk 5下测试通过。

虽然jdk6支持gif的读写,但是很多系统没有升级到jdk6,不可能为了一个gif读写伸缩功能就要升级到jdk6.

这个例子里面使用了开源的gifdecoder animatedgifencoder。
开源的gifdecoder有个bug,透明色经常被它变为黑色,这样很不好。

另外GifUtil类里面有伸缩gif图的例子,有些人图伸缩之后存会gif会出现颜色变多了,超过gif的256色,
因此伸缩也是有特别注意的地方。


具体看代码吧,没有太多空解释
posted @ 2009-09-10 19:53 huohuo 阅读(2127) | 评论 (0)编辑 收藏

李运新 發表相片:

蹲下玩


文章来源:http://www.flickr.com/photos/liyunxin/3409487358/
posted @ 2009-05-01 10:57 huohuo 阅读(121) | 评论 (0)编辑 收藏

李运新 發表相片:

这是什么


文章来源:http://www.flickr.com/photos/liyunxin/3408678473/
posted @ 2009-05-01 10:57 huohuo 阅读(79) | 评论 (0)编辑 收藏

李运新 發表相片:

在朝阳一巷的工商一行宿舍

在朝阳一巷的工商一行宿舍


文章来源:http://www.flickr.com/photos/liyunxin/3408678585/
posted @ 2009-05-01 10:57 huohuo 阅读(87) | 评论 (0)编辑 收藏

李运新 發表相片:

在朝阳一巷的工商一行宿舍

在朝阳一巷的工商一行宿舍


文章来源:http://www.flickr.com/photos/liyunxin/3409487680/
posted @ 2009-05-01 10:57 huohuo 阅读(97) | 评论 (0)编辑 收藏
仅列出标题
共5页: 上一页 1 2 3 4 5 下一页