java tips

Tips是平时随手乱记下的,的确很实用,但是也特别杂乱。有些东西是小技巧,有些知识点扩展开可能写许多。如果有疑问,直接找我。

find class in jars

1
find . -name *.jar -maxdepth 4 -exec grep -Hlsi org.apache.util.CacheLRU.class {} ;

The type parameter V is hiding the type V

A-E, P, V

1
@SuppressWarnings ("hiding")

Manage Java version on macos

https://stackoverflow.com/questions/21964709/how-to-set-or-change-the-default-java-jdk-version-on-os-x

  • Find Installed Javas
    1
    2
    3
    4
    5
    6
    7
    
    /usr/libexec/java_home -V
    Matching Java Virtual Machines (5):
      10.0.1, x86_64:   "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
      1.8.0_172, x86_64:    "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
      1.8.0_131, x86_64:    "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
      1.8.0_65, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
      1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    

  • switch java by JAVA_HOME variant
    1
    
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
    

compiler识别exception

以下代码在jdk6上编译失败,7及以上ok,原因是新的编译器能识别这个实际上的异常。

1
2
3
4
5
6
7
8
public static void main(String[] args) {

    try {
        throw new RuntimeException();
    } catch (Exception e) {
        throw e;
    }
}