Java面试题——网络

59. 常见的异常类有哪些?

NullPointerException:当应用程序试图访问空对象时,则抛出该异常。
SQLException:提供关于数据库访问错误或其他错误信息的异常。
IndexOutOfBoundsException:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
NumberFormatException:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
FileNotFoundException:当试图打开指定路径名表示的文件失败时,抛出此异常。
IOException:当发生某种I/O异常时,抛出此异常。此类是失败或中断的I/O操作生成的异常的通用类。
ClassCastException:当试图将对象强制转换为不是实例的子类时,抛出该异常。
ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常。
IllegalArgumentException:抛出的异常表明向方法传递了一个不合法或不正确的参数。
ArithmeticException:当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
NegativeArraySizeException:如果应用程序试图创建大小为负的数组,则抛出该异常。
NoSuchMethodException:无法找到某一特定方法时,抛出该异常。
SecurityException:由安全管理器抛出的异常,指示存在安全侵犯。
UnsupportedOperationException:当不支持请求的操作时,抛出该异常。
RuntimeExceptionRuntimeException:是那些可能在Java虚拟机正常运行期间抛出的异常的超类。
网络

60. forward 和 redirect 的区别?

forward又叫转发,表示转发,当请求来到时,可以将请求转发到其他的指定服务,用户端不知晓。
redirect又叫重定向,表示转发,当请求发给A服务时,服务A返回重定向给客户端,客户端再去请求B服务。

61. tcp的三次握手和四次挥手是什么?

三次握手:主要是确定服务端和客户端的状态都正常。
第一次握手:客户端发送连接请求等待服务端确认;
第二次握手:服务端收到客户端请求信息进行确认,并返回信息给客户端。
第三次握手:客户端收到服务端的返回的信息,再次向服务端发送请求信息,表明连接成功。
四次挥手:
第一次挥手:客户端向服务器发送一个结束连接的请求,表示客户端没有数据要发送给服务端了。
第二次挥手:服务端收到了客户端发送的结束连接的请求,向客户端回了一个信息表明收到。
第三次挥手:服务端向客户端发送请求,请求关闭连接。
第四次挥手:客户端收到服务端发送的关闭连接请求后,向服务端发送收到。服务端收到客户端的信息,就关闭连接。客户端等待一定的时间后后依然没有收到回复,则说明服务端已经正常关闭,这样客户端就可以关闭连接了。

62. OSI 的七层模型都有哪些?

应用层:网络服务与最终用户的一个接口。
表示层:数据的表示、安全、压缩。
会话层:建立、管理、终止会话。
传输层:定义传输数据的协议端口号,以及流控和差错校验。
网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。
数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。
物理层:建立、维护、断开物理连接。

63. get 和 post 请求有哪些区别?

get请求一般是去取获取数据,post请求一般是去提交数据。
get因为参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的,不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内,post请求是没有的长度限制,请求数据是放在body中;
get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。
get请求可以被缓存,post请求不会被缓存。
get请求会被保存在浏览器历史记录当中,post不会。get请求可以被收藏为书签,因为参数就是url中,但post不能。它的参数不在url中。
深入理解
GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包),
对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200
(返回数据)表示成功;而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服务器响应 200 (返回数据)。

64. 说一下 JSONP 实现原理?

jsonp 即 json+padding,动态创建script标签,利用script标签的src属性可以获取任何域下的js脚本,通过这个特性(也可以说漏洞),服务器端不在返货json格式,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值