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的首部或尾部。
分享到:
相关推荐
Java基础知识1,Java基础知识1
医学计算机应用基础:01、第一章 计算机基础知识1.ppt
一、刀具基础知识 1. 刀具分类:刀具种类繁多,按功能可分为切削刀具(如车刀、铣刀、钻头、铰刀等)、成型刀具(如齿轮刀具、螺纹刀具)和磨削刀具(砂轮)。按结构形式又可分为整体式刀具和装配式刀具。 2. 刀具...
本手册主要涵盖了SEO的基础知识和实际操作技巧,帮助读者深入理解并掌握这一技能。 一、SEO基础知识 1. 搜索引擎工作原理:了解搜索引擎如何抓取网页、索引内容以及根据用户查询提供相关结果至关重要。这包括爬虫...
oracle数据库基础知识1.ppt
计算机应用基础(二)第一次作业计算机基础知识1.pdf 文件中包含了多方面的计算机基础知识点,以下是对标题、描述、标签和部分内容的详细解释: 1. 计算机的自动控制能力:计算机工作过程中,存储的指令序列指挥和...
汽车基础知识1.pptx
金融基础知识1.pptx
计算机基础知识1最终版.pdf
计算机网络基础知识1完整PPT课件.ppt
汽车钣金基础知识1.pdf
图像处理基础知识1镜头篇.pdf
ECG基础知识1学习课程.pptx
第1章 计算机系统基础知识 1.xmind
事业单位公共基础知识1整理.pdf
建筑安装电气安装工程基础知识一.pdf
"建设工程造价管理基础知识电子书版借鉴.pdf" 本资源为建设工程造价管理基础知识电子书版借鉴,旨在为建设工程项目管理和造价管理人员提供相关知识和信息。本资源涵盖了建设工程造价管理的基础知识,包括相关法规与...
"经济学基础知识大全" 本资源摘要信息涵盖了经济学基础知识大全的主要概念和理论,涵盖GDP、GNP、CPI、通货膨胀、通货紧缩、居民可支配收入、恩格尔系数、基尼系数、财政收入、财政赤字、财政盈余、税收等经济学...
Java是一种广泛应用于软件开发的编程语言,拥有丰富的基础知识体系。本文将对Java基础知识进行系统性的整理和总结,涵盖面向对象、访问控制权限、Final关键字、内部类、集合等多个方面的知识点。 面向对象 面向...