学习笔记

equals和==的区别

equals是比较内容是否相同,多用于引用数据类型

==是比较引用地址是否相同,一般多适用于基本数据类型比较

String、StringBuffer和StringBuilder的区别

  1. 首先最大的区别是String是不可变的,而StringBuffer和StringBuilder是可变的,即String为字符串常量,而StringBuilder和StringBuffer均为字符串变量
  2. String和StringBuffer是线程安全的,而StringBuilder是非线程安全的
  3. 最后String是java.lang.String而StringBuffer和StringBuilder都是继承自AbstractStringBuilder(是一个抽象类)
  4. 执行速度:这三个类在进行操作时的速度关系为:StringBuilder > StringBuffer > String。
  5. 由于String中进行操作时都会新建一个char[]数组代替原来的char[]数组,所以速度最慢
  6. StringBuffer线程安全,每个方法都有synchronized同步阻塞,所以操作速度受影响
  7. StringBuilder没有同步阻塞的限制,所以操作速度最快
  8. 使用场景:a 如果要操作少量的数据用 String;b 单线程操作字符串缓冲区 下操作大量数据用 StringBuilder;c 多线程操作字符串缓冲区下操作大量数据用 StringBuffer

原生XMLHttpRequest和FetchAPI的使用

原生XMLHttpRequest

//创建异步对象
var xhr = new XMLHttpRequest();

//post请求一定要添加请求头才行不然会报错
//xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xhr.open('GET', url);//设置响应类型
xhr.responseType = 'json';//响应数据格式
//发送时
xhr.onload = function() {
    console.log(xhr.response);
};
//加载时
xhr.onerror = function() {
  console.log("Oops, error");
};
//发送请求
xhr.send();
// 注册事件
xhr.onreadystatechange = function () {
// 这步为判断服务器是否正确响应
  if (xhr.readyState == 4 && xhr.status == 200) {
    console.log(xhr.responseText);
  } 
};

FetchAPI

//链式编程
fetch(url).then(function(response) {
    return response.json();//设置数据响应格式
//共有8种响应类型:clone();redirect();arrayBuffer();formData(;)blob();text();json()
//可简写response=>response.json()
}).then(function(data) {
    console.log(data);//响应回来的数据
}).catch(function(e) {
    console.log("Oops, error");//错误时
});

HTTP 协议的基本知识

8种请求方法:

1、 OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性

2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form

5、PUT
向指定资源位置上传其最新内容

6、DELETE
请求服务器删除Request-URL所标识的资源

7、TRACE
回显服务器收到的请求,主要用于测试或诊断

8**、CONNECT**
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

7步请求流程
  1. 建立TCP连接
  2. Web浏览器向Web服务器发送请求命令
  3. Web浏览器发送请求头信息
  4. Web服务器应答
  5. Web服务器发送应答头信息
  6. Web服务器向浏览器发送数据
  7. Web服务器关闭TCP连接

将Servlet 的接口设计和具体实现分开,这样做有什么好处?

  1. 易于封装。代码可封装起来,提供给接口使用
  2. 可直接使用户明白具体功能有哪些,简洁明了
  3. 二者分离,可减少之间的依赖,修改一方对另一方的影响较小
  4. 代码具有一定的保密性,实现接口即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值