普通类和抽象类有哪些区别?
- 普通类不能包含抽象方法 , 抽象类可以包含抽象方法 。
- 抽象类不能直接实例化 , 普通类可以直接实例化 。
- BIO:Block IO 同步阻塞式 IO , 平常使用的传统 IO , 它的特点是模式简单使用方便 , 并发处理能力低 。
- NIO:New IO 同步非阻塞 IO , 传统 IO 的升级 , 客户端和服务器端通过 Channel(通道)通讯 , 实现了多路复用 。
- AIO:Asynchronous IO 是 NIO 的升级 , 也叫 NIO2 , 实现了异步非堵塞 IO, 异步 IO 的操作基于事件和回调机制 。
JDK:Java Development Kit , java 开发工具包 , 提供了 java 的开发环境和运行环境 。
JRE:Java Runtime Environment , java 运行环境 , 提供了 java 的运行环境 。
什么是守护线程?守护线程(daemon thread) , 是一个服务线程 , 即服务其他线程的线程 。
线程的 run() 和 start() 有什么区别?
线程真正执行的操作是定义在 run() 方法中的 , 也称为线程体 。 而通过调用 Thread 类的 start() 方法来启动一个线程 。
synchronized 和 volatile 的区别?
volatile 可以告诉告诉 jvm 当前变量在寄存器(工作内存)中的值是不确定的 , 需要从主存中读取; synchronized 则是锁定当前变量 , 只有当前线程可以访问该变量 , 其他线程被阻塞住 。
- volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、
和类 级别的 。
- volatile仅能实现变量的修改可见性 , 不能保证原子性;而synchronized则可以保证变量的修改可见性和原子性 。
- volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞 。
- volatile标记的变量不会被编译器优化;synchronized标记的变量可以被编译器优化 。
如何获取?
转发分享此文 , 后台私信小编:“1”即可获取 。 (注:转发分享 , 感谢大家)
- 科学家|中国跨越式发展!“人造粮食”研发大获成功,有望解决粮食危机?
- Java|成功人士都喜欢什么样的手机?这几款外表商务,功能还非常强大
- |从2万元开始创业做到世界第一,任正非:华为没有成功,只有成长
- 芯片|龙芯3A5000成功运行Windows,《愤怒的小鸟》流畅运行
- 科学家|重大创举!科学家将活体人脑切下放培养皿,成功存活12小时
- Java|行业唯一!企查查入选2021年中国互联网综合实力前百强企业
- 科学家|凌晨时分,中星1D成功进入预定轨道
- |干细胞组织工程颠覆传统疗法,让不孕患者成功妊娠分娩
- 登月|阿波罗13号,登月史上一次“成功的失败”
- 星巴克|2021 年游戏开发中的 10 大编程语言:C++、Java、C#......