1 / 11
文档名称:

java面试知识点总结.docx

格式:docx   大小:35KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java面试知识点总结.docx

上传人:资料分享 2019/8/22 文件大小:35 KB

下载得到文件列表

java面试知识点总结.docx

相关文档

文档介绍

文档介绍:java面试知识点总结不少人反映java面试的题目不简单,下面小编为大家搜索整理了java面试知识点总结,希望对大家有所帮助。,它们的大小及对应的封装类是什么?byte——1byte——Byteshort——2bytes——Shortint——4bytes——Integerlong——8bytes——Longfloat——4bytes——Floatdouble——8bytes——Doublechar——2bytes——Characterbooleanboolean数据类型非true即false。这个数据类型表示1bit,但是它的大小并没有精确定义。《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型单独使用是4个字节,在数组中又是1个字节。那虚拟机为什么要用int来代替boolean呢?为什么不用byte或short,这样不是更节省内存空间吗?实际上,使用int的原因是,对于当下32位的CPU来说,一次进行32位的数据交换更加高效。综上,我们可以知道:官方文档对boolean类型没有给出精确的定义,《Java虚拟机规范》给出了“单独时使用4个字节,boolean数组时1个字节”的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。这其实是一种时空权衡。boolean类型的封装类是Boolean。”==“与”equals()"的区别。《ThinkinJava》中说:“关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系”。"=="判断的是两个对象的内存地址是否一样,适用于原始数据类型和枚举类型(它们的变量存储的是值本身,而引用类型变量存储的是引用);equals是Object类的方法,Object对它的实现是比较内存地址,我们可以重写这个方法来自定义“相等”这个概念。比如类库中的String、Date等类就对这个方法进行了重写。综上,对于枚举类型和原始数据类型的相等性比较,应该使用"==";对于引用类型的相等性比较,应该使用equals方法。?强引用:通常我们使用new操作符创建一个对象时所返回的引用即为强引用软引用:若一个对象只能通过软引用到达,那么这个对象在内存不足时会被回收,可用于图片缓存中,内存不足时系统会自动回收不再使用的Bitmap弱引用:若一个对象只能通过弱引用到达,那么它就会被回收(即使内存充足),同样可用于图片缓存中,这时候只要Bitmap不再使用就会被回收虚引用:虚引用是Java中最“弱”的引用,通过它甚至无法获取被引用的对象,它存在的唯一作用就是当它指向的对象回收时,它本身会被加入到引用队列中,这样我们可以知道它指向的对象何时被销毁。?clone(),equals(),hashCode(),toString(),notify(),notifyAll(),wait(),finalize(),getClass()?,LinkedList,Vector的区别是什么?ArrayList:内部采用数组存储元素,支持高效随机访问,支持动态调整大小LinkedList:内部采用链表来存储元素,支持快速插入/删除元素,但不支持高效地随机访问Vector:,StringBuilder,StringBuffer的区别是什么?String:不可变的字符序列,若要向其中添加新字符需要创建一个新的String对象StringBuilder:可变字符序列,支持向其中添加新字符(无需创建新对象)StringBuffer:,Set,List,Queue、Stack的特点及用法。Map:Java中存储键值对的数据类型都实现了这个接口,表示“映射表”。支持的两个核心操作是get(Objectkey)以及put(Kkey,Vvalue),分别用来获取键对应的值以及向映射表中插入键值对。Set:实现了这个接口的集合类型中不允许存在重复的元素,代表数学意义上的“集合”。它所支持的核心操作有add(Ee),remove(Objecto),contains(O