Java面试归来。。囧
2011-04-27 11:02
239 查看
昨天TX面试Java方向,自己感觉悲剧了。。。好多问题没有回答出来。不过也难怪,自己对Java了解的太不深入了,这次正好给自己上了一课。下面的是一些我不知道的问题,不能在同一个地方摔倒第二次了!
1.JVM如何加载一个class?
面试官一问到我这个问题我就傻了,学习Java前后才不长时间,哪接触过这么深入的问题!
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的首部或尾部。
3.快速排序和堆排序的区别?
这个我能说出各自的排序过程,但是不知道总结二者有什么区别。。。。
只能说快排每次是最高效地选择范围,而堆排序是每次肯定不是在正确的范围选择,因为每次都得进行堆调整。
还有一些问题下次再列出来。
加油!
1.JVM如何加载一个class?
面试官一问到我这个问题我就傻了,学习Java前后才不长时间,哪接触过这么深入的问题!
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的首部或尾部。
3.快速排序和堆排序的区别?
这个我能说出各自的排序过程,但是不知道总结二者有什么区别。。。。
只能说快排每次是最高效地选择范围,而堆排序是每次肯定不是在正确的范围选择,因为每次都得进行堆调整。
还有一些问题下次再列出来。
加油!
相关文章推荐
- java面试打击后归来深刻总结分析
- Java面试
- JAVA多线程和并发基础面试问答
- 最近5年133个Java面试问题列表
- java面试笔试题大汇总
- java程序员面试——Java多线程总结
- java面试问题与心得
- JAVA 数据结构-轻松搞定二叉树的面试题目
- 【猿小白】常见Java面试问题汇总~~~持续更新~~~直到拿到心仪的offer
- Java 面试总结
- java面试32问
- java 面试 笔试题 大全 (一)
- Java面试:基础32问
- 饿了么 ---Java面试
- Java后台-面试问题汇总:历时20天,主流互联网公司面试经历
- Java面试:代码题19道
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
- Java面试的问题
- 两年JAVA程序员的面试总结
- Java面试知识点二