`
alienjun
  • 浏览: 11634 次
  • 性别: Icon_minigender_1
  • 来自: 广西
最近访客 更多访客>>
社区版块
存档分类
最新评论

基础知识一

    博客分类:
  • Java
 
阅读更多
1.JVM如何加载一个class?

     Java中类的加载是通过ClassLoader实现的,它的目的是动态加载Java类和Resource。Class文件由编辑器生成,可以被任何一种JVM加载。
  JVM使用类加载器加载类文件,并创建Class 对象,类加载器都是ClassLoader的子类实例。ClassLoader子类需要重载loadClass方法以实现用户自己的类加载方式。ClassLoader 其实就是读取文件,按照CLASSPATH配置的顺序。然后解析后转化为类。
  loadClass方法中使用findLoadedClass方法检查类是否已经被加载,如果返回为null,则表示还没有被加载,于是在其Parent类加载器重寻找_parent.loadClass;如果仍然返回null,则要在系统中查找,findSystemClass;如果仍然没有,则抛出异常。也就是逐级检查是否加载。
2.ArrayList与LinkedList的区别?
这个问题让我囧了很久。。。就是最简单的数组与链表的区别嘛!当时我没有反应过来,加上自己没有多少底气,就没说出来!唉,告诫自己要多加学习啊!
Java中ArrayList和LinkedList都是继承自List类的,前者是数组,后者是链表。
ArrayList是动态的增长数组,适合总长度未知情况下使用;LinkedList优点在于可以方便插入删除操作,且提供额外的get,remove,insert方法在LinkedList的首部或尾部。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics