- 博客(26)
- 收藏
- 关注
原创 解释型语言跨平台原因分析
相信大家有一个直观感受,当我们在运行解释型语言的时候,我们始终都需要源代码和解释器,所以它无法脱离开发环境。相比于编译型语言,解释型语言几乎都能够跨平台,可以做到“一次编写,到处运行”。解释型语言不需要编译,程序执行到了,解释器才会去解释对应的语句,所以更多的时间花费在了运行期间,但这类语言编写的程序的修改不需要经历漫长的编译过程,效果能够很快生效。由于没有经历编译过程,因此即便语法错误,也只能等到运行期间才会被发现。
2025-04-11 13:00:00
364
原创 函数作为返回值输出
实际上,函数当做返回值输出的应用场景也很多,也更能体现函数式变成的巧妙,让函数继续返回一个可执行的函数,意味着运算过程是可延续的。
2025-04-09 20:15:00
295
原创 进程的唤醒原语与挂起原语
如大家所了解的,当某个等待的事件已完成(如某个资源被释放),由完成该等待事件的进程调用唤醒原语,从而唤醒进程阻塞队里中等待该事件完成的阻塞进程。唤醒原语的基本功能是把除 CPU 之外的一切资源都得到满足的进程置为就绪状态,执行时,首先找到被唤醒进行的内部标识,让该进程脱离进程阻塞队列,并将其状态改为就绪状态,然后插入到进程就绪队列等待调度运行。
2025-04-08 19:00:00
448
原创 进程的创建态、运行状态和阻塞状态
进程运行中发生了某种等待事件(如发生了等待 I/O 的操作),而暂停不能运行的状态,处于该状态的进程不能去竞争 CPU,因为此时即使把 CPU 分配给它也无法运行。处于阻塞状态的进行可以有多个。当需要创建一个新进程时,系统为该进程分配一个进程控制块 PCB,并为该进程分配内存空间,且装入该进程对应的程序和有关的数据,这时,一个新进程就产生了。今天的文章分享就到这里了,希望对大家的学习有帮助!进程获得了 CPU 和其他所需的资源,目前正在 CPU 上运行,对单 CPU 系统而言,只能有一个进程处于运行状态。
2025-04-07 17:15:00
191
原创 几种常见的HTTP方法之GET和POST
缓存也是 GET 请求被广泛应用的根本,在现代网络上每天产生的请求数目是巨大的,并且其中大部分请求均为只读请求,如果所有这些请求都要交由 Web 服务器直接处理,这无疑是巨大的资源浪费。GET 是一种幂等的、安全的操作,它除了返回结果不应该会产生其他副作用,因此绝大部分 GET 请求都可以直接被 CDN 缓存,这能大大减少 Web 服务器的负担。而 POST 是非幂等的、有副作用的操作,所以必须交由 Web 服务器处理。POST:向指定资源提交数据进行处理,可能会导致新的资源的建立或已有资源的修改。
2025-04-06 18:00:00
452
原创 ES6对函数参数的新设计
以前的 arguments 变量也有类似的作用,但是 arguments 不是真正的数组,除了存放参数的列表外,arguments 还有 length 属性,严格来说 arguments 是一个类数组对象,而不定参数则是一个完全的数组,这也是不定参数相对于 arguments 的优势,更加方便我们使用,所以建议使用不定参数来代替 arguments。不定参数和扩展参数可以认为恰好是相反的两个模式,不定参数是使用数组来表示多个参数,扩展参数则是将多个参数映射到一个数组。
2025-04-02 09:56:51
537
原创 JavaScript单例模式
单例模式的核心思想是让指定的类只存在唯一一个实例,这意味着,当第二次使用相同的类去创建对象的时候,得到的应该是和第一次创建的是同一个对象。单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2025-04-01 12:49:36
330
原创 影响HTTP网络请求的因素
建立连接:HTTP 是基于 TCP 协议的,浏览器最快也要在第三次握手时才能捎带 HTTP 请求报文,达到真正的建立连接,但是这些连接无法复用,会导致每次请求都经过三次握手和慢启动,三次握手在高延迟的场景下影响较为明显,慢启动则对文件类的请求影响较大。浏览器阻塞:浏览器会因为一些原因阻塞请求,浏览器对于同一个域名,同时只能有4个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。影响HTTP网络请求的因素有两个。
2025-03-31 11:45:12
472
原创 Content-Type设置内容类型
Content-Type 设置内容类型,一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。Content-Type 用于定义用的浏览器或相关设备如何显示将要加载的资源,或者如何处理将要加载的数据,此属性的值可以查看媒体格式类型,即 MIME 类型。MediaType,即是 Internet Media Type,互联网媒体类型,也叫做。
2025-03-30 20:16:32
809
原创 异步转同步,实现一个消息队列
有一个场景,需要实现一个消息队列,要求 1,3,4 秒后,依次打印 1,2,3,如下:其实考察的是怎么用同步的方式实现异步。本文总结了四种方式实现:常规嵌套、promise、async/await、generator代码不一定很完美,只是提供一种解题思路。
2025-03-29 18:40:07
246
原创 JavaScript中闭包的使用
但是注意这里的特点在于返回值是一个匿名函数,且这个函数中具备了访问 local 的条件,虽然在后学的执行中 ,在外部作用域中还是无法直接访问 local,但是若要访问它,只要通过中间函数稍作周转即可。实际上,闭包是 JavaScript 的高级特性,利用它可以产生很多巧妙的效果,它的问题在于,一旦有变量引用了这个中间函数,这个中间函数将不会被释放,同时也会使原始的作用域不会得到释放,作用域中产生的内存占用也不会得到释放,除非不再有引用,才会逐步释放。
2025-03-28 12:24:45
262
原创 Scavenge算法的优缺点问题
Scavenge 的缺点是只能使用堆内存中的一半,这是由划分空间和复制机制所决定的。但 Scavenge 由于只复制存活的对象,并且对于生命周期短的场景,存活对象只占少部分,所以它在时间效率上有优异的表现。由于 Scavenge 是典型的牺牲空间换取时间的算法,所以无法大规模的应用到所有的垃圾回收中,但可以发现,Scavenge 非常适合应用在新生代中,因为新生代中对象的生命周期较短,恰恰适合这个算法。实际使用的堆内存是新生代中两个 semispace 空间大小和老生代所用内存大小之和。
2025-03-27 21:04:21
270
原创 常见杀毒软件及防火墙关闭方法
最好,关闭防火墙之后下一步(也是最重要的一步就是关闭电脑的实时扫描)打开电脑设置,找到Windows的更新与安全(win11的名称可能不同但总的就是windows安全中心所在的位置)打开windows防护中心,点击管理设置,之后打开关闭所有的按钮尤其是实时扫描。众所周知,我们在安装某些软件时,常常需要关闭杀毒软件、防火墙等,以确保激活工具不被清理,从而导致安装失败。首先,打开控制面板,找到系统与安全,点击进去,找到Windowns Defesnder防火墙;对于杀毒软件,我们只需要找到,然后退出一下即可。
2025-03-26 10:49:49
1887
原创 ElementUI dropdown触发显示时阻止事件冒泡
我们设法一个场景:如果el-tree自定义节点包含el-dropdown,为了防止点击el-dropdown的触发按钮而执行el-tree的node-click事件。图片中的代码,可以复制下来去用。好了,今天的文章就到这里了,还有疑问的话可以留言一起探讨哦~最外层添加div,给div绑定事件并添加事件修饰符(stop)
2025-03-25 18:46:05
550
原创 Vue响应式数据丢失的可能原因
碰到响应式数据丢失,无外乎以下几种可能性:直接修改对象的属性、修改数组索引、替换整个对象或数组、在计算属性中修改响应式数据。好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦!
2025-03-17 18:19:50
275
原创 JS prototype与__proto__的联系和区别
prototype 与 __proto__ 都指向原型对象,任意一个函数(包括构造函数)都有一个 prototype 属性,指向该函数的原型对象;任意一个构造函数的实例化对象,都有一个 __proto__ 属性,它指向构造函数的原型对象。
2025-02-13 18:14:04
544
原创 如何在Mac中配置环境变量
查看根目录下是否有 .bash_profile 文件,如果没有,使用一下命令创建一个 .bash_profile 文件。查看根目录下是否有 .zprofile 文件,如果没有,使用一下命令创建一个 .zprofile 文件。
2025-01-10 15:55:21
359
原创 Vue生命周期的执行顺序
如大家所了解的,在单一组件中,钩子的执行顺序是 beforeCreate -> created -> beforeMount -> mounted -> …... -> destroyed,但当父子组件嵌套时,父组件和子组件各拥有各自独立的钩子函数,这些父子组件的这些钩子是如何交融执行,且执行顺序又是怎样的呢?
2025-01-08 17:49:06
204
原创 熟悉v-model的特殊用法
但在某些特殊情况下,我们也可以将 v-model 用于父子组件之间数据的双向绑定(在组件上使用 v-model)。如大家所了解的,一般情况,咱们使用 v-model 主要是用于数据的双向绑定,可以十分方便的获取到用户的输入值。
2025-01-06 08:26:55
233
原创 单项数据流的定义
父组件可以向子组件传递数据,并且改变子组件的值,而子组件不能改变父组件传递给它的 prop 属性,官方推荐的做法是子组件抛出事件,通知父组件自行改变绑定的值。v-model 做法完全符合单项数据流。甚至于,它给出了一种在命名和事件定义上的规范。单向数据流:总结起来其实也就 8 个字:数据向下,事件向上。众所周知 .sync 修饰符是单向数据流的另一个典型范式。
2025-01-02 15:15:02
158
原创 Vue v-model 的原理
我们可以用 v-model 指令在表单 <input>、<textarea> 及 <select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。2、v-on 绑定 input 事件监听到函数中,函数会获取最新的值赋值到绑定的属性中。1、v-bind 绑定 value 属性的值;v-model 的原理其实是背后有两个操作。
2024-12-31 17:40:24
140
原创 Promise.prototype.then()的用法案例
采用链式的 then,可以指定一组按照次序调用的回调函数。这时,前一个回调函数,有可能返回的还是一个 Promise 对象(即有异步操作),这时候后一个回调函数,就会等待该 Promise 对象的状态发生变化,才会被调用。then 方法返回的是一个新的 Promise实例(注意,不是原来那个 Promise 实例)。Promise 实例具有 then 方法,也就是说,then 方法是定义在原型对象 Promise.prototype 上的,
2024-12-27 17:49:51
180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅