命令行运行java
jar包都放在lib文件夹里
<pre>java -Djava.ext.dirs=lib Main
</pre>
ubuntu 安装jdk
JDK是java的开发环境,它包括了运行环境(jre)和开发中需要的编译、调试、程序诊断。
很多软件已不需要通过环境变量JAVA_HOME来找到java的运行环境。
http://www.cnblogs.com/a2211009/p/4265225.html
jre是提供java运行环境而不是开发环境
OpenJDK 和 Sun JDK 的关系
Map和List的简单构建方式
<pre>new HashMap(){{
put("saleState",saleState);
put("serveType",serveType);
}}
new ArrayList<List>(){{
add(masterSocketDeviceIds);
add(dimmingLightDeviceIds);
}};
</pre>
Java没有范型数组
枚举
ordinal()返回的值是索引,value()返回的是给枚举变量赋予的值。
<pre>public enum EnumDeviceType {
Unknow(0),
MasterSocket(1),
SlaveSocket(2),
DoorbellController(42),
PowerControl(43);
private int value = 0;
private EnumDeviceType(int value) {
this.value = value;
}
public int value() {
return value;
}
}
</pre>
byte
char与byte:
byte是8位的一个字节,char是UNICOEDE字符,是16位的整数;
java中的byte、int等都是有符号的,取byte的无符号数只要进行&0xff操作即可:
<pre>
public static int[] toUbytes(byte[] bytes){
int[] ints=new int[bytes.length];
for(int i=0;i<bytes.length;i++){
ints[i] = bytes[i] & 0xff;
}
return ints;
}
public static String bytes2HexString(byte[] bytes) {
String ret="";
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(bytes[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret+=hex;
}
return ret.toUpperCase();
}
</pre>
Java字段反射+POI示例:
http://blog.csdn.net/panpan96/article/details/76566475
Base64
BASE64Encoder/BASE64Decoder类在sun.misc包中,是sun公司的内部方法,以后有删除的潜在可能,
Base64类在java.util包中,推荐使用Base64.getEncoder()。