自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 替换函数this指向的三种方式

3、bind: 函数.bind(this对象,参数,参数...) 延迟触发,返回绑定this的新对象;2、apply: 函数.apply(this对象,[参数,参数...]) 立即触发;1、call:函数.call(this对象,参数,参数...) 立即触发;

2024-05-08 09:41:38 204

原创 Java-在TCP协议下完成文件传输(复制)

2024-04-25 14:12:47 209

原创 Java-在TCP协议下进行数据的传输

3次握手,建立连接;4次挥手,断开连接;3、传输数据较安全;

2024-04-24 10:44:22 275

原创 Java-在UDP协议下进行数据的传输

切记:要先运行receive,再运行send,不然会造成数据丢失!

2024-04-24 09:53:21 307

原创 Java-线程池

【代码】Java-线程池。

2024-04-18 11:04:07 257

原创 Java-手写生产者消费者模式

【代码】Java-手写生产者消费者模式。

2024-04-18 09:38:15 542

原创 Java-线程同步和安全性

【代码】Java-线程同步和安全性。

2024-04-17 17:50:03 194

原创 Java-测试获取线程的基本信息的相关方法

【代码】Java-测试获取线程的基本信息的相关方法。

2024-04-17 15:00:27 62

原创 Java-测试线程的join()方法

【代码】Java-测试线程的join()方法。

2024-04-17 14:57:10 72

原创 Java-测试线程的sleep()和yield()方法

【代码】Java-测试线程的sleep()和yield()方法。

2024-04-17 14:54:57 97

原创 Java线程的两种实现方式(Rundable接口和lambda)

【代码】Java线程的两种实现方式(Rundable接口和lambda)

2024-04-17 11:12:37 228

原创 多线程概念(程序、进程、线程)

【代码】多线程概念(程序、进程、线程)

2024-04-17 10:19:04 250

原创 测试Apache IO包的使用

【代码】测试Apache IO包的使用。

2024-04-16 18:10:18 94

原创 IO流体系介绍

【代码】IO流体系介绍。

2024-04-16 15:35:25 356

原创 Java-自定义容器 手写实现HashMap

【代码】Java-自定义容器 手写实现HashMap。

2024-04-16 09:24:31 186

原创 Vue组件间的通信

Vue提供的两个钩子,适用于父子/祖孙之间的通信,层次很深的情况下可以用这种方法,provide发送数据,inject接收数据。1.父给子传参(父:自定义属性传递变量,子:用Props['父元素自定义属性']接受),ref/refs父子传参。2.子给父传参(子:this.$emit(父元素自定义事件,传递的值) 父:自定义事件用参数去接收传递来 的值)③发送数据的一方,通过vm.$emit(“事件名”,传递的数据)触发事件,将数据传递。前者可以访问父组件的实例,后者可以访问子组件的实例。

2024-04-16 09:23:42 212

原创 JavaScript作用域链

当函数在使用一个变量时,会先在当前作用域查找,如果没有的话,会向上级作用域进行查找,直至找到或者返回undefined。作用域链--由多级作用域串联形成的链式结构。作用域---当前的执行上下文。

2024-04-15 11:52:17 101

原创 new做了什么

实例对象._proto_=构造函数.prototype。创建实例对象,并将函数的this指向该实例对象。

2024-04-15 11:51:04 73

原创 JavaScript原型链

访问一个对象的属性或方法时,会先在对象自身查找,没有的话沿着_proto_这条链向上查找,直到找到或者返回null。js中所有对象包含一个_proto_内部属性,它所对应的就是该对象的原型。

2024-04-15 11:50:20 102

原创 sit和uat测试区别

系统集成测试,和软件一般的模块集成测试差不多,但用户参与的机会很少,主要是由公司内部进行,SIT测试领域涉及电子产品、灯具、无线射频、音像设备、对讲机等产品。此外,SIT通态电阻较大,使得通态损耗也大,因而SIT还未在大多数电力电子设备中得到广泛应用。终端用户集成测试,主要是要求用户参与进测试流程,并得到用户对软件的认可,鼓励用户自己进行测试设计和进行破坏性测试,充分暴露系统的设计和功能问题,显然用户的认可和破坏性测试是难点。因为测试人员并不了解用户用什么手段和思维模式进行测试。

2024-04-15 11:15:29 194

原创 ES6转ES5的配置

"useBuiltIns": "usage" //这个的含义是引入的@babel/polyfill按需加载,只使用项目中需要转为es5的部分,减少项目大小。5)、成功,如果是编写插件,不影响全局代码,就应该使用@babel/plugin-transform-runtime,.babelrc配置如下。"corejs": 2, //一般使用2。2)、项目根目录webpack.config.js中配置rules。4)、在main.js中引入@babel/polyfill。1)、安装babel。

2024-04-15 11:06:28 283

原创 Cookie、Session和Token

1、虽然session保存在服务器,但它还是需要客户端浏览器的支持,因为session需要使用cookie作为识别标志。cookie的生存时间是长久有效的:手动将cookie保存在客户端的硬盘中,浏览器关闭的话,cookie页不会清除;4、隐私策略不同:cookie是对客户端是可见的,可以分析存放在本地的cookie并进去cookie欺骗;session存储在服务器上,对于客户端是透明的,不存在敏感信息泄露的风险。加入并发访问的用户太多,会产生很多的session,对服务器是一个很大的负担,耗费大量内存。

2024-04-15 11:03:36 461

原创 事件修饰符

self:只在event.target是当前元素自身时触发处理函数。.passive:事件的默认行为将立即触发。.prevent:阻止默认事件行为。.capture:捕获事件冒泡。.native:监听子组件行为。.once:事件只触发一次。.stop:阻止事件冒泡。

2024-04-15 10:59:14 99

原创 数组去重的方法

方法5:原始for循环加splice,此时数组长度减1。方法1:双层for循环加push,添加到新数组。) {//遍历出新数组中没有的元素并且添加进去。方法3:数组的forEach加indexOf。//过滤出来第一次出现的元素。方法2:数组的filter方法。方法4:用Set方法去重。方法6:includes。

2024-04-15 10:56:57 532

原创 检测对象是否有某属性

属性名’ in 对象 true->存在 false->不存在。对象.属性名===undefined true->不存在 false->存在。对象.hasOwnProperty(‘属性名’) true->存在 false->不存在。

2024-04-15 10:56:05 70

原创 浏览器兼容怎么做

设置文档和资源的字符集。确保在HTML文件的部分设置正确的字符编码,以避免字符显示问题。使用媒体查询和弹性布局来创建响应式设计,确保网站在不同尺寸的屏幕上都能良好展示。浏览器兼容是为了确保网站或者web应用程序在不同的浏览器和设备上都能正常工作。使用特性查询和条件加载。根据浏览器的特性来决定是否加载某些脚本或者样式。

2024-04-15 10:51:57 219

原创 前端性能优化

13. **JavaScript性能**:避免昂贵的操作,如大量的DOM操作和复杂的计算,使用节流(throttling)和防抖(debouncing)技术优化事件处理。性能优化是一个持续的过程,需要不断地评估、测试和调整。6. **异步加载和延迟执行**:通过异步加载和动态导入(如使用`async`和`defer`属性)来优化脚本的加载和执行,减少页面渲染的阻塞。4. **图片优化**:采用适合的图片格式(如WebP或AVIF),提供正确尺寸的图片,并使用图片懒加载技术,只在图片进入可视区域时加载。

2024-04-15 10:42:25 297

原创 简述react中state和props方法及区别

state主要用于组件更新控制,如果想要重新渲染或者更新组件,只需要修改state的值,再根据修改的state的值重新渲染用户界面。props主要用于组件间参数的传递,获取组件的属性值,数据单向流动,从父级向子集传递,外界无法直接修改属性值,它是只读的;

2024-04-15 10:37:49 106

原创 react中声明类的两种方法及这两种方法的区别

类式声明:类式组件又叫有状态组件,是一个cass类,可以定义state,有继承,可以通过this来接收属性和状态,如果需要通过生命周期来对数据进行增删改查操作,一般使用类式声明。函数式组件又叫无状态组件,不能定义state,没有继承,没有生命周期,它的动态数据通过父组件向子组件流动,子组件通过props来接收,一般一些简单的逻辑判断会使用无状态组件;函数式声明和class类式声明。

2024-04-15 10:36:02 101

原创 浏览器输入一个URL后发生了什么

DNS对域名进行解析; 建立TCP连接(三次握手); 发送http请求; 服务器处理请求; 返回响应结果; 关闭TCP连接(四次挥手); 浏览器解析HTML; 浏览器布局渲染。

2024-04-15 10:33:43 163

原创 React和vue框架的diff算法的比较

都是忽略跨级比较,只做同级的比较;Vue diff时会调用patch方法,参数为vnode和oldVnode,分别代表新旧参数; Vue 对比节点,当节点元素相同,只是className不同,Vue会认为是不同节点,删除重建;而react则认为是相同节点元素,只是更新节点属性; Vue的列表对比,采用从两端到中间的方式,而react则采用从左到右依次对比;当集合中最后一个节点移动到第一位时,react会把前面的节点依次移动,而Vue只会就把最后一个移动到第一个。

2024-04-15 10:32:49 136

原创 this的指向

默认情况下指向全局,浏览器中指向window,严格模式下是undefined。箭头函数没有属于自己的this,它的this指向声明时所在作用域的this。实例化对象的this,指向new实例化的对象。函数中的this指向调用它的对象。

2024-04-12 13:44:58 175

原创 call,apply,bind区别

Bind:延时触发,把函数触发时的this对象和参数都规定好,会返回一个新的函数,不会马上触发函数,通过函数名()来触发。Apply:同call,差异是参数用数组储存;目的是把原本需要一个一个传递参数的函数,改成接受数组类型的参数。Call:把函数临时放在对象中,立即执行函数;目的是让函数的this指向这个对象。

2024-04-11 14:56:10 89

原创 v-if和v-show

(因为懒加载,初始为 false 时,不会渲染,但是因为它是通过添加和删除 dom元素来控制显示和隐藏的,因此初始渲染开销较小,切换开销比较大)。v-show 其实就是在控制 css ,v-if 切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件。(无论 true 或者 false 初始都会进行渲染,此后通过 css 来控制显示隐藏,因此切换开销比较小,初始开销较大),v-show 都会编译,初始值为 false,只是将 display 设为 none,但它也编译了;

2024-04-11 14:52:39 189

原创 methods、watch和computed的区别

watch:用来监听属性的变化,当值发生变化的时候来执行特定的函数,watch监听属性的时候会有2个参数newVal和oldVal,一个新值一个旧值;computed:计算属性,对数据进行处理并返回新的值,调用时不需要括号,依赖缓存,一旦数据发生改变则触发。methods:普通的函数方法,执行的时候需要事件的触发;

2024-04-11 14:50:07 88

原创 Canvas和SVG的区别

4、canvas应用方向,网页特效与小游戏,svg创建统计图与地图应用;3、canvas可以只能将事件绑定在画布上,svg可以将事件绑定在任意元素上;2、canvas通过js程序指令创建图形,svg通过XML创建图形;1、canvas绘制2d位图,svg绘制2d 矢量图;3、canvas依赖分辨率,svg不依赖分辨率;

2024-04-11 14:29:14 101

原创 Cookies、sessionstorge、localstorge的区别

cookies是为了标识用户身份而存储在用户本地终端上的数据,始终在同源http请求中携带,即cookies在浏览器和服务器间来回传递,而sessionstorage和localstorage不会自动把数据发给服务器,仅在本地保存。localstorage始终有效,窗口和浏览器关闭也一直保存,用作长久数据保存。sessionstorage不在不同的浏览器共享,即使同一页面。cookie保存的数据很小,不能超过4k,而sessionstorage和localstorage保存的数据大,可达到5M。

2024-04-11 14:16:36 155

原创 Vuex的核心属性

Mudules:拆分模块,大型项目会用到,当状态比较多时,store就会比较臃肿,这个时候,vuex允许我们将store分割成模块。每个模块中拥有自己的state,mutations,getters,actions.action提交的是mutation,不能直接变更状态,action可以包含任意异步操作。Mutations:存储修改state值的方法,只能是同步函数,commit触发。Getters:计算属性,对state中的值进行操作,并返回新的值。State:存储共享的值。dispatch触发。

2024-04-11 14:08:23 128

原创 Vue的生命周期

组件数据更新之前调用,此时页面中显示的数据还是旧的,data是最新的,页面尚未与最新的数据保持同步。组件销毁前调用,vue实例从运行阶段进入到销毁阶段,这时vue实例身上所有都可用。组件实例被创建之初,data和methods中的数据还没有初始化。组件更新后,页面和data数据已经保持同步,都是最新的。指令解析完毕,内存中生成dom树,但尚未挂载到页面中。组件销毁后调用,vue实例上所有都不可以再用了。:keep-alive专属,组件被销毁时调用。,dom渲染完毕,页面和内存的数据已经同步。

2024-04-11 13:59:39 125

原创 水平垂直居中的方法

父元素相对定位,子元素移动自身的50%,再设置子元素的margin-top和margin-left为负的自身宽高的一半,这种方法需要知道子元素的宽高;和上一种方法基本一样,只是将margin负值改为transform:translate(-50%,-50%),不需要知道子元素的宽高;top、right、bottom、left都为0,然后margin:auto。1、定位+margin:auto。2、定位+margin:负值。3、定位+transform。5、flex弹性布局。6、grid网格布局。

2024-04-11 13:39:11 106

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除