Java基础

2019-08-04 Sunday Java

Java 基础知识文档

类型变换

java.util.Date 和 java.util.Date 相互转换

java.util.Date d = new java.util.Date (date.getTime());

java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
1
2
3

参考:

代码反编译

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true jar_package.jar target_directory
1

jvisualvm内存不足问题

修改$JAVA_HOME/lib/visualvm/etc/visualvm.conf文件配置

visualvm_default_options="-J-client -J-Xms24 -J-Xmx256m"
1

把256改为2048,然后重启jvisualVM即可。

识别UTF8文件的BOM头并去除

/**
BOMs:
  00 00 FE FF    = UTF-32, big-endian
  FF FE 00 00    = UTF-32, little-endian
  EF BB BF       = UTF-8,
  FE FF          = UTF-16, big-endian
  FF FE          = UTF-16, little-endian
Win2k Notepad:
  Unicode format = UTF-16LE
*/
public InputStream getInputStream(InputStream in) throws IOException {

    PushbackInputStream testInputStream = new PushbackInputStream(in);
    int ch = testInputStream.read();
    if (ch != 0xEF) {
        testInputStream.unread(ch);
    } else if ((ch = testInputStream.read()) != 0xBB) {
        testInputStream.unread(ch);
        testInputStream.unread(0xef);
    } else if ((ch = testInputStream.read()) != 0xBF) {
        throw new IOException("Not UTF-8 file");
    }
    return testInputStream;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
最近更新: 2023-05-14 16:41:44