## 基本知识 ##
1.重载和重写的区别
1.静态代码块,还有静态的作用,静态代码块的特点
1.讲一讲代理是什 么?如何运用
1.内部类(这个面试比较重要)
1.java的特点是什么?
2.类与接口的区别
3.JDK1.5的新特性有哪些
4.主方法中main(String [] args) 加String [] args有什么现实意义
String[] args :是保存运行main函数时输入的参数的字符串数组,
当你在cmd运行时 输入: java test a b c
这个数组就会将abc保存起来: args[0] = a; args[1] = b; args[2] = c;
这些变量在程序中是可以调用的~ 不过平时应该没人会这么用...
=.= main方法是整个程序的入口,大家都用习惯了就算是死规定吧~ 记住就好
## 面向对象 ##
1.谈谈对面向对象的理解
1.详细说明面向对象的三大特征及其特点
1.用生活子的例子描述下什么是面向对象
## 集合 ##
1.谈谈集合框架
1.如何取出Map中的元素
1.List和Set集合的区别
1.List和Set当中的一些类及区别
1.数组和集合有什么区别?
2.HashMap和Hashtable的区别?
1.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
2.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
3.Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
1.遍历Map的两种方式
2.集合框架中哪些是线程不安全的
3.HashTable和HashMap哪个不能传null值
## 多线程 ##
1.如何实现多线程,如何开启多线程
1.多线程的创建方式
1.如何实现多线程的?
2.线程实现的两种方式,并谈谈你对线程池的理解
3.Sleep和wait的区别
4.线程的几种状态
5.线程池的理解
6.你认为线程重要的方面有哪些?(我把线程牵扯到的问题都说出来了)
## 反射 ##
1.反射及暴力反射
1.反射的概念应用
2.类加载器
所谓类加载器: 就是加载类的工具.类加载器也是java类,类加载器的委托机制:
java中的所有类加载器采用具有父子关系的树形结构进行组织,在实例化每个类加载器对象时,
需要为其指定一个父级类加载器对象或者默认采用系统类加载器为其父级类加载.
每个类类加载器加载时,又先委托给其上级加载器,叫做类加载器的委托机制.
(我面试的时候定义没有具体说那么清楚,但是大概就是这个意思)
系统默认的有哪几个类加载器?
1.BootStrap 类不是java类,是用C++编写的,我们在Java中看不到它,是null.他是加载java类的工具.
2.Extension ClassLoader 用来加载扩展类.
3.AppClassLoader 是加载Classpath路径的.
3.动态代理的概念
JVM可以在运行期动态生成类的字节码,这种动态生成往往被用作代理类,即为动态代理.
4.动态代理机制
其实动态代理机制最核心的就是InvocationHandler(调用处理器)这个接口
InvocationHandler 是代理实例的调用处理程序 实现的接口。
每个代理实例都具有一个关联的调用处理程序。对代理实例调用方法时,
将对方法调用进行编码并将其指派到它的调用处理程序的 invoke 方法。
1.反射获取Class对象三种实现
1.代理的作用
2.动态代理的三种实现
## 设计模式 ##
1.单例设计模式
1.你还知道其他的设计模式么?分别介绍一下
2.枚举和单例设计模式的区别
## IO流 ##
1.复制一个文件夹该怎么操作
1.为什么使用字符流
1.如何获得字节码文件?
①. 这个字节码文件已经加载到内存中来了,直接找到该字节码文件,返回就可以了.
②. 在虚拟机里还没有这个字节码文件,用类加载器Class.forName("java.lang.String")加载进来,把字节码缓存起来
,同时方法Class.forName("java.lang.String")返回该字节码文件.
Class.forName的作用:返回字节码文件.
1.如何使用字节流的?
1.什么时候会用到转换流呢?
1.复制文件和复制文件夹的区别
1.有一个文件夹(假如为A),下面有一个文件为A.java,然后把这个文件夹下的A.java文件,复制到本磁盘下文件为B的文件夹下,然后改扩展名为B.txt. 这个题目要求自己判断文件夹下是不是有子文件夹,然后实现自己的思路.
2.将C盘下某个文件中的全部内容(文本、MP3、文件夹等)复制到D盘下某个文件夹
3.字节流是否需要关流,是否需要刷新,为什么
4.复制文件夹的流程(牵扯到递归的知识)
## 枚举 ##
1.在枚举中,可以使用抽象方法么?
1.枚举中能不能定义抽象方法?
不能,因为枚举中都为固定常量,定义抽象方法没什么意义(有争论)
1.枚举中的静态方法
2.枚举是否可以继承类
## 泛型 ##
1.什么时候会用到泛型?举例说明下
## 异常 ##
1.try-catch-finally实现方式