java Preferences持久化使用示例
jdk1.4引入了Preferences API,它比对象序列化更接近于持久化,因为它可以自动存取和读取信息。Preferences类似于键值对,存取在一个节点层析结构中,不过它只能存取原始数据类型和字符串,每个字符串的长度不能超过8k。
import java.util.prefs.Preferences;
public class PreferencesDemo {
public static void main(String []args){
Preferences pre = Preferences.userNodeForPackage(PreferencesDemo.class);
int userCount = pre.getInt("UserCount", 0);
userCount++;
pre.putInt("UserCount", userCount);
System.out.println(pre.getInt("UserCount", 0));
}
}
第一次运行的时候是1,第二次运行就变成2,第三次就变成3,Preferences API并没有生成任何本地文件,但却保存了信息,我们也不需要关心操作系统是如何运作的。
相关文档:
最近初步接触了下Java加密和数字签名的相关内容,我学习的过程大概分五步:
1)消息摘要
2)私钥加密
3)公钥加密
4)数字签名
5)数字证书
下面的代码是第三部分:公钥加密
希望能为刚刚接触这个的朋友们省点事
package security;
import java.security.KeyPair;
import java.security.KeyPairGenerator ......
String usrHome = System.getProperty("user.home");
下面是System的参数列表
Key Meaning
------------------- ---------------------- ......
这个原则很简单,就是使用私有构造函数防止类被实例化。 有时,我们会写一些工具类,如java.lang.Math 或是 java.util.Arrays, 这些类中都是静态函数,在设计的时候,这些类并不是用来被实例化的。这个时候,就很有必要把构造函数私有化。 public class UtilityClass {
private UtilityClass() {
throw ne ......
在剖析该问题前请看如下代码
public static String bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[ i ] & 0xFF);
if (hex.length() == 1) {
hex = '0' ......