问:String 和StringBuffer的区别?
答:String是被final修饰的,所以他不可修改。StringBuffer是可以对字符串进行修改的。所以在对字符串进行大量修改的时候就要使用StringBuffer。
问:ArrayList与LinkedList的区别?
答:ArrayList与LinkedList都实现List接口。ArrayList是以数组形式存储数据,LinkedList以双向链表形式存储。ArrayList与LinkedList相比,查询更方便,而LinkedList对数据的增加删除更加方便。
问:HashMap与HashTable、HashSet的区别?
答:
HashMap与HashTable相比:
- HashMap是对Map接口的实现,HashTable实现的是Map接口和Dictionary抽象类。
- 两者主要区别是HashTable是线程安全的,而HashMap不是线程安全的,并且可以允许null作为key或value。
HashMap与HashSet相比:
- HashSet实现的是Set接口,元素不允许重复只存储了key,而HashMap里面的存储形式是key-value。
- HashSet添加元素用add(),HashMap用put()
问:TCP与UDP的区别?TCP工作在哪个层?
答:TCP是面向连接的,UDP是面向无连接的。在传输数据安全性上,TCP是安全传输的,TCP在连接的时候要进行三次握手,结束的时候有四次挥手。TCP工作在传输层。
问:什么是事务?
答:事务就是数据库操作的最小操作单元,是一系列的操作作为一个整体一起向系统提交,要么全完成,要么全失败。是一组不可分割的操作集合。事务有四个特性,ACID 原子性(Atomicity)、一致性(Consistency)、隔离线(Isolation)、持续性(Durability)
问:怎么实现多线程?
答:一是继承Thread类,可以通过调用start方法启动线程。二是实现Runnable接口。
问:讲解一下什么是Spring AOP?
答:Spring AOP是切面编程。通俗来讲,Spring AOP就是在原有功能上添加一些其他功能,在某一个类或者方法执行前后打一个标记,为软件进行横向拓展。
问:什么是Java序列化?
答:序列化是一种用来处理对象流的机制,例如当我们希望能够将一个Java对象变成字节流的形式传出去或者从一个字节流中恢复成一个Java对象。这时候就需要实现Serializable接口,Serializable中没有需要实现的方法,只是为了标注该类可以被序列化。综上,序列化是用来处理对象流的,对象流其实就是将对象内容进行流化,然后就可以对流化后的对象进行读写操作,也可将流化后的对象传输与网络之间。
问:说一说对Annotation注解的了解?(待补充)
答:Annotation可以用来标记,用来告诉编译器一些信息。编译时动态处理,比如动态生成代码。或者运行时动态处理,比如得到注解信息。
问:反射是什么?
答:
以上为本人个人的解答,如有不妥,还请指教!!
欢迎补充遇到的面试题