Java基础面试知识点总结
创始人
2024-05-28 23:50:07
0

Java 基础

1. JDK 和 JRE 有什么区别

JDK 是Java的开发工具包,包含各种类库,并且包含了JRE,javac是jdk中的。
JRE 是 java 程序的运行环境,安装过程中自动添加PATH.

2. == 和 equals 的区别是什么?

一,对于 == ,比较的是值是否相等如果比较的是基本的数据类型的变量,则直接比较其存储的值是否相等,如果比较的是引用数据类型,则比较的是所指向的对象的地址值。
二,equals不能作用于基本数据类型,它比较的是是否相同的对象,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象地址值,String和Date等类对equals方法进行重写,比较的则是所指向的对象内容。

3. 两个对象的HashCode()相同,则equals()也为true,对嘛?

首先,两个对象equals相等,hashcode 一定相等;但是hashcode相等时,equals不一定相等。
其次,两个不同的对象,因为可能存在哈希碰撞,所以hashcode可能是相等的,但是显然equal不为true,还有就是,在objiect类中,euqals方法还是用的 == 来判断的, 对于对象而言比较的是地址值,所以equals相等hashcode一定一样,反之就不一定了。

4.final 在 Java 中有什么作用?

final 关键字可作用于类,类属性和方法;
作用于类上时,该类不能被继承;
作用于属性时,该属性不能被重新复制;
作用于方法时,该方法不能被重写;

5. Java 中的 Math.round(-1.5)等于多少?

Math的 round 方法是四舍五入,如果参数是负数,则往大的数如,Math.round(-1.5) = -1;

6.String 属于基础的数据类型吗?

不是,String是一个类,是引用数据类型。

7.Java 中操作字符串都有哪些类?他们之间有什么区间?

有String,String Builder ,String Buffer
1.String是不可变的,每次对String的操作都会产生一个String对象
2.String Builder和String Buffer是可变的,能够被多次修改,并不会产生新的对象。
3.StringBuilder 是线程不安全的,StringBuffer是线程安全的。
4.StringBuilder的处理速度比StingBuffer要快;

8. String str = “i” 与 String str = new String(“i”)一样吗?

他们的值相等,用equals得到true,但是他们是两个对象,如果用==判断返回false。
且str="i"是直接在常量池中引用字符串,而new String(“i”) 是在堆中根据i再创建一个对象。

9. 如何将字符串反转?

  1. 通过StringBuilder 的 reverse() 方法可以直接反转 StringBuilder sb = new StringBuilder(“abc”); sb.reverse().toString();
  2. 通过String的toCharArray 方法可以获得字符串每一个字符并且转换为字符串数组然后循环从后往拼接即可。
  3. 递归的方法反转(当只有一个字符时,返回原字符;当有两个以上的字符时,返回结果为第二个字符开始的字符串+第一个字符)
    public String reverseString(String str){
    if((null == str) || str.length() < 2){
    return str;
    }
    return reverseString(str.subString(1)) + str.charAt(0);
    }

10. String 类的常用方法都有那些?

charAt(int index)返回指定索引处的字符
length() 返回字符串长度
split() 根据给定的正则表达式拆分字符串
toString() 返回此对象本身

11. 抽象类必须要有抽象方法吗?

抽象类可以没有抽象方法,但是如果一个类已经声明为抽象类,那么它也不能再实例化,不能直接构造该类对象。

12.普通类和抽象类有哪些区别?

  1. 抽象类不能被实例化,普通类反之。
  2. 抽象类的访问权限限于public和protected,如果为private的话,就不能被子类继承了。
  3. 如果一个类继承于抽象类,则它必须实现父类的抽象方法,如果不想实现,那么子类也必须是抽象类。

13.抽象类能使用final修饰吗?

不能,final修饰的类是不能被继承的,如果抽象类不能继承,就没意义了。

14. 接口和抽象类有什么区别?

  1. 抽象类可以有构造方法,接口不能有结构方法。
  2. 抽象类可以包含非抽象方法,接口则不能。
  3. 抽象类方法访问权是public,protected,接口中只能是public。
  4. 只能单继承,但是可以多实现。

15.Java 中 IO 流分为几种?

大的方面来说有两种:字节流和字符流
字符流继承于 InputStream,OutputStream
字符流继承于Reader,Writer

16. BIO,NIO,AIO 有什么区别?

1.BIO 表示同步阻塞式IO,交互方式是同步,阻塞方式,即客户端有连接请求时服务端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的开支。
2.NIO表示同步非阻塞IO,客户端发送的连接请求都会注册到多路复用器轮询到连接有I/O请求时才启动一个线程处理。
3.AIO表示异步非阻塞IO,客户端的I/O请求都是由操作系统先完成IO操作后再通知服务器应用来启动线程处理。

17. Files 的常用方法都有哪些?

String getName():返回File对象所表示的文件名或文件路径。
String getPath(): 返回File对象所对应的相对路径。
boolean exists():判断File对象的文件或者目录是否存在。
boolean isDirectory():判断File 对象是否是目录。

相关内容

热门资讯

一路书香作文800字【最新5... 一路书香作文800字 篇一一路书香我是一个热爱阅读的人,每次出行都会带上一本书。这次,我选择了一本名...
东风为我来高中作文(精简3篇... 东风为我来高中作文 篇一窗外的东风轻轻吹过,伴随着阳光的温暖,我踏上了高中的征程。高中生活对我来说是...
花儿高中作文【最新6篇】 花儿高中作文 篇一:我的初恋初恋是每个人都会经历的一段特殊时光,而我的初恋也是我高中时期最美好的回忆...
完杀(优选3篇) 完杀 篇一近年来,电影市场上涌现出了一部部精彩的动作片,其中《完杀》无疑是备受瞩目的佳作。这部电影以...
以桥为题的高一作文【优选6篇... 以桥为题的高一作文 篇一桥,是连接两岸的纽带,是沟通交流的通道。它不仅仅是一座建筑物,更是一种象征,...
爱在平安夜的高二作文(优选6... 爱在平安夜的高二作文 篇一平安夜,这是一个充满温暖和祝福的夜晚。在这个特别的夜晚里,人们用不同的方式...
空手道馆游高一作文【通用3篇... 空手道馆游高一作文 篇一空手道馆是一个我一直向往前往的地方。终于,在高一的时候,我有机会参观了一家空...
我在等待的作文(优质3篇) 我在等待的作文 篇一等待,是一种不可避免的存在。无论是等待父母的归来,还是等待考试的成绩,亦或是等待...
缺陷美作文 缺陷美作文  在日常的学习、工作、生活中,大家或多或少都会接触过作文吧,作文是人们把记忆中所存储的有...
以英雄为题的高中作文(实用6... 以英雄为题的高中作文 篇一英雄的品质英雄是我们心中最崇高的存在,他们以无私的奉献和勇敢的行动,为社会...
温故与知新高一优秀作文800... 温故与知新高一优秀作文800字 篇一温故与知新温故而知新,可以为师矣。这句话出自《论语·为政》一章,...
互相尊重作文【优秀3篇】 互相尊重作文 篇一互相尊重是一种非常重要的品质,它可以帮助我们建立良好的人际关系,促进社会和谐的发展...
青春期(最新6篇) 青春期 篇一青春期是人生中一个重要的阶段,它标志着从儿童向成年的过渡。在这个时期,我们身心发生了许多...
高中优秀作文(优选6篇) 高中优秀作文 篇一:人生的选择与坚持人生就像一场马拉松比赛,我们每个人都在这条赛道上奋力前行。而在这...
高一作文开学第一课【通用6篇... 高一作文开学第一课 篇一开学第一课,让我明白了“自律”的重要性新学期开始了,我迫不及待地踏入高一的大...
细节决定成败的议论文【精选6... 细节决定成败的议论文 篇一细节决定成败,这是一个被广泛认同的观点。在人们追求成功的道路上,细节往往是...
竹君作文800字左右高二(精... 竹君作文800字左右高二 篇一:探索未知的世界在我们的生活中,有许多未知的领域等待我们去探索。这些未...
山东高考满分作文:丝瓜藤与肉... 山东高考满分作文:丝瓜藤与肉豆须 篇一丝瓜藤与肉豆须丝瓜藤和肉豆须都是我家院子里常见的植物。它们虽然...
冲刺高考的高三励志作文800... 篇一:冲刺高考的高三励志作文800字高三是每个学生都经历的一个重要阶段,也是冲刺高考的关键时期。在这...
上善若水高一作文【精选3篇】 上善若水高一作文 篇一标题:善良的力量善良是一种美德,它如同水一样,温润而宽容,给予人们希望和力量。...