Java干货来袭,三大知识点区别,你能分得清吗?_java自学_java相关资讯_成都java培训机构

Java干货来袭,三大知识点区别,你能分得清吗?

  • 作者:创始人
  • 发表时间:2021-12-09 09:11:28

BIONIOAIO 有什么区别?Java操作字符串有什么区别?== equals 的区别是什么?

在大家学习Java的过程中会遇见各种各样的问题,BIONIOAIO 有什么区别?Java操作字符串有什么区别?== equals 的区别是什么?

BIONIOAIO 有什么区别?

BIOBlock IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。

NIONew IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。

AIOAsynchronous IO NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。

Java干货来袭,三大知识点区别

Java操作字符串有什么区别?

操作字符串的类有:StringStringBufferStringBuilder

String StringBufferStringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBufferStringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String

StringBuffer StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用StringBuilder,多线程环境下推荐使用 StringBuffer

== equals 的区别是什么?

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 StringInteger 等把它变成了值比较,所以一般情况下equals 比较的是值是否相等

对于基本类型和引用类型 == 的作用效果是不同的,如下所示

基本类型:比较的是值是否相同;

引用类型:比较的是引用是否相同;

关注知了堂成都Java培训带你了解更多Java相关知识点和相关问题。