每日五题(java基础)
来源:互联网 发布:mac玩魔兽世界怎么样 编辑:程序博客网 时间:2024/06/05 06:13
这些问题面试比较常见
1. String 和 StringBuffer,StringBuilder的区别
答:
简单地说,String和其余两者就是一个变量和常量的关系。StringBuffer和StringBuilder的对象的内容可以修改,始终为同一个对象;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
而StringBuffer和StringBuilder的区别在于StringBuffer支持并发操作,线性安全的,适 合多线程中使用。
StringBuilder不支持并发操作,线性不安全的,不适合多线程中使用。新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。
对于三者使用的总结:
1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
2.HashMap和HashTable的区别?
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,
HashMap的特点是,效率高,允许空值,线程不同步
HashTable的特点是,效率低,不允许空值,线程同步
TreeMap的特点是,所有元素保持一个固定的顺序,可用于Map集合中元素排序,不允许键对象是null
3 collection与collections有什么区别
Collection是集合类的上级接口,继承于他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
List, Set, Map是否继承自Collection接口? List,Set是 Map不是
4.ArrayList和Vector的区别。
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一倍,而ArrayList却是原来的一半
5.final、finally、finalize的区别与用法
final用于声明属性,方法和类,分别表示属性不可便,方法不可覆盖,类不可被继承
finally是异常处理语句结构的一部分。表示总是执行
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法,提供垃圾回收集时的其他资源回收,例如过比文件
- 每日五题(java基础)
- 每日五题(java基础)
- 每日五题(java基础)
- 每日java基础
- 每日五题(mybatis)
- 每日五题
- 每日五题(jsp)
- 每日五题(Spring)
- 每日五题(线程)
- Java面试题每日五题(2010/02/26)
- JAVA自学之每日一题(五)
- 每日一题(五)
- 每日五题(随记)
- 每日五题(struts2)
- 每日五题(线程)
- 每日一题 No.43 Java基础学习(一)
- 【每日一题】Java 基本数据类型基础面试题
- [每日一题]Java 基本数据类型基础面试题
- Hadoop生态概览
- 实现iframe在mobile上滚动
- 导航栏互相加载的栈操作问题
- android学习笔记
- CPP线程:生产者与消费者的问题
- 每日五题(java基础)
- 介绍几个好用的android自定义控件
- 七款Debug工具推荐:iOS开发必备的调试利器
- iOS各种调试
- Java中的static关键字解析
- android:layout_weight 权重
- 正则表达式编程实例
- 多线程笔试面试题汇总
- AngularJs学习经验汇集