每日10道java面试题,日积月累 day 6

昔日

1. 什么是阻塞?什么是非阻塞?

阻塞:

当某个事件或者任务在执行过程中,它发出一个请求操作,但是由于该请求操作需要的条件不满足,那么就会一直在那等待,直至条件满足;

非阻塞:

当某个事件或者任务在执行过程中,它发出一个请求操作,如果该请求操作需要的条件不满足,会立即返回一个标志信息告知条件不满足,不会一直在那等待。

2. 同步IO是什么?异步IO是什么?

同步IO:

当用户发出IO请求操作之后,如果数据没有就绪,需要通过用户线程或者内核不断地去轮询数据是否就绪,当数据就绪时,再将数据从内核拷贝到用户线程。

异步IO:

只有IO请求操作的发出是由用户线程来进行的,IO操作的两个阶段都是由内核自动完成,然后发送通知告知用户线程IO操作已经完成。也就是说在异步IO中,不会对用户线程产生任何阻塞。

3. Java NIO 中的Buffer是什么?

缓冲区(Buffer)

缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区。

4. TCP和UDP的区别?

tcp:传输控制协议,提供的是面向连接、可靠的字节流服务

  1. 面向连接
  2. 点到点的通信;
  3. 高可靠性;
  4. 占用系统资源多、效率低;

udp:用户数据报协议,是一个简单的面向数据报的运输层协议。

  1. 速度快
  2. 操作简单
  3. 要求系统资源较少

5. Socket是什么?

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

6. 什么是HttpClient

提供高效的最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持HTTP 协议最新的版本和建议。ommons-httpclient项目:来简化HTTP客户端与服务器进行各种通讯编程。

7. 说一下http协议?HTTP协议特点?

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写
HTTP是一个基于TCP/IP通信协议来传递数据

http协议特点:

  1. http协议是无状态的
  2. 采用TCP作为运输层协议,但http协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)
  3. http连接方式:持久连接(keep-alive),非持久连接(close)

8. 常见http状态码

200 —请求资源成功
301 —资源(网页等)被永久转移到其它URL
404 —请求的资源(网页等)不存在
405 —请求方式错误
500 —内部服务器错误

9. 什么是端口?

端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口。端口是操作系统可分配的一种资源;应用程序通过系统调用与某端口绑定后,传输层传给改端口的数据都被相应进程接收,相应进程发给传输层的数据都通过端口输出。

10. 什么是URI、URL、URN

  1. URI: Uniform Resource Identifier 统一资源标志符
  2. URL: Uniform Resource Locator 统一资源定位符
  3. URN: Uniform Resource Name 统一资源名称

URL和URN都是URI的子集
URL唯一地标识一个资源在Internet上的位置。
URN它命名资源但不指定如何定位资源 比如:只告诉你一个人的姓名,不告诉你这个人在哪

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值