学习目标:JAVA面试八股文(一.Java基础篇)
提示:第四天开学
内容:
- 一周掌握 Java 基础面试八股文
学习内容:
提示:作者个人的计划
如下:
- 什么是 java 序列化,如何实现 java 序列化
- Http 常见的状态码
- .GET 和POST 的区别
- Cookie 和Session 的区别
学习产出:
提示:这里展示学习的内容
序列化是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序 列 化 的 实 现 : 将 需 要 被 序 列 化 的 类 实 现 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方 法 , implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。
HTTP(Hypertext Transfer Protocol)是用于在网络上传输超文本的协议。在HTTP中,每个请求和响应都会返回一个状态码,用来表示请求的处理结果。以下是一些常见的HTTP状态码及其含义:
200 OK:请求成功,服务器成功处理了请求。
201 Created:请求已成功,并在服务器上创建了新的资源。
204 No Content:服务器成功处理了请求,但没有返回任何内容。
301 Moved Permanently:请求的资源被永久移动到新的URL。
302 Found(或者使用 307 Temporary Redirect):请求的资源被临时移动到新的URL。
304 Not Modified:客户端可以使用缓存的版本,因为资源未被修改。
400 Bad Request:服务器无法理解客户端的请求,通常是由于语法错误。
401 Unauthorized:请求要求身份验证,客户端未提供有效的身份验证凭证。
403 Forbidden:服务器拒绝请求,客户端没有权限访问。
404 Not Found:服务器找不到请求的资源。
500 Internal Server Error:服务器内部错误,无法完成请求。
502 Bad Gateway:作为网关或代理的服务器从上游服务器收到无效的响应。
503 Service Unavailable:服务器当前无法处理请求,通常是由于过载或维护。
这只是一些常见的HTTP状态码,还有其他状态码可供使用。了解这些状态码可以帮助你更好地理解HTTP请求的处理结果,并进行相应的错误处理或重试机制。
GET 和 POST 都是HTTP协议中常用的请求方法,主要有以下的区别:
参数位置不同:GET 方法将请求参数放在 URL 后面,以 “?” 分隔,参数之间使用 “&” 连接,例如:http://example.com/path?param1=value1¶m2=value2;而 POST 方法将请求参数放在请求体中,请求头中包含 Content-Type 指示请求体类型。
请求方式不同:GET 方法是一种幂等操作,也就是说多次同样的 GET 请求返回的结果应该是一致的,并不会对服务器产生影响;而 POST 方法通常用于向服务器提交数据,可能会对服务器产生更改。
安全性不同:GET 方法的请求参数暴露在 URL 中,可能会被其他人获取到,因此不适合发送敏感信息;而 POST 方法的请求参数放在请求体中,相对更加安全。
缓存处理不同:GET 方法的响应可以被缓存起来,下次请求相同的 URL 时可以直接使用缓存,从而提高了访问速度;而 POST 方法的响应则不会被缓存。
数据长度限制不同:GET 请求的数据长度受到 URL 长度的限制,因此传输的数据量较小;而 POST 请求的数据长度没有限制,可以传输大量数据。
总的来说,GET 方法适用于数据量较小、安全性要求不高和幂等性要求的请求;而 POST 方法适用于提交数据、安全性要求较高的请求。在实际应用中,我们要根据具体情况选择使用哪种请求方法。
Cookie和Session是Web开发中常用的两种会话管理方式,它们有以下区别:
存储位置不同:Cookie是存储在客户端(浏览器)中的,而Session是存储在服务器上的。
数据存储方式不同:Cookie将数据以键值对的形式存储在客户端的浏览器中,每次请求都会将Cookie发送给服务器;而Session将数据存储在服务器上,客户端只会保存一个 SessionID,通过该ID与服务器进行会话数据的交互。
安全性不同:Cookie的安全性相对较低,因为存储在客户端,可能被窃取或篡改;而Session存储在服务器上,相对更安全。
存储容量不同:Cookie的存储容量有限,一般为4KB左右;而Session的存储容量受到服务器的限制,可以存储更多的数据。
生命周期不同:Cookie可以设置过期时间,可以在客户端保存一段时间;而Session默认情况下在客户端关闭后就会过期,或者服务器设置了过期时间。
跨域支持不同:Cookie可以跨域访问,可以在不同域名下共享,但需要注意安全性问题;而Session默认情况下不支持跨域访问。
综上所述,Cookie适用于存储较小、不敏感的数据,可以在客户端进行长期保存;而Session适用于存储较大、敏感的数据,可以在服务器端进行管理和控制。在实际应用中,我们根据需求和安全性要求选择适合的会话管理方式。
接下来就是JAVA高级篇的学习
天天学习,天天成长