- 博客(20)
- 收藏
- 关注
原创 拒绝策略
线程池工作中,当任务量很大,超过系统实际承载能力时,如果不去搭理它,系统很可能崩溃,所以jdk内置提供了四种线程池的拒绝策略,可以合理解决这种问题,当线程池中的线程已用完不能再创建,等待队列也排满,如果此时再有新任务,就会触发执行拒绝策略之一。
2023-09-29 16:29:32
100
原创 Promise
Promise.all()方法接受一个数组作为参数,数组中的对象都为Promise实例(如果不是promise对象,则会被用Promise.resolve转换为一个promise),数组中对象的状态决定all方法状态,数组中有一个对象的状态为失败则all方法状态为失败。如果返回非Promise的任意值,新的Promise变为resolve,data为返回的值;回调地狱:回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件。自动将常规函数转换成Promise,返回值也是一个Promise对象;
2023-07-05 15:44:03
68
原创 前端面试2-CSS
1)设置行高line-height,适用于单行的行内元素(inline/inline-block),将height和line-height设置为一样的数值,会在行内元素的上下都加上行高的1/2,从而达到垂直居中。6)百分比:把元素的基线(置换元素的底线)相对父元素的基线抬升或下沉指定的量,指定的百分比是相对元素自身的line-height计算,而非父元素的line-height。相对于最近的非static定位祖先元素来偏移,当这样的祖先元素不存在时,则相对于ICB(初始包含块)(根元素 html);
2023-07-05 15:42:47
166
原创 前端面试1-HTML
在HTML5出来之前,我们习惯于用div来表示页面的章节或者不同模块,但是div本身是没有语义的。但是现在,HTML5中加入了一些语义化标签,来更清晰的表达文档结构。
2023-07-05 15:41:23
41
原创 前端面试4-Vue
避免组件被复用时,数据存在引用关系因为组件是可以复用的,JS里对象是引用关系,如果组件data是一个对象,那么在子组件中的data属性值就会相互污染,产生副作用。Object属于引用数据类型,如果不用function返回,每个组件的data都是内存的同一个地址,一个数据改变,其他数据也随之改变JS中只有函数构成作用域,对象{}以及if(){}都不构成作用域。
2023-07-05 15:41:03
55
原创 前端面试5-浏览器
a.普通JS/sync:文档解析过程中,如果遇到script脚本,就会停止页面的解析进行下载,当脚本都执行完毕后,才会继续解析页面;c.defer:文档解析时遇到设置defer的脚本,就会再后台进行下载,但并不会阻止文档的渲染,当页面解析和渲染完毕后,等所有defer脚本加载并执行完毕后才会触发DOMContentLoaded事件。第一种:HTML还没有被解析完时,async脚本已经加载完毕,则HTML停止解析,执行脚本,脚本执行完毕后触发DOMContentLoaded事件。
2023-07-05 15:40:42
51
原创 5月8日面试
5)客户端浏览器解析HTML内容:客户端浏览器首先解析响应行,查看表明请求是否成功的响应状态码;4)释放TCP连接:若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;2)发送HTTP请求:通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头、空行和请求体组成;1)客户端连接到Web服务器:一个HTTP客户端,通常为浏览器,与web服务器的HTTP端口(默认为80)建立TCP套接字连接;HTTP采用了请求/响应模型;
2023-05-19 13:54:53
33
原创 常用排序算法
排序算法可以分为内部排序和外部排序:内部排序是数据记录在内存中进行排序;外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存In-place。
2023-05-13 11:59:28
46
原创 5月7日笔试
在Vue项目中,当我们引入第三方组件库(如ElementUI)时,需要在局部组件内修改第三方组件的样式,而不去除scoped属性造成组件之间的样式覆盖,可以通过scoped穿透。canvas是html5新增的标签元素,用于定义图形,相当于一个画布(默认宽150px,高100px),绘制图形要通过js脚本实现(IE9开始支持Canvas)取值:butt(默认):无端点;可以获取Vue的data,调用Vue的方法;4)绘制圆形 arc(x:圆心横坐标,y:圆心纵坐标,r:半径,起始角度,结束角度,是否逆时针)
2023-05-11 11:43:37
35
原创 AJAX 异步的Javascript和XML
浏览器在XMLHTTPRequest类上定义了它们的HTTP API,这个类的每个实例都表示一个独立的请求/响应对,并且这个对象的属性和方法允许请求细节和提取响应数据。XMLHttpRequest对象是AJAX的基础,XMLHttpRequest用于在后台与服务器交换数据,可以在不重新加载整个网页的情况下,对网页的某部分进行更新。AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可以使网页从服务器请求少量的信息,而不是整个页面。发送请求后,收到响应,XHR对象的属性被填充上数据。
2023-05-04 16:29:08
112
原创 Vue-Router中的hash模式和history模式
history路由原理:利用window.history(history.pushState或history.replaceState)相关api实现路由跳转,从而改变页面内容。由于通过history的api进行路由跳转,并不会向服务器发起请求,也达到了前端路由的目的。history需要后端配合,否则页面刷新,或者根据路径直接访问项目会报404错误,因为打包后的文件一般只有index.html文件和一些打包后的js文件及文件夹,所以需要后端重定向到首页,进入项目后,再进行路由匹配。
2023-04-26 09:20:02
363
原创 前端面试6-计网
第四次挥手:客户端收到服务器的连接释放报文段并发出确认,确认段中 确认位ACK=1,确认号ack=w+1,序号seq=u+1,然后客户端进入TIME-WAIT(时间等待)状态,当服务器再接收到该确认段后,服务器进入CLOSED状态。第二次握手:服务器收到连接请求报文段,如果同意连接,则向客户端发送确认,确认报文段中同步位SYN=1,确认位ACK=1,确认号ack=x+1,同时为自己随机初始化一个序列号seq=y,服务器进入SYN_RCVED状态。第三次握手:客户端收到服务器的确认以后,再向服务器发出确认。
2023-04-17 10:22:27
52
原创 ES6新增
5)Symbol.for(参数名):根据参数名去全局环境中搜索是否有以该参数为描述符的symbol,有的话返回该symbol,没有的话创建新的symbol返回。6)Symbol.keyFor():返回一个被登记在全局环境中的symbol值的key,没有则返回undefined。Symbol()创建的symbol值不会登记到全局环境中,用Symbol.for()搜索不到。Set.add() 添加set中不存在的元素 并返回添加后的set。Map.entries():返回Map中所有的键值对。
2023-04-13 15:26:29
62
原创 Git&GitHub
使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。(分支底层是指针的引用)注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一样,push的操作是会被拒绝的。setting---Version Control---Git 配置git安装路径C:\Program Files\Git\bin\git.exe。项目配置的优先级最高 删除配置信息:git config --global --unset user.email。
2023-03-15 16:03:11
57
2
原创 HTML5
display:table-cell使得父元素和子元素的外边距分离,可以通过设置margin的偏移量使子元素在父元素中垂直居中;也可通过vertical-align使子元素在垂直方向居中,水平方向居中只能通过margin。表示将表单提交给服务器。边框由border属性设置8。
2023-03-15 14:10:00
43
Comparison Finsler Geometry (Shin-ichi Ohta) .pdf
2024-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人