【前端知识】Javascript进阶-类和继承
文章目录
- 概述
- 一、类(Class)
- 二、继承(Inheritance)
- 三、继承的实现方式
- 作用
- 一、类和作用
- 二、继承和作用
概述
当然可以,以下是对JavaScript中类和继承的详细介绍:
一、类(Class)
-
定义:
- 类是创建对象的模板或蓝图,它定义了对象的属性和方法。
- 在JavaScript中,类是通过
class
关键字定义的。
-
语法:
- 类的定义以
class
关键字开始,后面跟着类名。 - 类体由一对大括号
{}
包围,其中包含构造函数和方法。
- 类的定义以
-
构造函数:
- 构造函数是一个特殊的方法,用于在创建对象时初始化对象的属性。
- 构造函数在类中使用
constructor
关键字定义。
-
方法:
- 方法是类中的函数,用于执行特定的操作。
- 方法定义在类体中,可以通过
this
关键字访问对象的属性和其他方法。
-
静态方法:
- 静态方法是属于类本身的方法,而不是属于类的实例。
- 静态方法使用
static
关键字定义,可以通过类名直接调用。
-
示例:
class Animal {constructor(name) {this.name = name;}speak() {console.log(`${this.name} makes a sound.`);}static species() {return 'Animal';}
}const dog = new Animal('Doggy');
dog.speak(); // 输出: Doggy makes a sound.
console.log(Animal.species()); // 输出: Animal
二、继承(Inheritance)
-
定义:
- 继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。
- 通过继承,子类可以重用父类的代码,从而实现代码的复用和扩展。
-
语法:
- 在JavaScript中,子类使用
extends
关键字来继承父类。 - 子类可以重写父类的方法,也可以添加新的属性和方法。
- 在JavaScript中,子类使用
-
super关键字:
super
关键字用于在子类中调用父类的构造函数和方法。- 在子类的构造函数中,
super()
必须被调用,以确保父类的属性被正确初始化。
-
示例:
class Dog extends Animal {constructor(name, breed) {super(name); // 调用父类的构造函数this.breed = breed;}speak() {console.log(`${this.name} barks.`); // 重写父类的方法}static species() {return 'Dog'; // 重写父类的静态方法}
}const myDog = new Dog('Buddy', 'Golden Retriever');
myDog.speak(); // 输出: Buddy barks.
console.log(Dog.species()); // 输出: Dog
- 继承的优缺点:
- 优点:
- 代码复用:通过继承,子类可以重用父类的属性和方法,避免重复编写代码。
- 组织代码:通过继承,可以将相关的属性和方法封装在一个类中,使代码结构更清晰。
- 多态:子类可以重写父类的方法,从而根据实际情况执行不同的代码逻辑。
- 缺点:
- 复杂性增加:随着继承层次的增加,代码可能会变得更加复杂和难以维护。
- 耦合度提高:子类与父类之间存在紧密的耦合关系,如果父类发生变化,子类也可能需要相应地进行修改。
- 优点:
三、继承的实现方式
在JavaScript中,实现继承的方式主要有以下几种,每种方式都有其独特的优点和缺点,并且适用于不同的场景。下面是每种继承方式的样例代码:
- 原型链继承:
function Parent(name) {this.name = name;this.colors = ['red', 'blue', 'green'];
}Parent.prototype.sayName = function() {console.log(this.name);
};function Child(name, age) {// 继承Parent的属性和方法Parent.call(this, name); // 借用构造函数继承属性this.age = age;
}// 设置Child的原型为Parent的一个实例,实现原型链继承方法
Child.prototype = new Parent();
Child.prototype.constructor = Child;Child.prototype.sayAge = function() {console.log(this.age);
};let child1 = new Child('Alice', 18);
let child2 = new Child('Bob', 20);child1.colors.push('black');
console.log(child1.colors); // ['red', 'blue', 'green', 'black']
console.log(child2.colors); // ['red', 'blue', 'green', 'black'] // 共享了父类实例的属性
console.log(child1.sayName() === child2.sayName()); // true,方法也被共享
注意:上面的代码实际上混合了原型链继承和借用构造函数继承,这不是纯粹的原型链继承。纯粹的原型链继承应该只设置子类的原型为父类的一个实例,不调用父类的构造函数。但这样做会导致子类实例无法拥有父类构造函数中定义的属性。为了避免这个问题,通常会结合使用借用构造函数继承和原型链继承,即组合继承。下面的样例将展示组合继承。
- 借用构造函数继承(也称为伪类继承):
function Parent(name) {this.name = name;this.colors = ['red', 'blue', 'green'];
}Parent.prototype.sayName = function() {console.log(this.name);
};function Child(name, age) {// 借用Parent的构造函数来继承属性Parent.call(this, name);this.age = age;
}// Child没有继承Parent的原型方法和属性
let child = new Child('Alice', 18);
console.log(child.name); // Alice
console.log(child.age); // 18
// console.log(child.sayName()); // TypeError: child.sayName is not a function
- 组合继承(原型链继承 + 借用构造函数继承):
function Parent(name) {this.name = name;this.colors = ['red', 'blue', 'green'];
}Parent.prototype.sayName = function() {console.log(this.name);
};function Child(name, age) {// 借用Parent的构造函数来继承属性Parent.call(this, name);this.age = age;
}// 原型链继承Parent的方法
Child.prototype = new Parent(); // 注意:这里不会执行Parent构造函数中的代码,只设置原型
Child.prototype.constructor = Child;Child.prototype.sayAge = function() {console.log(this.age);
};let child1 = new Child('Alice', 18);
let child2 = new Child('Bob', 20);child1.colors.push('black');
console.log(child1.colors); // ['red', 'blue', 'green', 'black']
console.log(child2.colors); // ['red', 'blue', 'green'] // 没有共享属性
console.log(child1.sayName() === child2.sayName()); // true,方法被共享
- 原型式继承(使用
Object.create
):
let person = {isHuman: false,printIntroduction: function() {console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);}
};let me = Object.create(person);me.name = 'John'; // "name" 是 me 的一个属性
me.isHuman = true; // "isHuman" 是 me 的一个属性me.printIntroduction(); // 输出: "My name is John. Am I human? true"
- 寄生组合式继承:
function Parent(name) {this.name = name;this.colors = ['red', 'blue', 'green'];
}Parent.prototype.sayName = function() {console.log(this.name);
};function Child(name, age) {Parent.call(this, name);this.age = age;
}// 创建一个父类实例的副本,并将其原型设置为父类的原型
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;Child.prototype.sayAge = function() {console.log(this.age);
};let child1 = new Child('Alice', 18);
let child2 = new Child('Bob', 20);child1.colors.push('black');
console.log(child1.colors); // ['red', 'blue', 'green', 'black']
console.log(child2.colors); // ['red', 'blue', 'green'] // 没有共享属性
console.log(child1.sayName() === child2.sayName()); // true,方法被共享
- ES6类继承:
class Parent {constructor(name) {this.name = name;this.colors = ['red', 'blue', 'green'];}sayName() {console.log(this.name);}
}class Child extends Parent {constructor(name, age) {super(name); // 调用父类的构造函数this.age = age;}sayAge() {console.log(this.age);}
}let child1 = new Child('Alice', 18);
let child2 = new Child('Bob', 20);child1.colors.push('black');
console.log(child1.colors); // ['red', 'blue', 'green', 'black']
console.log(child2.colors); // ['red', 'blue', 'green'] // 没有共享属性
console.log(child1.sayName() === child2.sayName()); // true,方法被共享
请注意,上面的样例代码中有些包含了不必要的或错误的继承方式混合(如第一个样例中的原型链继承和借用构造函数继承的混合),仅用于说明各种继承方式的概念和区别。在实际开发中,应该根据需要选择最合适的继承方式。
作用
在JavaScript中,类和继承的作用主要体现在以下几个方面:
一、类和作用
-
代码组织:
- 类提供了一种将相关功能(属性和方法)封装在一起的方式,使得代码更加模块化和易于管理。
- 通过类,开发者可以将复杂的逻辑分解成更小的、可复用的组件。
-
面向对象编程:
- 类是面向对象编程(OOP)的核心概念之一。
- 在JavaScript中,通过类的使用,开发者可以实现封装、继承和多态等OOP特性。
-
代码复用:
- 类允许创建多个具有相同属性和方法的对象实例,从而实现了代码的重用。
- 通过定义类,开发者可以避免在每个对象中重复编写相同的代码。
-
数据隐藏:
- 类提供了一种将内部状态(私有属性)与外部行为(公共方法)分离的方式。
- 通过类的封装,开发者可以隐藏对象的内部实现细节,只暴露必要的接口给外部使用。
-
可读性和维护性:
- 类使得代码更加结构化,易于阅读和理解。
- 当代码需要修改或扩展时,通过类的继承和多态等特性,开发者可以更加容易地实现这些需求。
二、继承和作用
-
代码复用:
- 继承允许子类重用父类的代码,包括属性和方法。
- 通过继承,子类可以继承父类的所有功能,而无需重新编写这些功能。
-
代码扩展:
- 继承允许子类在父类的基础上添加新的功能或修改现有功能。
- 通过重写父类的方法或添加新的方法,子类可以扩展父类的功能。
-
多态性:
- 继承使得子类能够以不同的方式实现父类中的方法。
- 通过多态性,开发者可以在不修改现有代码的情况下,使用不同的子类来实现不同的行为。
-
层次结构:
- 继承允许开发者创建具有层次结构的类体系。
- 在这种体系中,每个类都可以被视为一个特定类型的对象,而子类则是对该类型的进一步细化或扩展。
-
抽象和封装:
- 通过继承,开发者可以将通用的功能抽象到父类中,而将特定的功能封装到子类中。
- 这有助于减少代码冗余,提高代码的可维护性和可扩展性。
在JavaScript中,类和继承的引入使得开发者能够以更加面向对象的方式编写代码,从而提高了代码的可读性、可维护性和可扩展性。同时,通过类的封装和继承等特性,开发者可以更加容易地实现代码的重用和扩展。
相关文章:
【前端知识】Javascript进阶-类和继承
文章目录 概述一、类(Class)二、继承(Inheritance) 三、继承的实现方式作用一、类和作用二、继承和作用 概述 当然可以,以下是对JavaScript中类和继承的详细介绍: 一、类(Class) 定…...
Kylin麒麟操作系统 | Nginx服务部署
目录 一、理论储备1. Nginx概述2. Nginx与Apache的区别3. Nginx的服务配置 二、任务实施任务1 Nginx的编译安装1. Server配置2. 客户端测试 任务2 Nginx反向代理1. Server1配置2. Server2配置3. 客户端测试 一、理论储备 1. Nginx概述 Nginx是一个轻量级的web服务器ÿ…...
51单片机--- 串口控制仿真
51单片机--- 串口控制仿真 实验目标:51单片机接收串口数据,根据数据点亮LED。 实验步骤: 在Proteus里画出原理图 在Keil里用C语言编写程序 在Proteus中导入HEX文件,启动仿真 实验协议: 波特率115200 数据位:8位,停止位:1位,校验位:无。 命令格式: 一条命令为…...
<数据集>输电线塔杂物识别数据集<目标检测>
数据集下载链接 <数据集>输电线塔杂物识别数据集<目标检测>https://download.csdn.net/download/qq_53332949/90141102数据集格式:VOCYOLO格式 图片数量:1099张 标注数量(xml文件个数):1099 …...
HarmonyOS学习 --- Mac电脑获取手机UDID
一,手机打开开发者选项 1,打开“设置 > 关于本机”,连续点击7次版本号,打开开发者选项。 2,打开“USB调试”。 二,配置环境变量 获取OpenHarmony SDK 安装路径 /Users/admin/Library/OpenHarmony/Sdk/10…...
OpenIPC开源FPV之Adaptive-Link地面站代码解析
OpenIPC开源FPV之Adaptive-Link地面站代码解析 1. 源由2. 框架代码3. 软件配置3.1 默认配置3.2 加载配置3.3 更新配置 4. 通信例程4.1 TCP报文解析4.2 UDP报文发送 5. 特殊指令5.1 request_keyframe5.2 drop_gop5.3 resume_adaptive5.4 pause_adaptive 6. 总结7. 参考资料 1. 源…...
Linux Docker环境中解决中文字体乱码问题完整指南
问题背景 在Linux Docker环境中运行涉及中文显示的应用时(如Selenium网页截图、PDF生成等),经常会遇到中文显示为方块或乱码的问题。这是因为Linux系统默认没有安装中文字体所导致的。 解决方案 我们可以从Windows系统复制常用中文字体到D…...
[数据结构#1] 并查集 | FindRoot | Union | 优化 | 应用
目录 1. 并查集原理 问题背景 名称与编号映射 数据结构设计 2. 并查集基本操作 (1) 初始化 (2) 查询根节点 (FindRoot) (3) 合并集合 (Union) (4) 集合操作总结 并查集优化 (1) 路径压缩 (2) 按秩合并 3. 并查集的应用 (1) 统计省份数量 (2) 判断等式方程是否成…...
用于卫星影像间接RPC模型精化的通用光束法平差方法
引言 介绍了通用RPC模型的表达式,which has been down to death 描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。 每个影像都会对应一个三维点云,但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的,所以才需…...
关于Redis主从复制实验操作
需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! 需要搭建帮助的可以去taobao搜索Easy Company技术服务,谢谢!!! Redis主从复制需要一主二从(共三个Redis…...
【HarmonyOS】鸿蒙获取appIdentifier,Identifier
【HarmonyOS】鸿蒙获取appIdentifier,Identifier 一、前言 三方后台需要填写的所谓appIdentifier,Identifier信息,其实对应鸿蒙应用的appID。 二、解决方案: 注意,模拟器获取data.signatureInfo.appIndentifer为空…...
matplotlib(二)
目录 1、折线图(plot)与基础绘制图功能 1.1、设置图形风格 2、多坐标系显示图像 3、折线图的应用场景 1、折线图(plot)与基础绘制图功能 # import matplotlib.pyplot as plt # import random # #1.创建画布 # plt.figure(figs…...
Jenkins容器使用宿主机Docker(五)
DevOps之安装和配置 Jenkins (一) DevOps 之 CI/CD入门操作 (二) Sonar Qube介绍和安装(三) Harbor镜像仓库介绍&安装 (四) Jenkins容器使用宿主机Docker(五) Jenkins流水线初体验(六&#…...
基于前后端分离的食堂采购系统源码:从设计到开发的全流程详解
本篇文章,笔者将从系统设计到开发的全过程进行详解,帮助开发者和企业了解如何高效构建一套完善的食堂采购系统。 一、系统需求分析 在开发一套基于前后端分离的食堂采购系统前,必须对业务需求和功能模块进行详细分析,确保系统设…...
git使用教程(超详细)-透彻理解git
一.核心基础 核心概念有六个 首先请把与svn有关的一切概念暂时从你的脑海中移除掉,我们要重新认识本文所讲述的所有概念。 1.worktree worktree是一个目录,你在这里对文件进行增加、删除、修改。也就是我们常说的工作区。在git中worktree必须要与一个…...
Bugku---misc---隐写2
题目出处:首页 - Bugku CTF平台 ✨打开发现是一张图片,于是查看属性,放在010查看,这都是基本步骤了,发现里面有一个flag.rar!!!拿binwalk分析也确实存在 ✨于是按照压缩包的起始位置…...
数据仓库工具箱—读书笔记01(数据仓库、商业智能及维度建模初步)
数据仓库、商业智能及维度建模初步 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 博主在这里先把这本书"变薄"~有时间的小伙伴可以亲自再读一读,感受一下…...
将 Ubuntu 22.04 LTS 升级到 24.04 LTS
Ubuntu 24.04 LTS 将支持 Ubuntu 桌面、Ubuntu 服务器和 Ubuntu Core 5 年,直到 2029 年 4 月。 本文将介绍如何将当前 Ubuntu 22.04 系统升级到最新 Ubuntu 24.04 LTS版本。 备份个人数据 以防万一,把系统中的重要数据自己备份一下~ 安装配置SSH访问…...
Springboot3.x配置类(Configuration)和单元测试
配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。 集中化管理:借助Configuration注解,Spring Boot让用户能在一个或几个配…...
Python:类方法、实例方法与静态方法深度解析(补)
目录 一.实例变量 二.类变量 三.实例方法 四.类方法 五.静态方法 六.小结 总结 今天看程序时,发现自己好像忘了这三者的区别,所以重新写了一篇深度解析,希望之前看博客没看懂的小伙伴可以通过这个博客分清楚这三个方法。跟的是麦叔的课…...
Certimate:简化 SSL 证书管理的开源工具
引言 SSL(Secure Sockets Layer)证书对于保护网站和用户数据至关重要。然而,管理多个 SSL 证书可能变得繁琐和复杂。为了解决这个问题,Certimate 应运而生。Certimate 是一款开源的 SSL 证书管理工具,旨在简化 SSL 证书的申请、部署和续期流程。它特别适合需要管理多个域…...
rabbitMq举例
新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 生产者 代码举例 public String sendMsg(final String exchangeName,final String routingKey,final String msg) {} /*** 发送消息* param exchangeName exchangeName* param routin…...
人工智能增强的音频和聊天协作服务
论文标题:AI-enabled Audio and Chat Collaboration Services 中文标题:人工智能增强的音频和聊天协作服务 作者信息: Emil P. Andersen, Norwegian Defence Research Establishment (FFI), Kjeller, NorwayJesper R. Goksr, Sindre E. Ha…...
ctr: content digest XXX not found
1、问题描述 ctr 推送镜像到本地仓库报错 ctr: content digest sha256:b96e30ccb0a1e225493e53d4f81cb2c27183406e5f902ed43c4bf15dc6f21c9c: not found 2、问题原因 本人的平台是M1,正常情况下载镜像会自动按平台寻找版本,但是由于我下载的镜像版本没…...
java内存模型
文章目录 1.java内存模型2.重排序3.内存屏障3.1四类内存屏障指令 4.happens-before4.1 规则5.volatile5.1特性5.2规则5.3 内存语义5.4 内存屏障插入策略 1.java内存模型 java内存模型(JMM)定义了线程和主内存之间的抽象关系:线程之间的共享变…...
Java Object类与Objects类
1. Object 类 (1) Object类是Java中所有类的祖宗类,因此,Java中所有类的对象都可以直接使用Object类中提供的一些方法(public class Object)。 . (2) Object类常见方法 方法说明public String toString()返回对象的字符串形式public boolean eq…...
【目标检查】YOLO系列之:Triton 推理服务器Ultralytics YOLO11
Triton 推理服务器 1、引言2、Triton服务器2.1 什么是Triton Inference Server2.2 将YOLO11 导出为ONNX 格式2.3 设置Triton 模型库2.3.1 创建目录结构2.3.2 将导出的ONNX 模型移至Triton 资源库 2.4 运行Triton 推断服务器2.4.1 使用 Docker 运行Triton Inference Server2.4.2…...
力扣69. x 的平方根
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1:…...
关于目标检测YOLO 各版本区别v1-v11/vX/vR
概述 YOLO(You Only Look Once,你只看一次)是一系列开创性的实时目标检测模型,它们彻底改变了计算机视觉领域。由Joseph Redmon开发,后续版本由不同研究人员迭代,YOLO模型以其在图像中检测对象的高速度和准…...
求成绩的平均值,统计低于平均分的人数
【问题描述】编写函数double average(double score[ ], int n,int *m)对存放在实型数组中考试成绩进行求平均分和低于平均分的人数,要求在主函数里面进行班级人数和成绩的输入,调用average函数进行计算成绩平均值和低于平均分的人数后,返回主…...
SGD、BGD、MBGD 之间的区别
文章目录 SGD(Stochastic Gradient Descent,随机梯度下降)BGD(Batch Gradient Descent,批量梯度下降)MBGD(Mini-Batch Gradient Descent,小批量梯度下降) 前置࿱…...
Android -- WebView之loadData加载html字符串显示网页
目录 前言1. loadUrl 加载网页地址2. loadData 加载Html字符来显示网页3. loadDataWithBaseURL4. 总结 前言 最近在给一个老项目做64位so文件的适配,当应用发布到应用市场上后,用户反馈64位手机上的网页加载不出内容,但32位的手机上是正常…...
单片机:实现数码管00盗99显示(附带源码)
单片机实现数码管00到99显示 在嵌入式开发中,数码管是最常用的显示设备之一,特别适合用于显示数字信息。本项目的目标是利用8051单片机控制数码管实现数字显示,从00到99的循环显示。我们将通过按键或定时器来控制数字的增减,并通…...
大厂面试智力题大全(详细解题思路,持续更新)
目录 八个球有一个比较重,问称几次可以把较重的球拎出来,具体称重的方法是怎样的? 64 匹马 8 个赛道,找出前四名,最少赛多少场(腾讯) 一个城市的加油站数量 5L的水桶和3L的水桶怎么量出4L的水 有一堆粗细不均匀的绳子,燃烧完一个绳子需要2小时,如何用这些绳子凑出…...
使用 acme.sh 签发和自动续期 ssl https 证书
acme.sh 是一个热度非常高的签发和自动续期 https 证书的工具,虽然官网上提供了充分的操作说明,但是不够简洁,本文以在 nginx 中签发和配置http 为例,列出必要的几个简单步骤。 安装 因为网络原因,github 大部分人是…...
YOLOv9改进,YOLOv9引入DLKA-Attention可变形大核注意力,WACV2024,二次创新RepNCSPELAN4结构
摘要 作者引入了一种称为可变形大核注意力 (D-LKA Attention) 的新方法来增强医学图像分割。这种方法使用大型卷积内核有效地捕获体积上下文,避免了过多的计算需求。D-LKA Attention 还受益于可变形卷积,以适应不同的数据模式。 理论介绍 大核卷积(Large Kernel Convolu…...
docker安装mysql8
上一篇提到了docker安装mysql5.7和mysql8有所不同,这一篇说一下mysql8的安装 1、宿主机创建映射目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /data/mysql8/conf这里我放在了/data/mysql8目录下 2、拉取mysql镜像 docker pull mysql:8.…...
【云原生知识】Kubernets实践-前端服务如何访问后端服务
文章目录 概述步骤1:部署后端服务步骤2:配置Nginx步骤3:创建Nginx服务总结 如何确保 Nginx 能持续访问后端服务?相关文献 概述 假设你正在使用Kubernetes作为容器云平台,以下是如何配置Nginx以及相关服务,…...
M3DM的autodl环境构建过程笔记
文章目录 在3D-ADS环境https://blog.csdn.net/tfxzgp/article/details/144259472基础上构建(失败的记录,不用看)更换镜像重来(成功)安装缺少的包修改models.py中的RGB和点云backbone的路径修改main.py路径参数运行 在3D-ADS环境https://blog.…...
jmeter CLI Mode 传参实现动态设置用户数
一.需求 CLI 运行模式下每次运行想要传入不同的用户数,比如寻找瓶颈值的场景,需要运行多次设置不同的用户数。 二.解决思路 查看官方API Apache JMeter - Users Manual: Getting Started api CLI Mode 一节中提到可以使用如下参数做属性的替换&#…...
Mac系统下 jdk和maven 安装教程
一、jdk安装教程 1、先去官网选择对应版本下载 官网网址:Java SE | Oracle Technology Network | Oracle 中国 这里我选择的是jdk8的版本,如果你们想下载更高的版本就选择其他版本,目前大部分公司和教程使用jdk8的版本比较多。 点击macos&a…...
pyfink1.20版本下实现消费kafka中数据并实时计算
1、环境 JDK版本:1.8.0_412python版本:3.10.6apache-flink版本:1.20.0flink版本:1.20kafka版本:kafka_2.12-3.1.1flink-sql-connector-kafka版本:3.3.0-1.202、执行python-flink脚本 从kafka的demo获取消…...
【经验分享】私有云运维的知识点
最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...
影像组学+病理组学+深度学习人工智能应用
影像组学 基础学习内容: 特征提取:使用pyradiomics进行形状、纹理、小波变换等特征提取。特征筛选:应用ICC、相关系数、mRMR、Lasso等方法。建模:使用LR、SVM、RF、XGBoost、LightGBM等机器学习算法。模型评估:通过A…...
how to write 述职pptx as a tech manager
As a technical manager, crafting an effective 述职 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…...
用户发送请求后服务端i/o工作过程
华子目录 服务端i/o介绍磁盘i/o机械磁盘的寻道时间、旋转延迟和数据传输时间常见的机械磁盘平均寻道时间值常见磁盘的平均延迟时间每秒最大IOPS的计算方法 网络i/o网络I/O处理过程磁盘和网络i/o 一次完整的请求在内部的执行过程 服务端i/o介绍 i/o在计算机中指Input/Output&am…...
功能篇:springboot实现防盗链功能
防盗链(Hotlink Protection)是一种防止其他网站直接链接到你网站的资源(如图片、视频等),从而节省带宽和保护内容的有效手段。在Spring Boot应用程序中实现防盗链功能,可以通过多种方式来达成,例…...
MySQL迁移SQLite
将 MySQL 的表结构和数据迁移到 SQLite,可以通过以下步骤实现。这个过程主要包括导出 MySQL 数据库到 SQL 文件,然后将其导入到 SQLite 数据库中。 步骤 1: 导出 MySQL 数据库 首先,需要将 MySQL 数据库导出为一个 SQL 文件。可以使用 mysq…...
嵌入式面试知识点总结 -- 面试篇
1、请你做个简单的自我介绍 把所有工作内容,分类整理出和岗位匹配的能力关键字,然后围绕关键字展开讲。每段经历要用数据来支撑。 例如: 面试官你好,我叫XXX,毕业于XXX,很荣幸参加此次面试。 围绕面试岗位…...
华为OD机试真题---观看文艺汇演问题
华为OD机试中的“观看文艺汇演问题”是一道考察算法与数据结构能力的题目。以下是对该题目的详细解析: 一、题目描述 为了庆祝某个重要节日(如中国共产党成立100周年),某公园将举行多场文艺表演。很多演出都是同时进行的&#x…...