跟着小小学会这些 Java 工程师面试题,月薪至少 3 W

Hi! 我是小小,今天的主要内容是讲解一份Java工程师必备面试题,学会了这些面试题,面试至少三万起步。

File常用方法有哪些

Files.exists() 检测文件路径是否存在
Files.createFile() 用于创建文件
Files.createDirectory() 用于创建文件夹
Files.delete() 用于删除一个文件或者目录
Files.copy() 用于复制文件
Files.move() 用于移动文件
Files.size() 查看文件个数
Files.read() 读取文件
Files.write() 写入文件
BIO,AIO,NIO 有什么区别
BIO,同步阻塞模型I/O模型,数据读取写入必须阻塞在一个线程内等待其完成。
NIO 同步阻塞模型,用一个线程不断的轮询模型状态,通过状态,查看下一步的操作。
AIO,异步非阻塞I/O模型,通过系统通知对应的线程处理相应的I/O.当线程处理完毕以后,会自动通知对应的模型。

Java 中的 IO 流有几种

如图所示

Java中的 IO 有五个类一个接口,OutputStream,InputStream,Writer,Reader,一个接口是 Serializable。
其分为三大类,为流部分,IO的主体部分,非流式部分,一些辅助类,其他类,相关的线程安全同步类。

接口和抽象类有什么区别

抽象类可以有默认方法的实现,其实现也是抽象的,但是接口根本不存在方法的实现。
实现抽象类必须使用关键字extends来继承,如果子类不是抽象类,必须提供抽象类中所有方法声明的实现,子类使用关键字implements关键字实现接口。
抽象类可以有构造器,但是接口不能有构造器。
抽象类可以有public,protected,default这些修饰符。
接口方法默认修饰符是public,不能使用其他修饰符。
抽象类在Java语言中表示的是一种继承关系,一个子类只能存在一个父类,但是可以有多个接口。
抽象方法比接口速度要快。

抽象类能使用final修饰吗?

不能,抽象类用于被继承,final修饰符代表不可修改,不可继承。

普通类和抽象类和接口有哪些区别

普通类可以去实例化调用。接口不能实例化调用
普通类和抽象类都可以被继承。

抽象类必须要有抽象方法吗

不必须,抽象类必须用关键字abstract修饰,可以不含有抽象方法,如果一个类包含抽象方法,则该类必须是抽象类。

String的常用方法

length 返回长度
charAt 求字符串某一位置的字符
substring 提取子串
compareTo 进行字符串比较
concat 进行字符串连接
indexOf 字符串查找
toLowerCase 大小写转换
replace 字符串替换
trim 去除空格
split 使用str作为分隔符进行字符串分解。

字符串如何反转

使用 reverse 函数实现

public class StringReverseExample{
   public static void main(String[] args){
      String string="runoob";
      String reverse = new StringBuffer(string).reverse().toString();
      System.out.println("字符串反转前:"+string);
      System.out.println("字符串反转后:"+reverse);
   }
}

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

不一样,一个分配到常量池中,一个分配到堆中。

Java 操作字符串的有哪些类

String final 修饰,
StringBuffer 对字符串的操作加锁,保证线程安全
StringBuilder 不保证线程安全

String 属于基础数据类型吗

不属于,属于一个类,是java编程语言中的字符串。

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

值为-1,0.5的时候向右取整,直接舍弃0.5

final 在 java 中有什么作用?

final 关键字可以用来修饰类,方法和变量。当用final修饰一个类的时候,表明这个类不能被继承,也就是说,如果一个类里永远不然他被继承,就用final进行修饰

hashCode相同,equesh 一定相同吗?

0、hashCode()返回该对象的哈希码值;equals()返回两个对象是否相等。

1、HashCode 用于在散列的存储结构中确定对象的存储地址。

2、如果两个对象equals()相等,那么两个对象的hashCode()方法返回的结果也必然相等。

3、如果两个对象的 hashCode()相同,则 equals()却不一定相等。

4、如果重写equals()方法,必须重写hashCode()方法,以保证equals方法相等时两个对象hashcode返回相同的值。(API上有标注:请注意,通常需要在重写此方法时覆盖hashCode方法,以便维护hashCode方法的常规协定,该方法声明相等的对象必须具有相等的哈希代码。)

JDK 和 JRE 的区别

JDK Java 开发工具包
JRE Java 运行环境。

我是小小,一枚双鱼座的程序猿,我是小小,我们下期再见。


猜你喜欢

转载自blog.csdn.net/pisa8559/article/details/111042656