一、Java 基础
1.JDK 和 JRE 有什么区别?
jdk:java development kit
jre:java runtime Environment
jdk是面向开发人员的,是开发工具包,包括开发人员需要用到的一些类。
jre是java运行时环境,包括java虚拟机等,是提供给使用java的人用的
2.== 和 equals 的区别是什么?
==比较的是两个对象,包括对象的地址位,如果比较的两个对象地址位不同,值相同也会返回false
equals比较的是两个字符串的值,只要值相同,就会返回true
3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
不对,hashCode也是可以重写的,所以不一定。
反之,如果equals()相同,那么hashCode是一定相等的。
4.final 在 java 中有什么作用?
修饰类不可被继承;
修饰方法不可被重写;
修饰变量不能被修改。
篇幅限制下面就只能给大家展示小册部分内容了。这份面试笔记包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题
需要全套面试笔记的【点击此处即可】即可免费获取
5.JAVA 中的 Math.round(-1.5) 等于多少?
-1
向上取整Math.ceil();
向下取整Math.floor();
四舍五入Math.round(x); //==Math.floor(x+0.5)
6.String 属于基础的数据类型吗?
不属于,是final修饰的Java类。
java中的基本数据类型:byte、char、short、int、long、float、double、boolean
7.java 中操作字符串都有哪些类?它们之间有什么区别?
String、StringBuffer、StringBuilder
String类型的字符串是不可变的,StringBuffer和StringBuilder是可以对同一个对象做更新操作的
StringBuffer是线程安全的,StringBuilder不是线程安全的。
8.String str="i"与 String str=new String("i")一样吗?
不一样。他们不是同一个对象
前者如果定义多个变量都为相同值的话,会共用同一个地址,创建的对象应该放在了常量池中;
后者是创建了一个新的对象,放在的是堆内存中。
9.如何将字符串反转?
使用StringBuffer 或 StringBuilder 的 reverse 成员方法。