Java基础知识点有哪些?如何快速步入Java行业?作为目前应用最广泛的编程语言之一,Java吸引了大量的人学习加入。Java编程是一门面向对象编程语言,具有简单易用、功能强大的特点,是目前互联网行业应用最广泛的编程语言之一。下面为大家介绍一下Java相关知识点。

  1.http协议的状态码有哪些?含义是什么?

  200 OK 客户端请求成功

  301Moved Permanently(永久移除),请求的URL已移走。Response中应该包含一个 Location URL,说明资源现在所处的位置

  302found 重定向

  400Bad Request 客户端请求有语法错误,不能被服务器所理解

  401Unauthorized 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

  403 Forbidden 服务器收到请求,但是拒绝提供服务

  404 Not Found 请求资源不存在,eg:输入了错误的URL

  500 Internal Server Error 服务器发生不可预期的错误

  503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常

  2.http的请求报文组成?

  请求行:

  1、是请求方法,GET和POST是最常见的http方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。

  2、为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。

  3、是协议名称及版本号。

  请求头:

  是http的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。

  与缓存相关的规则信息,均包含在header中

  请求体:

  是报文体,它将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的方式传递请求参数。

  3.一次完整的http请求是怎样的?

  域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户

  4.Tcp和Udp的区别?

  1、基于连接与无连接;

  2、对系统资源的要求(TCP较多,UDP少);

  3、UDP程序结构较简单;

  4、流模式与数据报模式 ;

  5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

  6.TCP的三次握手与四次挥手

  第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

  7.为什么连接的时候是三次握手,关闭的时候却是四次握手?

  因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

  8.如果已经建立了连接,但是客户端突然出现故障了怎么办?

  TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

  9.http中重定向和请求转发的区别?

  本质区别:转发是服务器行为,重定向是客户端行为。

  重定向特点:两次请求,浏览器地址发生变化,可以访问自己web之外的资源,传输的数据会丢失。

  请求转发特点:一次强求,浏览器地址不变,访问的是自己本身的web资源,传输的数据不会丢失。

  10.GET和POST的区别?

  1、GET请求的数据会附在URL之后(就是把数据放置在http协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=zhagnsan&password=123456。POST 把提交的数据则放置在是http包的包体中。

  2、GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据。其实这样说是错误的,不准确的:“GET方式提交的数据最多只能是1024字节",因为 GET 是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,http协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

  3、POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面 GET 提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的 Security的含义,比如:通过GET 提交数据,用户名和密码将明文出现在URL上,因为登录页面有可能被浏览器缓存,其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用 GET 提交数据还可能会造成Cross-site request forgery攻击。

  4、Get 是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上GET和POST只是发送机制不同,并不是一个取一个发。

  如果你想了解更多了解Java基础知识点,想快速入行Java行业,为了能够实现快速就业、同时也是出于对高薪的追求,可以选择专业学习一下。

java三次登录锁定_Java基础知识点有哪些 如何快速步入Java行业相关推荐

  1. java三个环境变量_java基础(一):我对java的三个环境变量的简单理解和配置

    首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...

  2. 视频教程-基础篇:Spring MVC快速开发-Java

    基础篇:Spring MVC快速开发 毕业于清华大学软件学院软件工程专业,曾在Accenture.IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构 ...

  3. java重要基础知识点_java基础知识点整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 java基础知识点整理1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. ...

  4. 百度 java基础_java基础知识点整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 java基础知识点整理1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. ...

  5. java 多态判断非空_Java 面试知识点解析基础知识

    文本公众号来源: 我没有三颗心脏作者: 我没有三颗心脏 (一)Java 基础知识点 1)面向对象的特性有哪些? 答:封装.继承和多态(应要多算一个那就是抽象) 封装是指将对象的实现细节隐藏起来,然后通 ...

  6. java基础的知识_Java基础知识点(一)

    前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...

  7. java继承原理内存角度_Java基础知识巩固

    最近发现自己的Java基础知识还是有点薄弱,刚好有点空闲时间进行再补一补,然后进行整理一下,方便自己以后复习.其实个人认为Java基础还是很重要的,不管从事Java后端开发还是Android开发,Ja ...

  8. java商场购物幸运客户练习题_JAVA基础语法练习(一)

    一.基础案例 1.训练案例1 1.1.训练描述 键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数 import java.util.Scanner; public class X2 ...

  9. java增强型for报错_Java基础——增强for循环

    java1.5版本引入了一个增强for循环,基本原理和for循环类似. 语法声明:for(表达式:条件表达式) 举例:for (String str : set) 解释:set代表set集合,str代 ...

最新文章

  1. MicroSoft的Office使用攻略
  2. exsi主机之间使用scp拷贝文件超时问题
  3. 火星人敏捷开发手册 原10.31版本已于10.14提前发布,特此通知
  4. vue中实现美团双级联动菜单
  5. 全国计算机c二级编程题,全国计算机二级C上机 编程题.doc
  6. 机器学习中的Numpy库基础——向量、矩阵和数组
  7. oracle 结果集比较,Oracle 结果集之间的问题(积并交叉)
  8. js进阶 10-3 jquery中为什么用document.ready方法
  9. Spark 交互式处理上百 TB 数据
  10. java openfileoutput_java-openFileOutput在单例类中不能正常工作-想...
  11. ajax 跨域 java_java+jQueryd的ajax跨域方法
  12. cnnvd爬取漏洞信息
  13. python拟合统计分布_利用 Python Fitter 判断数据样本符合那种分布函数
  14. 2020.10.24--AI--波纹便签、字体设计、徽章制作
  15. Fortify扫描漏洞解决方案
  16. vim gvim技巧大全
  17. Couldnt check the working tree for unmerged files because of an error. bad signature index file cor
  18. Vue.js学习笔记 2022 04 17
  19. 天合光能将进行股东投票决议退市事宜
  20. CSP_201809-1_卖菜

热门文章

  1. 优秀网页案例教你如何排好内容页
  2. 圣诞节手绘插画素材,点燃节日温情
  3. 设计实用素材|促销海报设计技巧
  4. 解锁秋天\秋季借势的海波设计密码!
  5. 完整的金融类APP UI设计素材,深度学习临摹
  6. mysql日志输出到syslog_在chroot环境下将MySQL日志输出到syslog
  7. 《Web前端开发最佳实践》学习笔记
  8. 软件调试中的断点分类
  9. C语言libcurl例程:multi 多线程,多任务
  10. java多元解析方程组