You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.4 KiB
65 lines
1.4 KiB
package Sense4; |
|
|
|
/** |
|
* @author Lanlan |
|
* @date 2018/11/25 |
|
*/ |
|
public abstract class LockUtils { |
|
|
|
private static EliteLockIO intance; |
|
|
|
public static boolean isJVMSystem32() { |
|
String arch_model = System.getProperty("sun.arch.data.model"); |
|
|
|
return "32".equals(arch_model); |
|
} |
|
|
|
// big-endian |
|
public static byte[] intToByteArray1(int i) { |
|
byte[] result = new byte[4]; |
|
result[0] = (byte)((i >> 24) & 0xFF); |
|
result[1] = (byte)((i >> 16) & 0xFF); |
|
result[2] = (byte)((i >> 8) & 0xFF); |
|
result[3] = (byte)(i & 0xFF); |
|
return result; |
|
} |
|
|
|
// big-endian |
|
public static int byteArray2Int(byte[] bytes) { |
|
int res = 0; |
|
res += (bytes[0] & 0xff) << 24; |
|
res += (bytes[1] & 0xff) << 16; |
|
res += (bytes[2] & 0xff)<< 8; |
|
res += bytes[3] & 0xff; |
|
return res; |
|
} |
|
|
|
public static String toHexString(byte[] b) { |
|
StringBuilder sb = new StringBuilder(); |
|
for (int i = 0; i < b.length; i++) { |
|
String hex = Integer.toHexString(b[i] & 0xFF); |
|
if (hex.length() == 1) { |
|
hex = "0" + hex; |
|
} |
|
sb.append(hex); |
|
} |
|
|
|
return sb.toString(); |
|
} |
|
|
|
public static void main(String[] args) { |
|
System.out.println("System is 32-bit: " + isJVMSystem32()); |
|
} |
|
|
|
public static EliteLockIO getEliteLockIOInstance() { |
|
if (intance == null) { |
|
if (isJVMSystem32()) { |
|
intance = new EliteLockIO32(); |
|
} else { |
|
intance = new EliteLockIO64(); |
|
} |
|
} |
|
|
|
return intance; |
|
} |
|
}
|
|
|