getResourceAsStream

いつも混乱しているのでメモ。


Class#getResourceAsStream()は、"/"から始めた場合はクラスパスからの絶対パスとなり、そうでない場合はそのクラスからの相対パスとなる。
ClassLoader#getResourceAsStream()は常にクラスパスからの絶対パスだが、"/"から始めるとリソースが読めなくなる(どうなっているのかは不明)。
複数のjarやディレクトリに同じ名前のリソースがある場合、クラスパスで先に指定した方が使用される(クラスローダによるが)。