Java 中 IO 流分为几种?
按功能来分:输入流(input)、输出流(output)。 按类型来分:字节流和字符流。 字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符为单位输入输出数据。

Java序列化中如果有些字段不想进行序列化,怎么办?
对于不想进行序列化的变量,使用transient关键字修饰。

transient关键字的作用是:阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被transient修饰的变量值不会被持久化和恢复。transient只能修饰变量,不能修饰类和方法。

既然有了字节流,为什么还要有字符流?
问题本质想问:不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢?

回答:字符流是由 Java 虚拟机将字节转换得到的,问题就出在这个过程还算是非常耗时,并且,如果我们不知道编码类型就很容易出现乱码问题。所以, I/O 流就干脆提供了一个直接操作字符的接口,方便我们平时对字符进行流操作。如果音频文件、图片等媒体文件用字节流比较好,如果涉及到字符的话使用字符流比较好。

BIO,NIO,AIO 有什么区别?
BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。

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

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

this 关键字的理解?
this关键字用于引用类的当前实例。 例如:

class Manager {
Employees[] employees;
void manageEmployees() {int totalEmp = this.employees.length;System.out.println("Total employees: " + totalEmp);this.report();
}void report() { }
} 

在上面的示例中,this关键字用于两个地方:

this.employees.length:访问类Manager的当前实例的变量。
this.report():调用类Manager的当前实例的方法。
此关键字是可选的,这意味着如果上面的示例在不使用此关键字的情况下表现相同。 但是,使用此关键字可能会使代码更易读或易懂。

免费领取大厂Java面试题:https://blog.csdn.net/kaikeba/article/details/111594371

Java常见面试题:BIO,NIO,AIO 有什么区别?相关推荐

  1. 开课吧-Java常见面试题:重载和重写的区别?

    重载和重写的区别? 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性. 重载发生在一个类中,同名的方法如果有不同的参数列表(类型不同.个数不同.顺序 ...

  2. Java常见面试题 Java面试必看 (一)

    本篇博客是本人收集网上Java相关的资料整理所得,仅供参考. 一.Java基础 1.JDK 和 JRE区别 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java ...

  3. Java常见面试题整理(一)

    Java常见面试题整理 字符串 抽象类与接口 集合 多线程 锁 IO流 网络编程 字符串 主要包括String.StringBuffer和StringBuilder基本概念 String相关知识 St ...

  4. 300+ Java常见面试题总结【JavaPub版】

    点赞再看,养成习惯 答案解析见文末 我是JavaPub,专注于面试.副业,技术人的成长记录. 这份[Java常见面试题总结]我想准备很久了,前面做面试官,后来自己也面了很多一线二线互联网公司,希望通过 ...

  5. 【面试题】Java常见面试题集锦

    Java常见面试题集锦 面试题模块 这份面试题,包含的内容了十九了模块:Java 基础.容器.多线程.反射.对象拷贝.Java Web 模块.异常.网络.设计模式.Spring/Spring MVC. ...

  6. 测试开发java常见面试题_Java常见面试题200+,学习、面试必备

    本套Java面试题,选取了企业面试最常问到的问题,可以做为Java工程师的面试宝典,也可以做为想要不断完善和扩充自己 java 技术的学习者. 主要包含: Java 基础.容器.多线程.反射.对象拷贝 ...

  7. Java常见面试题,2021年及答案汇总

    Java常见面试题,2021年及答案汇总 其实,博主还整理了,更多大厂面试题,直接下载吧 下载链接:高清172份,累计 7701 页大厂面试题 PDF 1.什么是ThreadPoolExecutor? ...

  8. Java常见面试题及答案汇总

    面临金三银四黄金跳槽季,不光是很多在职人员跃跃欲试,也有很多大学生积极地加入到应聘行列.作为技术出身的我们,找工作的一大前提就是技术是否能过关.而对于Java程序员来说,至少是两关的面试,这首个关卡就 ...

  9. 2018常见的java面试题_2018新版Java常见面试题

    千锋西安Java编程培训班的老师总结了2018新版Java常见面试题,一起来看! 1.1.java基础 ●面向对象的特征:继承.封装.多态 继承[构造器.protected关键字.向上转型Java实现 ...

最新文章

  1. socket用法linux,linux socket编程,要用到哪些函数,和用法介绍?_Linux_天涯问答_天涯社区...
  2. datatables 一列显示两个字段的数据_【tableau入门教程16】计算字段
  3. 阿里云 centos mysql 5.6_关于centOS安装配置mysql5.6那点事
  4. android 中 ViewPager 的平常用法 ViewPager+ Views
  5. ubuntu wiznote 无法显示内容 只有标题
  6. SWMM的改进版本,HS-SWMM的安装教程
  7. arcgis分析道路节点中心性degree,closeness,betweenness
  8. HDU 2122 Ice_cream’s world III
  9. vue中views新建文件夹的代码规范
  10. react18的SSR
  11. 51单片机c语言控制led显示屏,51单片机的中断方法以及对LED显示器的控制设计
  12. java方法头_java方法学习
  13. R语言学习 文本处理
  14. 空洞卷积(Dilated Convolutions)
  15. 信息编码与计算机语言,中文信息处理,是用计算机对中文(包括口语和书面语)进行转换、传输、存贮、分析等加工的科学。...
  16. BDD之单元测试(一):BDD出现的背景
  17. C语言简单数独游戏终盘生成
  18. 火狐实用插件 Video DownloadHelper
  19. “零极限”的方法为什么如此神奇?
  20. 【八股文大白话整理】

热门文章

  1. [转载] python中numpy库的使用
  2. Tf中的NCE-loss实现学习【转载】
  3. Python socket – network programming tutorial
  4. gitlab git 安装
  5. 使用LIstView和自定义Adapter完成列表信息显示
  6. loadrunner四大部分
  7. 国内一些SCM相关论坛站点
  8. 2013年工作中用到的10个命令:11-20
  9. [Silverlight入门系列]动态创建控件和绑定
  10. 用FileOutputStream将内容写入到文本