阿里巴巴面试题- - -Java体系最新面试题(7)

简介: ​目录基础篇26、 简述线程、程序、进程的基本概念。以及他们之间关系是什么?线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单

 前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈

🌐 推荐一款找工作神器网站:《牛客网》 |笔试题库|面试经验|实习招聘内推|

image.gif编辑

目录

基础篇

26、 简述线程、程序、进程的基本概念。以及他们之间关系是什么?

27、Java 序列化中如果有些字段不想进行序列化,怎么办?

28、说说Java 中 IO 流

29、 Java IO与 NIO的区别(补充)


基础篇

26、 简述线程、程序、进程的基本概念。以及他们之间关系是什么?

线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。

进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每个进程还占有某些系统资源如 CPU 时间,内存空间,文件,输入输出设备的使用权等等。换句话说,当程序在执行时,将会被操作系统载入内存

中。 线程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。从另一角度来说,进程属于操作系统的范畴,主要是同一段时间内,可以同时执行一个以上的程序,而线程则是在同一程序内几乎同时执行一个以上的程序段。

27、Java 序列化中如果有些字段不想进行序列化,怎么办?

对于不想进行序列化的变量,使用 transient 关键字修饰。

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

28、说说Java 中 IO 流

Java 中 IO 流分为几种?

按照流的流向分,可以分为输入流和输出流;

按照操作单元划分,可以划分为字节流和字符流;按照流的角色划分为节点流和处理流。

Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。

InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。

OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。

按操作方式分类结构图:

image.gif编辑

按操作对象分类结构图:

image.gif编辑

29、 Java IO与 NIO的区别(补充)

NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,

NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。

本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~

相关文章
|
存储 缓存 NoSQL
2023年一线JAVA面试题
2023年一线JAVA面试题
99 0
|
存储 Java
阿里巴巴面试题- - -Java体系最新面试题(9)
阿里巴巴面试题- - -Java体系最新面试题(9)
|
存储 缓存 安全
阿里巴巴面试题- - -Java体系最新面试题(十)
阿里巴巴面试题- - -Java体系最新面试题(十)
|
存储 Java API
阿里巴巴面试题- - -Java体系最新面试题(7)
阿里巴巴面试题- - -Java体系最新面试题(7)
|
监控 Java
阿里巴巴面试题- - -Java体系最新面试题(十一)
阿里巴巴面试题- - -Java体系最新面试题(十一)
|
安全 Java 编译器
阿里巴巴面试题- - -Java体系最新面试题(2022内部资料)
阿里巴巴面试题- - -Java体系最新面试题(2022内部资料)
|
消息中间件 安全 Java
阿里巴巴面试题- - -Java体系最新面试题(2022资料)
​ 目录 基础篇 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 3、与平台无关性(JVM是Java跨平台使用的根本) 4、可靠安全 5、支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发 面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封
155 0
阿里巴巴面试题- - -Java体系最新面试题(2022资料)
|
存储 缓存 安全
阿里巴巴面试题- - -Java体系最新面试题(4)
阿里巴巴面试题- - -Java体系最新面试题(4)
|
存储 安全 算法
阿里巴巴面试题- - -Java体系最新面试题(3)
阿里巴巴面试题- - -Java体系最新面试题(3)
阿里巴巴面试题- - -Java体系最新面试题(2)
阿里巴巴面试题- - -Java体系最新面试题(2)