- 博客(258)
- 资源 (5)
- 收藏
- 关注
原创 Reflect.get() 详细介绍,并给出例子说明
提供了一种灵活且可控的方式来访问对象的属性。它允许你动态地指定目标对象、属性键和 getter 调用时的this值。这使得它在某些高级编程场景中特别有用,比如元编程、代理(Proxy)和反射(Reflection)API。在普通应用中,你通常会直接使用点()或方括号([])来访问对象的属性,但在需要更精细控制或处理复杂对象结构时,会是一个很好的选择。
2024-04-17 22:16:12 112
原创 深入理解JavaScript - JavaScript中call、apply、bind方法
/ call/apply绑定对象为this,并直接执行函数.call(绑定的对象,参数1...参数n);函数.apply(绑定的对象,[参数1...参数n]);// 仅绑定对象为this并返回新函数,并不执行函数.bind(绑定的对象);
2024-04-08 23:49:36 342 1
原创 JavaScript权威指南(第7版) 笔记 - 扩展操作符总结
扩展操作符...,不是真正意义上的JavaScript操作符。上面的第2行代码会报错,… 操作符只能在数组字面量、对象字面量、函数调用中使用。在函数定义中,...称为剩余参数。
2024-04-05 15:52:36 318 1
原创 深入理解JavaScript- JavaScript代码加载、解析、执行流程
对象可以拥有属性和方法。我们debug代码时,还没有执行到f时,JavaScript引擎已经为f生成了一个对象。也就是说,JavaScript引擎在编译阶段,已经为全局作用域的函数生成了函数对象放入了堆内存。⚠️注意:对于函数表达式,函数对象通常在执行到表达式时才创建。如果函数是在执行阶段动态创建的(例如,通过new Function()构造函数),那么它会在调用时创建并执行。
2024-03-10 14:16:37 577
原创 深入理解JavaScript - JavaScript中的内存区域
在JavaScript中的内存的具体区域取决于执行环境和JavaScript引擎的实现。但一般来说,我们可以将内存区域大致划分为几个部分,并讨论JavaScript代码在这些区域中的表现。
2024-03-09 11:31:57 361
原创 尚硅谷JavaScript高级学习笔记
JavaScript中函数是对象。我们后续描述构造函数的内存模型时,会将构造函数称为构造函数对象。typeof 运算符来查看值的类型,它返回的是类型的字符串值 会做数据转换输出:每个函数都有一个prototype属性,它默认指向一个0bject空对象(即称为:原型对象)给原型对象添加属性、方法,函数的所有实例对象自动拥有原型中的属性(方法)16、显式原型和隐式原型 和 中保存的都是原型对象的地址值。Fun的prototype、f的__proto__属性什么时
2024-03-08 23:01:16 860
原创 JavaScript发展历史与JavaScript的版本发展
JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。它最初由Netscape公司的Brendan Eich设计,并于1995年在网景导航者浏览器上首次实现。由于Netscape与Sun合作,并希望其外观与Java相似,因此被命名为JavaScript。但实际上,JavaScript的语法风格与Self及Scheme更为接近。JavaScript是一种基于原型编程、多范式的动态脚本语言,支持面向对象、命令式、声明式以及函数式编程范式。作为一种解释型脚本编写语言。
2024-03-08 08:50:49 616
原创 JavaScript中构造函数和普通函数的区别
在JavaScript中,构造函数(Constructor)和普通函数(Function)的主要区别在于它们的使用方式和目的。:虽然技术上任何函数都可以作为构造函数使用,但按照约定,构造函数通常以大写字母开头,以区别于其他类型的函数。属性,该属性是一个指针,指向一个对象,该对象的用途是包含可以由特定类型的所有实例共享的属性和方法。关键字调用构造函数时,JavaScript会创建一个新的空对象,并将这个新对象的内部链接到构造函数的。关键字一起使用,它们可以执行任何任务,但通常不用于创建新对象。
2024-03-04 14:31:07 329
原创 深入理解JavaScript - JavaScript中的this
场景this的值描述全局作用域window(浏览器) 或global(Node.js)在全局作用域中,this指向全局对象。函数调用undefined(严格模式) 或window(非严格模式)当一个函数不是作为对象的方法调用时,this的值在非严格模式下是window,在严格模式下是undefined。对象方法调用该方法的对象当一个函数作为对象的方法被调用时,this指向调用该方法的对象。构造函数新创建的对象当一个函数作为构造函数使用new关键字调用时,this指向新创建的对象。箭头函数。
2024-03-01 20:35:44 968
原创 JavaScript中的Object对象什么时候创建的
对象是在语言层面预先定义好的全局对象。它不是在你创建其他对象时创建的,而是JavaScript解释器在初始化时就已经存在的。对象是所有对象的基类,它自身也是一个构造函数,可以用于创建新的对象实例。当你在JavaScript代码中执行以下操作时,会涉及到。方法创建的,它的原型链指向了。在JavaScript中,
2024-03-01 20:10:17 244
原创 JavaScript定义函数,创建函数实例时的内部原理
解析函数声明当你定义一个函数时,JavaScript的解析器会首先解析函数声明。这意味着它会检查函数声明的语法是否正确,包括函数名、参数列表、函数体等。创建函数对象一旦函数声明被解析通过,JavaScript会在内存中创建一个函数对象。这个函数对象包含了函数的定义、参数信息、函数体以及其它与函数相关的元数据。函数作用域和闭包在函数创建的过程中,JavaScript会确定函数的作用域。这包括确定函数内部可以访问的变量和函数。
2024-03-01 13:15:00 1073
原创 区分对象自身的属性和从原型对象上继承的属性
函数首先检查属性是否是对象自身的属性。如果不是,它会进一步检查该属性是否从原型链上继承而来。如果是从原型链上继承而来,并且该属性是定义在构造函数的原型上的,那么。在JavaScript中,你可以使用几种方法来区分一个对象自身的属性(即直接定义在该对象上的属性)和从原型对象上继承的属性。操作符,你可以准确地确定一个属性是否是对象自身的属性,还是从原型链上继承的属性。
2024-02-29 11:54:27 386
原创 《运动改造大脑》读书笔记
通过了解运动对大脑的影响以及如何通过运动来改善大脑功能,我们可以更好地认识到运动的重要性,并将其融入到我们的日常生活中。展望未来,随着科学研究的不断深入,我们有望发现更多关于运动与大脑健康的奥秘,为人类的健康和幸福做出更大的贡献。《运动改造大脑》这本书主要探讨了运动对大脑的影响,以及如何通过运动来改善大脑功能。作者通过大量的科学研究和案例,揭示了运动与大脑健康之间的紧密联系,为我们提供了一种全新的视角来看待运动的重要性。通过运动,我们可以激活大脑的不同区域,促进神经元之间的连接和交流。
2024-02-27 16:03:39 747
原创 Thinkpad x1 carbon 2022,2021 各个版本CPU性能对比
i7-1260P原文链接Intel Core i7-1260P是一款 12 核的移动处理器,于 2022 年第一季度推出。它是酷睿 i7 系列的成员,采用 BGA 1744 的 Alder Lake-P 架构。支持英特尔超线程技术,达到 16 个线程。 Core i7-1260P 具有 18MB 的三级缓存,默认运行频率为 2.1 GHz,但根据工作负载可提升至 4.7 GHz。酷睿 i7-1260P基于 10 纳米生产工艺制造。Core i7-1260P 的 TDP 为 28 W,处理器支持双通道接
2022-05-15 22:59:30 10106 1
原创 java正则表达式匹配`\`
Java字符串中的反斜杠在java的字符串中表示反斜杠需要使用一个反斜杠进行转,即字符串中的两个反斜杠表示一个反斜杠字符。例如:// 字符串 \String str = "\\";// 下面的字符串是 a\b\c\d\eString str = "a\\b\\c\\d\\e";正则表达式中的反斜杠正则表达式中表示一个反斜杠需要使用一个反斜杠来进行转义。例如:public static void matchBackslash(){ System.out.println("
2022-04-08 19:54:18 9107
原创 彻底搞定 Java 注解
@Override 、@Deprecated注解 @Override 限定重写父类方法或实现接口方法, 该注解只能加载方法上注解@Deprecated 表示所修饰的元素已过时,通常是因为使用该元素很危险(比如后续版本不支持了)或存在更好的选择。当在非弃用代码中使用或重写@Deprecated程序元素时,编译器会发出警告。D:\>javac AnnotationTest.java注: AnnotationTest.java使用或覆盖了已过时的 API。注: 有关详细信息, 请使用 -Xlint
2021-09-22 21:52:33 490 1
原创 Spring Boot 核心原理与源码解析 - 目录
准备重新写 SpringBoot 配置文件解析原理 , 先在这里把要写的内容记下来Spring Boot 核心原理与源码解析 - 目录1\何时解析\如何解析 application.properties/application.yml?,解析成什么? 如何绑定到相应的对象?2\ 自动配置的原理?n\ 手动写一个starter,完美!...
2021-09-17 22:26:34 119
原创 启示录 读书笔记
2021-09-10关于作者Marty Cagan 是硅谷产品集团的创始人,为“财富500强”企业和广大创业型企业提供产品咨询服务。在过去的30年里,作为负责定义和开发产品的高级经理人为多家一流企业工作过,包括惠普、网景通信、美国在线。他曾担任 eBay 产品管理及产品设计高级副总裁,负责规划全球电子商务网站的产品和服务。关于本书Marty Cagan 在他职业生涯中发现,无论是学术机构,还是部分大公司都对产品管理理念缺乏有效的认识,所以他在这方面积极的探索与实践,并把这些实践经验写下来,最后集结成
2021-09-10 22:10:58 258
原创 12、(12.4.2)保护模式下数据段和栈段保护
1/向下扩展的栈段实际使用的段界限就是段内不允许访问的最低端偏移地址, (基地址+0)~(基地址+段界限)这段空间是不属于栈段.举例画图说明:例1, 基地址为0x00,段界限为0x10段界限可以理解为栈向下扩展的一个红线,不能碰, 所以压栈时ESP - 操作数的长度后的值必须大于这个边界值.(这里这么理解与书中ESP - 操作数的长度>=(实际使用的段界限+1)是一个意思)例2 , 基地址为0x7c00 , 段界限为0x10线性基地址为 0x00007C00, 段界限为 0xFFFFE
2021-08-28 11:22:24 280 1
转载 世界上速度最慢的10种动物,做什么都慢半拍
世界之大,无奇不有。自然界中不但有许多有着闪电般速度的动物,更有许多需要花费数小时才能完成最短距离的动物。这些世界上速度最慢的动物,做什么都慢半拍,看着都让人着急!下面我们就来看看世界上速度最慢的10种动物吧。1、海马见过海马的人一定知道,在海马的背后有一排鱼鳍,海马就是靠拼命摇摆身后的鱼鳍行动的。海马被认为是除开单细胞生物以外行动最慢的动物,它们的行动迟缓,最高的速度也只能达到每秒0.04厘米。2、蛞蝓蛞蝓 [kuò yú]蛞蝓是一种软体动物,看上去就像没有壳的蜗牛,所以它的速度比蜗牛快一
2021-08-10 23:31:20 7779
原创 类比 -高速缓存Cache/内存/磁盘读写速度类比
1、计算机设备、组件速度类比计算机设备、组件读类比机械硬盘0.1G/S蜗牛量级(60m/h)固态盘1.3G/S龟速量级(780m/h)内存30G/S跑步量级(23.4km/h)L3 Cache190G/S汽车量级(114km/h)L2 Cache200G/S跑车量级(120km/h )L1 Cache800G/S飞机量级(600km/h)类比的速度按量级进行匹配,大家脑海中有个概念就好了。参考:世界上速度最慢的10种动物
2021-08-10 23:23:41 5234
原创 附录 - NASM&MASM 安装、部署、使用
Netwide Assembler (NASM)是针对80x86和x86-64平台设计的,可移植的、模块化的汇编语言编译器。它也可以输出纯二进制文件,英特尔十六进制和摩托罗拉S-Record格式。它的语法设计得简单且易于理解,类似于英特尔软件开发人员手册中的语法,但复杂性最小。它支持所有当前已知的x86架构扩展,并对宏有强大的支持。1、下载、安装、配置NASM到 NASM 官网 下载nasm;NASM 官方参考文档;和安装普通软件一样,安装NASM;我选择安装在 C:\NASM目录wind
2021-08-06 16:47:03 2485
原创 附录 - 汇编指令
相对 - 绝对 - 短 - 近 - 远 - 间接 - 不是立即数直接 - 是立即数8086处理器的无条件转移指令 |-"相对" |-1、"相对"短转移 jmp short offset |-2、"相对"近转移 jmp near offset |-"绝对" |-"间接" |-3、间接绝对近转移 jmp r/m |-4、间接绝对远转移 jmp far m |-"直接" |-5、直接绝对远转移 jmp segment:offset1、
2021-08-05 10:15:59 811
原创 常用符号大全
❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©®™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉°✿ϟ☃☂✄¢€£∞✫★½✡×↙↘○◑⊕◣◢︼【】┅┇☽☾✚〓▂▃▄▅▆▇█▉▊▋▌▍▎▏↔↕☽☾の•▸◂▴▾┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍿▓♨♛❖♓☪✙┉┋☹☺☻تヅツッシÜϡﭢ™℠℗©®♥❤❥❣❦❧♡۵웃유ღ♋♂♀☿☼☀☁☂☄☾☽❄☃☈⊙☉℃℉❅✺ϟ☇♤♧♡♢♠♣♥♦☜☞☝✍☚☛☟✌✽✾✿❁❃❋❀⚘☑✓✔√
2021-08-02 22:50:58 34774
原创 附录:保护模式下的各个“对象”
1、GDTR - 全局描述符表寄存器2、段描述符3、CR0CR0是处理器内部的控制寄存器(Control Register, CR);保护模式允许位(Protection Enable, PE) |-1,表示进入保护模式 |-0,表示未进入保护模式4、32位段寄存器...
2021-07-28 13:46:07 436
原创 10、32位 x86处理器编程架构
10.1、IA-32架构的基本执行环境10.1.1、寄存器的扩展通用寄存器扩展: (AX、BX、CX、DX) 16位 -> 32位 (EAX、EBX、ECX、EDX) (SI、DI、BP、SP) 16位 -> 32位 (ESI、EDI、EBP、ESP) IP扩展: IP 扩展到了 32 位,即 "EIP" 标志寄存器FLAGE扩展: FLAGE 扩展到了 32 位,即 "EFLAGS",低 16 位和原先保持一致 指令的源操作数和目的操作数必须具有相同的长度;(错:mo
2021-07-24 09:17:03 800 1
原创 程序为什么非得装入内存再执行?
“远古时期”,写程序是在纸带上打开,计算机从纸带读指令,读一个指令执行一个指令,速度非常慢。“近代”, 程序为什么非得装入内存再执行? 我们开门见山直接说原因:(原因1):首先是因为程序中有循环,循环体指令会被反复的读取。内存速度比外存快的多,指令先读入内存再执行,整体时间会变短。比如4条指令循环执行1000次 ,“内存读4000次” 时间加上外存读4次时间,会比外存读4000次节省大量的时间。(原因2)、现代计算机的外部存储(比如磁盘),一次I/O会读入一大块数据,即一次读入n条指令,执行n条
2021-07-20 10:45:08 3470
原创 达人-C语言
#include <stdio.h>struct Stu{ int age; char* name; int i; int j;};Stu plus(int x,int y){ Stu stu; stu.age=10; stu.name="dingshuo"; return stu;}void main(){ Stu stu = plus(1,2); return;}
2021-06-21 18:46:45 254
原创 CSAPP Computer System A Programmer Perspective
一个w位的数,最高位为1,解析为无符号数、无符号数后,两个数的绝对值的和为2^w。例如:1011,解析为无符号数为11,有符号数为-5,绝对值相加的和为162.3、整数的运算2.3.1 无符号加法两个w位的无符号数x,y相加,如果产生溢出,溢出到w+1位,此时该位值为1。此时,舍弃溢出位后的实际的值为 x+y-2^w (w+1位的值为2^w)例:4位无符号数,9(1001) 和10(1010),不考虑溢出,相加结果为19(10011),而去除溢出位后的结果为3。 1001 1010--
2021-06-17 15:12:22 185
原创 VMware下ubuntu全屏显示
需要在ubuntu上安装VMware Tools1.1 安装 vmware tools进入ubuntu系统后,点击虚拟机上的【虚拟机】->【安装 vmware tools】,回到桌面回看到一个vmware tools的 cdrom图标。1.2 解压安装复制 VMwareTools-10.0.10-4301679.tar.gz(版本根据自己的实际情况) 到/home/lance/目录下。 用命令【tar -xzvf VMwareTools-10.0.10-4301679.tar.gz
2021-05-16 12:09:22 1071
原创 11、进入保护模式
;计算GDT所在的逻辑段地址{ mov ax,[cs:gdt_base+0x7c00] ;0X00007E00的低16位放入ax mov dx,[cs:gdt_base+0x7c00+0x02] ;0X00007E00的高16位放入dx mov bx,16 div bx ;商(段地址)在ax,余数(段内偏移地址)在dx中 mov ds,ax mov bx,dx ;段内起始偏移地址
2021-05-10 15:27:41 191
原创 11、进入保护模式-V
1、保护模式是要保护什么?在实模式下下面这么段程序0~1000字节是中断向量表mov ax,0mov ds,axmov byte [0x30],0上面的3行程序破坏了中断向量表保护模式下,每个程序都有个特权级,特权级从高到低分别是0~3( 0最高, 3最低)2、全局描述符表GDT和全局描述符表寄存器GDTR我们知道,为了让程序在内存中能自由浮动而又不影响它的正常执行,处理器将内存划分成逻辑上的段,并在指令中使用段内偏移地址。在保护模式下,对内存的访问仍然使用段地址和偏移地
2021-04-28 22:01:55 142 1
effective java 第三版 中文 第3版
2019-04-21
研磨设计模式 陈臣.王斌.扫描版 具体看:资源描述
2018-05-17
计算机英语
2016-04-27
Expert One-on-One J2EE Design and Development.chm
2010-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人