class="p0">? ? 秋风送爽,又是一年一度的秋招;
? ? 浪花淘金,不知多少酸甜苦辣咸。
? ? ---------------------------------------------
? ? 面试java的人如今漫山遍野,如何在群群的人群中略有底气,小可收集而成如下若干条为众人所知又不全为众人所知的知识点,你值得拥有
?
一、JDK和JRE的区别
?
?
二、两种变量
?
??大家都知道的是,基本数据类型变量存放的数据的值,引用类型变量存放的是数据的地址;大家都不太知道的是,JVM内为八种基本数据类型建立了缓冲区——常量区,每次创建新的基本类型变量时,先去缓冲区查找是否已存在该数据,若有则不新建数据。
?
三、方法传参
?
四、静态
结果:
?
??另外一个要注意的是,继承的父类有static
?
五、内部类
总结:
?
六、四种权限的范围
许多人以为权限只有三种,这里肯定先要纠正一下,第四种是没写关键字,默认包权限,又可叫做包权限
?总结:
只要跨包了,那就只有public可以被访问到
同一个包内,public和protected权限一样一样的
只要是private,除了自己谁都不许动
据说子类里的default无法访问,实际却访问到了
?
七、int 和 Integer
八大基本类型都有自己对应的包装类,所谓的自动拆箱和装箱就是如下图
?
?
八、String 和 StringBuffer
DBA30C2E8A.png">
使用下面的就好了
?
九、vector和ListArray、HashTable和HashMap、StringBuilder和StringBuffer
以上三组的中两者的作用均类似,不过,前者为后者的线程同步安全状态
如:
线程安全意味着多耗费资源,故不是很常用的那种
特别说明下HashTable和HashMap
?
十、字节流和字符流
二者的区别不言而喻了,字符流可以创建缓冲区缓冲读写文件为世人所赞扬,下面给出实现让大家自己瞧瞧
字节流:
字符流:
??
十一、序列化和反序列化
听起来神乎其神不知所云,实际上确实很少用到,序列化的作用是用流或者说以文件的方式来保存对象,实现的是Serializable接口,使用serialVersionUID来表示每一个对象,用ObjectOutputString和ObjectInputString来读取和保存对象
?
十二、Runnable和Thread的区别
Runnable是线程接口,被Thread类给实现了,此外Thread类还为线程多封装了一些辅助开发的东西,比如线程名字等等。
?
十三、Java的反射机制
http://java--hhf.iteye.com/blog/2047906