![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
qq_37720278
这个作者很懒,什么都没留下…
展开
-
Class类的getResource方法与getResourceAsStream方法
这两个方法,接收一个资源的路径参数name,返回一个代表资源的url或输入流。与linux中的文件定位类似,若name以“/”开头,此时将name视为绝对路径,后续classLoader会尝试以每一个classpath为根,以name为后续路径去寻找资源;若name不以“/”开头,则name为相对路径,相对于当前class对象对应类所在的包,在这个包路径的基础上以name为后续路径寻找资源。1...原创 2018-11-10 18:32:59 · 720 阅读 · 0 评论 -
ClassNotFoundException和NoClassDefFoundError的区别与联系
从命名上来看,一个是exception而另一个是error,这意味着出现ClassNotFoundException时是可以进行异常处理来挽救程序的,但出现NoClassDefFoundError对jvm来说是一个致命的,不可恢复的错误,通常会导致程序crash。NoClassDefFoundError在jdk中的定义:/** * Thrown if the Java Virtual ...原创 2019-01-28 15:56:56 · 471 阅读 · 0 评论 -
从字节码层面看try-catch-finally的实现机制
考虑以下方法可能的执行流程 public static int A() { try {//代码块1 return B(); }catch (Exception e){//代码块2 C(); } finally {//代码块3 System.out.pr...原创 2019-01-29 15:55:17 · 671 阅读 · 2 评论 -
jvm读书笔记
类加载与链接:1.类型的唯一性通过类的全限定名和类的定义类加载器来标识。每个类加载器维护一个独立的命名空间,只有在同一命名空间中的类才能相互调用。一般的jvm中共有三个类加载器:启动类加载器 扩展类加载器 系统类加载器。 自定义类由系统类加载器加载,ArrayList由启动类加载器加载,假如在自定义类中初次使用ArrayList,此时系统类加载器的命名空间中并没有ArrayList,因此需要借...原创 2019-11-30 17:13:19 · 172 阅读 · 0 评论