﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-George Space-随笔分类-java.complex</title><link>http://www.blogjava.net/george-tech/category/44148.html</link><description>软件创造财富--[George_Space(at)126.com]</description><language>zh-cn</language><lastBuildDate>Wed, 03 Mar 2010 22:13:51 GMT</lastBuildDate><pubDate>Wed, 03 Mar 2010 22:13:51 GMT</pubDate><ttl>60</ttl><item><title>Java类中热替换的概念、设计与实现</title><link>http://www.blogjava.net/george-tech/archive/2010/03/03/314400.html</link><dc:creator>George.tech</dc:creator><author>George.tech</author><pubDate>Wed, 03 Mar 2010 05:35:00 GMT</pubDate><guid>http://www.blogjava.net/george-tech/archive/2010/03/03/314400.html</guid><wfw:comment>http://www.blogjava.net/george-tech/comments/314400.html</wfw:comment><comments>http://www.blogjava.net/george-tech/archive/2010/03/03/314400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/george-tech/comments/commentRss/314400.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/george-tech/services/trackbacks/314400.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 类的热替换是Java在线升级系统设计中的基础技术，从文中给出的实例来看，构建在线升级系统不仅仅是一个技术问题，还牵扯到很多管理方面的因素，比如：如何管理、部署系统中的可在线升级部分和不可在线升级部分以降低系统的管理、维护成本等。对于许多关键性业务或者庞大的Java系统来说，如果必须暂停系统服务才能进行系统升级，既会大大影响到系统的可用性，同时也增加了系统的管理和维护成本。因此，如果能够方便地在...&nbsp;&nbsp;<a href='http://www.blogjava.net/george-tech/archive/2010/03/03/314400.html'>阅读全文</a><img src ="http://www.blogjava.net/george-tech/aggbug/314400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/george-tech/" target="_blank">George.tech</a> 2010-03-03 13:35 <a href="http://www.blogjava.net/george-tech/archive/2010/03/03/314400.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java字节数组和16进制之间的转换</title><link>http://www.blogjava.net/george-tech/archive/2010/03/02/314253.html</link><dc:creator>George.tech</dc:creator><author>George.tech</author><pubDate>Tue, 02 Mar 2010 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/george-tech/archive/2010/03/02/314253.html</guid><wfw:comment>http://www.blogjava.net/george-tech/comments/314253.html</wfw:comment><comments>http://www.blogjava.net/george-tech/archive/2010/03/02/314253.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/george-tech/comments/commentRss/314253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/george-tech/services/trackbacks/314253.html</trackback:ping><description><![CDATA[<p>/*<br>* To change this template, choose Tools | Templates<br>* and open the template in the editor.<br>*/<br>package test.util;  <p>/**<br>*<br>* @author Administrator<br>*/<br>public class StringUtil {  <p>&nbsp;&nbsp;&nbsp; public StringUtil() {<br>&nbsp;&nbsp;&nbsp; }  <p>&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp; * 将指定byte数组以16进制的形式打印到控制台<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param hint String<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param b byte[]<br>&nbsp;&nbsp;&nbsp;&nbsp; * @return void<br>&nbsp;&nbsp;&nbsp;&nbsp; */<br>&nbsp;&nbsp;&nbsp; public static String printHexString( byte[] b) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuffer returnValue = new StringBuffer();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; b.length; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String hex = Integer.toHexString(b[i] &amp; 0xFF);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (hex.length() == 1) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hex = '0' + hex;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(hex.toUpperCase() + " ");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; returnValue.append(hex.toUpperCase() + " ");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "[" + returnValue.toString() + "]";<br>&nbsp;&nbsp;&nbsp; }  <p>&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp; *<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param b byte[]<br>&nbsp;&nbsp;&nbsp;&nbsp; * @return String<br>&nbsp;&nbsp;&nbsp;&nbsp; */<br>&nbsp;&nbsp;&nbsp; public static String Bytes2HexString(byte[] b) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String ret = "";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; b.length; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String hex = Integer.toHexString(b[i] &amp; 0xFF);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (hex.length() == 1) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hex = '0' + hex;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret += hex.toUpperCase();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;<br>&nbsp;&nbsp;&nbsp; }  <p>&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp; * 将两个ASCII字符合成一个字节；<br>&nbsp;&nbsp;&nbsp;&nbsp; * 如："EF"--&gt; 0xEF<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param src0 byte<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param src1 byte<br>&nbsp;&nbsp;&nbsp;&nbsp; * @return byte<br>&nbsp;&nbsp;&nbsp;&nbsp; */<br>&nbsp;&nbsp;&nbsp; public static byte uniteBytes(byte src0, byte src1) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _b0 = (byte) (_b0 &lt;&lt; 4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte ret = (byte) (_b0 ^ _b1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;<br>&nbsp;&nbsp;&nbsp; }  <p>&nbsp;&nbsp;&nbsp; /**<br>&nbsp;&nbsp;&nbsp;&nbsp; * 将指定字符串src，以每两个字符分割转换为16进制形式<br>&nbsp;&nbsp;&nbsp;&nbsp; * 如："2B44EFD9" --&gt; byte[]{0x2B, 0x44, 0xEF, 0xD9}<br>&nbsp;&nbsp;&nbsp;&nbsp; * @param src String<br>&nbsp;&nbsp;&nbsp;&nbsp; * @return byte[]<br>&nbsp;&nbsp;&nbsp;&nbsp; */<br>&nbsp;&nbsp;&nbsp; public static byte[] HexString2Bytes(String src) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] ret = new byte[8];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] tmp = src.getBytes();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 8; i++) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ret;<br>&nbsp;&nbsp;&nbsp; }<br>}</p><img src ="http://www.blogjava.net/george-tech/aggbug/314253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/george-tech/" target="_blank">George.tech</a> 2010-03-02 11:04 <a href="http://www.blogjava.net/george-tech/archive/2010/03/02/314253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>