Java面试常问题目
Java类别问题String与StringBuilder、StringBuffer的区别如果要操作少量的数据用 = String单线程操作字符串缓冲区 下操作大量数据 = StringBuilder多
Java类别问题 1. String与StringBuilder、StringBuffer的区别 如果要操作少量的数据用 =String 单线程操作字符串缓冲区 下操作大量数据 =StringBuilder 多线程操作字符串缓冲区 下操作大量数据 =StringBuffer 2. Collection类,Collection包结构,与Collections的区别 Collection是集类,包含List有序列表,Set无序集合以及Map双列集合 Collection是集合类的上级接口,子接口主要有Set 和List、Map。 Collections是针对集合类的一个帮助类,提供了操作集合的工具方法:一系列静态方 法实现对各种集合的搜索、排序、线程安全化等操作。 3. java哪些集合类是线程安全的 vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不 太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑 的。 statck:堆栈类,先进后出 enumeration:枚举,相当于迭代器 hashtable:就比hashmap多了个线程安全 4. 线程安全是什么意思 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时 候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的 方法进行访问 5. 九种基本数据类型的大小,以及他们的封装类。 java提供了一组基本数据类型,包括boolean, byte, char, short, int, long, float, double, void. 同时,java也提供了这些类型的封装类,分别为Boolean, Byte, Character, Short, Integer, Long, Float, Double, Void 既然提供了基本类型,为什么还要使用封装类呢 比如,如果想使用List来保存数值,由于List中只能添加对象,另外,有些情况下, 我们也会编写诸如func(Object o)的这种方法 6. Switch能否用string做参数 在Java 7之前,switch 只能支持 byte、short、char、int或者其对应的封装类以及 Enum 类型。在 Java 7中,String支持被加上了。 7. equals与==的区别。 1.==是一个运算符。 2.Equals则是Object对象的方法,可以.(点)出来。 8. Java的四种引用,强弱软虚,用到的场景 1.强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不 可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出

