关于java:java面试题难点总结

39次阅读

共计 1177 个字符,预计需要花费 3 分钟才能阅读完成。

20-12-29

1.java 中操作字符串都有哪些类?它们之间有什么区别?
操作字符串的类有:String、StringBuffer、StringBuilder。

String 和 StringBuffer、StringBuilder 的区别在于 String 申明的是不可变的对象,每次操作都会生成新的 String 对象,而后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 能够在原有对象的根底上进行操作,所以在常常扭转字符串内容的状况下最好不要应用 String。

StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程平安的,而 StringBuilder 是非线程平安的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下举荐应用 StringBuilder,多线程环境下举荐应用 StringBuffer。
2.String str=”i” 与 String str=new String(“i”) 一样吗?
不一样,因为内存的调配形式不一样。String str=”i” 的形式,java 虚构机会将其调配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中。
因为他 new 了 new 就会进堆内存

  1. String 类的罕用办法都有那些?
  • indexOf():返回指定字符的索引。
  • charAt():返回指定索引处的字符。
  • replace():字符串替换。
  • trim():去除字符串两端空白。
  • split():宰割字符串,返回一个宰割后的字符串数组。
  • getBytes():返回字符串的 byte 类型数组。
  • length():返回字符串长度。
  • toLowerCase():将字符串转成小写字母。
  • toUpperCase():将字符串转成大写字符。
  • substring():截取字符串。
  • equals():字符串比拟。

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

  • 实现:抽象类的子类应用 extends 来继承;接口必须应用 implements 来实现接口。
  • 构造函数:抽象类能够有构造函数;接口不能有。
  • main 办法:抽象类能够有 main 办法,并且咱们能运行它;接口不能有 main 办法。
  • 实现数量:类能够实现很多个接口;然而只能继承一个抽象类。
  • 拜访修饰符:接口中的办法默认应用 public 润饰;抽象类中的办法能够是任意拜访修饰符。

5.BIO、NIO、AIO 有什么区别?

  • BIO:Block IO 同步阻塞式 IO,就是咱们平时应用的传统 IO,它的特点是模式简略使用方便,并发解决能力低。
  • NIO:New IO 同步非阻塞 IO,是传统 IO 的降级,客户端和服务器端通过 Channel(通道)通信,实现了多路复用。
  • AIO:Asynchronous IO 是 NIO 的降级,也叫 NIO2,实现了异步非梗塞 IO,异步 IO 的操作基于事件和回调机制。
正文完
 0