你必须知道的Java面试题提炼

    秋风送爽,又是一年一度的秋招;

    浪花淘金,不知多少酸甜苦辣咸。

    ---------------------------------------------

    面试java的人如今漫山遍野,如何在群群的人群中略有底气,小可收集而成如下若干条为众人所知又不全为众人所知的知识点,你值得拥有

 

一、JDK和JRE的区别

 

 

二、两种变量

 

  大家都知道的是,基本数据类型变量存放的数据的值,引用类型变量存放的是数据的地址;大家都不太知道的是,JVM内为八种基本数据类型建立了缓冲区——常量区,每次创建新的基本类型变量时,先去缓冲区查找是否已存在该数据,若有则不新建数据。

 

三、方法传参

 

四、静态

结果:

 

  另外一个要注意的是,继承的父类有static

 

五、内部类




总结:

 

六、四种权限的范围

许多人以为权限只有三种,这里肯定先要纠正一下,第四种是没写关键字,默认包权限,又可叫做包权限











 总结:

只要跨包了,那就只有public可以被访问到

同一个包内,public和protected权限一样一样的

只要是private,除了自己谁都不许动

据说子类里的default无法访问,实际却访问到了

 

七、int 和 Integer


八大基本类型都有自己对应的包装类,所谓的自动拆箱和装箱就是如下图

 

 

八、String 和 StringBuffer


使用下面的就好了

 

九、vector和ListArray、HashTable和HashMap、StringBuffer和StringBuilder

以上三组的中两者的作用均类似,不过,前者为后者的线程同步安全状态

如:

在Java程序中,如果有大量拼接字符串的需要的话,应该使用StringBuffer和StringBuilder类,它们可以比避免不必要的string对象的产生,以提高程序的性能,它们两作用类似,只不过StringBuffer是线程安全的。

线程安全意味着多耗费资源,故不是很常用的那种

特别说明下HashTable和HashMap

 

十、字节流和字符流

二者的区别不言而喻了,字符流可以创建缓冲区缓冲读写文件为世人所赞扬,下面给出实现让大家自己瞧瞧

字节流:

字符流:



  

十一、序列化和反序列化

听起来神乎其神不知所云,实际上确实很少用到,序列化的作用是用流或者说以文件的方式来保存对象,实现的是Serializable接口,使用serialVersionUID来表示每一个对象,用ObjectOutputString和ObjectInputString来读取和保存对象

 

十二、Runnable和Thread的区别

Runnable是线程接口,被Thread类给实现了,此外Thread类还为线程多封装了一些辅助开发的东西,比如线程名字等等。

 

十三、Java的反射机制

http://java--hhf.iteye.com/blog/2047906

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值