java面试基础
Posted snowya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试基础相关的知识,希望对你有一定的参考价值。
1.jre与jdk的区别?
JRE: Java Runtime Environment
JDK:Java Development Kit
其中JRE是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的;
2.equals与==的区别是什么?
首先 ==是操作符,而equals()是方法。
其次,==是比较两个对象是否指向同一个对象,也就是说他们指向的对象的首地址是否相同
equals()可以通过重写equals方法从而比较对象的内容是否相同,如果不重写那么和==符号没有区别,都是比较的对象的引用是否指向同一个对象
举栗:对于string来说其equal()方法是对object方法的equals()进行了重写,从而比较的字符串序列是否相同如下:
3.String str="i"与 String str=new String("i")一样吗?
前者只是将这个常量的引用指给str
后者则在堆中再创建一个不同于常量区的"i"的String对象,然后引用指给str
4.如何将字符串反转?
public static String reverse1(String str)
int len=str.length();
if(len<=1)
return str;
String left=str.substring(0,len/2);
String right=str.substring(len/2,len);
return reverse5(right)+reverse5(left);
2:使用StringBuffer内置的reverse方法输出为字符串
public static String reverse2(String str)
return new StringBuffer(str).reverse().toString();
public static String reverse3(String str)
char [] arr =str.toCharArray();
String biu ="";
for(int i=arr.length-1;i>=0;i--)
biu+=arr[i];
return biu;
5.final 在 java 中有什么作用?
6.接口和抽象类有什么区别?
2) 都不能被实例化
3) 都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现。
2) 一个类只能继承一个直接父类,这个父类可以是具体的类也可是抽象类;但是一个类可以实现多个接口。
7.collection和collections的区别
Collection是集合类的上级接口,继承于他的接口主要有Set 和List.
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
8.List 、Set、 Map有什么区别和联系
以上是关于java面试基础的主要内容,如果未能解决你的问题,请参考以下文章