附加面试题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“补充部分面试题”。
1.Collection 和 Collections的区别。
Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
2.String s = new String(“xyz”);创建了几个String Object?
两个“xyz”本身也属于一个字符串对象
3.JDK与JRE的区别
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),开发环境和Java基础的类库(即Java API 包括rt.jar)。
4.short s1 = 1;s1 = s1 + 1;有什么错? short s1 = 1;s1 += 1;有什么错?
short s1 = 1;s1 = s1 + 1;(s1+1运算结果是int型,需要强制转换类型)
short s1 = 1;s1 += 1;(可以正确编译)5.简述synchronized和java.util.concurrent.locks.Lock的异同?
主要相同点:Lock能完成synchronized所实现的所有功能
主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如,它的tryLock方法可以非阻塞方式去拿锁。
6.heap和stack有什么区别。
java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。
堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用new创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用final修饰后,放在堆中,而不是栈中。
7.Comparator和Comparable在排序中的区别
Comparable 用作默认的比较方式
Comparator 用作自定义的比较方式,当默认的比较方式不适用时或者没有提供默认的比较方式,使用Comparator就非常有用。
像Arrays和Collections中的排序方法,当不指定Comparator时使用的就是默认排序方式,也就是使用Comparable。指定Comparator时就是使用提供的比较器。
sort(Object[])所有的对象都必须实现Comparable接口,它用来确定对象之间的大小关系sort(Object[], Comparator)对象不必实现Comparable接口,由Comparator来确定对象之间的大小关系。(具体使用方法请查阅jdk文档)
有关SQL方面的面试题需要学生熟练掌握链接查询。(内外连接)笔试题必考
Java基础方面,细节很重要,比如a%b,a与b都必须是整型吗? 面试时需体现出自信,回答问题干脆利索,尽量以自己的理解用以生活中的案例给予回答。
设计模式属于面试必问,比如常用的设计模式,某些设计模式的具体实现,或者以你的语言解释某个设计模式。