系统版本:Mac OS X 10.9.1
在~/.profile
中增加环境变量JAVA_HOME 设置:
1 |
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/ |
验证变量配置:[……]
系统版本:Mac OS X 10.9.1
在~/.profile
中增加环境变量JAVA_HOME 设置:
1 |
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/ |
验证变量配置:[……]
Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号[……]
java代码:EncoderHandler.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
package michael.utils; import java.security.MessageDigest; /** * blog www.micmiu.com * * @author Michael * */ public class EncoderHandler { private static final String ALGORITHM = "MD5"; private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /** * encode string * * @param algorithm * @param str * @return String */ public static String encode(String algorithm, String str) { if (str == null) { return null; } try { MessageDigest messageDigest = MessageDigest.getInstance(algorithm); messageDigest.update(str.getBytes()); return getFormattedText(messageDigest.digest()); } catch (Exception e) { throw new RuntimeException(e); } } /** * encode By MD5 * * @param str * @return String */ public static String encodeByMD5(String str) { if (str == null) { return null; } try { MessageDigest messageDigest = MessageDigest.getInstance(ALGORITHM); messageDigest.update(str.getBytes()); return getFormattedText(messageDigest.digest()); } catch (Exception e) { throw new RuntimeException(e); } } /** * Takes the raw bytes from the digest and formats them correct. * * @param bytes * the raw bytes from the digest. * @return the formatted bytes. */ private static String getFormattedText(byte[] bytes) { int len = bytes.length; StringBuilder buf = new StringBuilder(len * 2); // 把密文转换成十六进制的字符串形式 for (int j = 0; j < len; j++) { buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]); buf.append(HEX_DIGITS[bytes[j] & 0x0f]); } return buf.toString(); } public static void main(String[] args) { System.out.println("111111 MD5 :" + EncoderHandler.encodeByMD5("111111")); System.out.println("111111 MD5 :" + EncoderHandler.encode("MD5", "111111")); System.out.println("111111 SHA1 :" + EncoderHandler.encode("SHA1", "111111")); } } |
运行结果如下:
[crayon-673f3726382d309166851[……]
可以通过下面的代码获取到 java -D 的系统属性参数列表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/** * @author michael * */ public class SystemInfo { /** * @param args */ public static void main(String[] args) { Properties prop = new Properties(System.getProperties()); // 在标准输出中输出系统属性的内容 prop.list(System.out); } } |
测试系统获取到的属性列表如下:
[crayon-673f3726[……]
基本需求: 定时测试被监控的设备是否可以ping通,如果ping不通的需要发出告警信息。
方案思路: 运用java调用服务器的自身命令来简单实现ping功能 ,本文只是讲述如何运用Java简单实[……]
近期评论