当前位置: 首页 > news >正文

学习笔记——《Java面向对象程序设计》-继承

参考教材:

Java面向对象程序设计(第3版)微课视频版 清华大学出版社

1、定义子类

class 子类名 extends 父类名{......
}如:
class Student extends People{......
}

    (1)如果一个类的声明中没有extends关键字,这个类被系统默认为是Object的子类。Object是java.lang包中的类。

(2)除了Object类,任何(子)类有且仅有一个父类。

如 class Student extends People,Person语法错误。

2、子类的继承性

(1)类可以有两种重要的成员:成员变量和成员方法。

 子类中的成员变量或方法有一部分是子类自己声明的;另一部分是从父类继承的。

(2)什么叫继承呢?

子类继承父类的成员变量:像在子类中直接声明,可以被子类中自己定义的任何实例方法操作;

子类继承父类的方法:像在子类中直接声明,可以被子类中自己定义的任何实例方法调用;

 也就是说,如果子类中定义的实例方法不能操作父类的某个成员变量或方法,那么该成员变量或方法就没有被子类继承。

(3)子类和父类在同一个包中的继承性

继承父类中不是private的成员变量或方法作为自己的成员变量或方法(继承protected、public、友好的变量及方法);继承的成员变量和方法的访问权限保持不变;

(4)子类和父类不在同一个包中的继承性

子类继承父类的protected、public成员变量或方法;继承的成员变量和方法的访问权限保持不变;

子类不能继承父类的友好变量和友好方法。

public class People {int age;String country;String sex;protected String workType;private String idcard;People(){System.out.println("调用People类的无参构造函数!");}
}class Worker extends People{	String position;public static void main(String[] args) {Worker one = new Worker();one.age = 10;one.country = "China";one.workType = "worker";//one.idcard = "123456";		//×,在同一个包中,不继承private变量	}
}
package eight;
public class People1 {int age;String country;public String sex;protected String workType;private String idcard;public People1(){System.out.println("调用People类的无参构造函数!");}
}package object.oriented;
import eight.People1;class Teacher extends People1{public static void main(String[] args) {Teacher two = new Teacher();two.sex = "male";   //√,子类继承父类的public成员变量//two.age = 10;		//×,不在同一个包中时,不继承友好变量two.workType = "student";    //√,不在同一个包中时,可继承protected变量}
}

注意:

无论是否在一个包中,均可继承protected、public变量及方法;

只有在同一个包中,子类才可继承友好变量及友好方法;

3、子类对象的构造过程

构造过程:用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,也就是说,如果子类的构造方法中没有明显地指明使用父类的哪个构造方法,子类就调用父类中不带参数的构造方法。(super关键字)

子类对象的特点:

(1)用子类创建对象时,不仅子类中声明的成员变量被分配了内存

(2)父类的成员变量也都分配了内存空间,但只将其中一部分(子类继承的那部分)作为分配给子类对象的变量。

(3)子类中还有一部分方法是从父类继承的,这部分方法却可以操作这部分未继承的变量。

4、成员变量的隐藏和方法重写 

 成员变量的隐藏

对于子类可以从父类继承的成员变量,只要子类中声明的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;

需要注意:子类对象可以调用从父类继承的方法操作隐藏的成员变量

package object.oriented;class People1 {public double x; // 父类的double类型成员变量xpublic void setX(double x) {this.x = x; // 设置父类的x}public double getDoubleX() {return x; // 返回父类的double x}
}class Student1 extends People1 {int x; // 子类定义int类型x,隐藏父类的double xpublic int getX() {return x; // 返回子类的int x}
}public class Example5_3 {public static void main(String args[]) {Student1 stu = new Student1();stu.x = 98; // 合法:操作子类的int xSystem.out.println("对象stu的x的值是:" + stu.getX()); // 输出98// stu.x = 98.98; // 非法:子类x是int,不能赋double值stu.setX(98.98); // 合法:调用父类的setX方法,设置父类的double xSystem.out.println("父类的x的值是:" + stu.getDoubleX()); // 输出98.98System.out.println("子类的x的值是:" + stu.x); // 输出98(未被修改)}
}

方法重写

子类通过重写可以隐藏已继承的实例方法(方法重写也被称为方法覆盖)。如果子类可以继承父类的某个实例方法,那么子类就有权利重写这个方法;

重写:子类中定义一个方法,这个方法的类型和父类方法的类型一致,或父类的方法类型的子类型,且方法名、参数个数、参数类型和父类的方法完全相同。

(子类型是指:如果父类的方法类型是“类”,那么允许子类的重写方法类型是“子类”)

重写方法既可以操作继承的成员变量,也可以操作子类新声明的成员变量。(不能操作隐藏的成员变量)

重写父类的方法时,不可以降低方法的访问权限。

class AA{double f(float x,float y) {return x+y;}public int g(int x,int y) {return x+y;}
}class BB extends AA{double f(float x,float y) {return x*y;}
}public class Example5_4 {public static void main(String[] args) {BB b = new BB();double result = b.f(5, 6);	//b调用重写的方法System.out.println("调用重写方法得到的结果:"+ result);int m = b.g(3, 5);System.out.println("调用继承方法得到的结果:"+ m);}
}

 5、super关键字

(1)在子类中,想使用被子类隐藏的成员变量或方法就可以使用super关键字。

// 定义Animal类
class Animals {		String name = "牧羊犬";//定义动物叫的方法		void shout() {			  System.out.println("动物发出叫声");}
}// 定义Dog类继承动物类
class Dogs extends Animals {    //重写父类Animal中的shout()方法,扩大了访问权限public void shout() {			 super.shout();      //调用父类中的shout()方法System.out.println("汪汪汪……");  }public void printName(){//调用父类中的name属性System.out.println("名字:"+super.name);          }
}public class Example05 {public static void main(String[] args) {Dogs dog = new Dogs();  // 创建Dog类的实例对象dog.shout();            // 调用dog重写的shout()方法dog.printName();        // 调用Dog类中的printName()方法}}

(2)使用super调用父类的构造方法

子类不继承父类的构造方法;

子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用super关键字来表示,而且super必须是子类构造方法的第一条语句。

public class Student {int number;String name;Student(){}Student(int number,String name){this.number=number;this.name=name;}public int getNumber() {return number;}public String getName() {return name;}
}public class UniverStudent extends Student{boolean isMarriage;UniverStudent(int number,String name,boolean b){super(number,name);		//调用父类的构造方法}public boolean getIsMarriage() {return isMarriage;}
}

(3)使用super操作被隐藏的成员变量和方法

子类想使用被子类隐藏的成员变量或方法,就可以使用super关键字。

当super调用隐藏的方法时,该方法中出现的成员变量是指被隐藏的成员变量。

6、final关键字

final的英文意思是“最终”。在Java中,可以使用final关键字声明类、属性、方法,在声明时需要注意以下几点:

(1)使用final修饰的类不能有子类,即不能被继承。

(2)使用final修饰的方法不能被子类重写。

(3)使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改。

Java中的类被final关键字修饰后,该类将不可以被继承,即不能够派生子类。

// 使用final关键字修饰Animal类
final class Animal {
}
// Dog类继承Animal类
//class Dog extends Animal //类被final关键字修饰后,该类将不可以被继承
//{
//}public class Example07 {public static void main(String[] args) {}
}

当一个类的方法被final关键字修饰后,这个类的子类将不能重写该方法。

Java中被final修饰的变量是为常量,常量只能在声明时被赋值一次,在后面的程序中,其值不能被改变。如果再次对该常量赋值,则程序会在编译时报错。

在使用final声明变量时,要求全部的字母大写。如果一个程序中的变量使用public static final声明,则此变量将成为全局变量,如下面代码所示。 public static final String NAME = "哈士奇";

 public class Example09 {public static void main(String[] args) {final int AGE = 18;    // 第一次可以赋值AGE = 20;               // 再次赋值会报错}}

7、对象的上转型对象

假设,A类是B类的父类,当用子类创建一个对象,并把这个对象的引用放到父类的对象中时,比如:

A  a;
a = new B();
//或
A a;
B  b = new B();
a = b;
//这时,称对象a是对象b的上转型对象。
class Animal {
}public class Tiger extends Animal{public static void main(String[] args) {Animal a;Tiger b = new Tiger();a = b;}
}

对象的上转型的实体是由子类负责创建的,但上转型对象会失去源对象的一些属性和功能。

(1)上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能调用子类新增的方法(失掉了一些功能)

(2)上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类的重写方法。

上转型对象操作子类继承的方法或子类重写的方法,其作用等价于子类对象去调用这些方法。

因此,如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。

class Anthropoid {double m = 12.58;void crySpeak(String s) {System.out.println(s);}}class People extends Anthropoid{char m = 'A';int n = 60;void computer(int a,int b) {int c = a+b;System.out.println("a+b的和为"+c);}void crySpeak(String s) {System.out.println(m+"**"+s+"**"+m);}}public class Example5_9{public static void main(String args[]) {People person = new People();Anthropoid monkey = person;		//monkey是person对象的上转型对象monkey.crySpeak("I love this game"); 	//等同于person调用重写的crySpeak方法//monkey.n = 100;		//非法,因为n是子类新增的成员变量//monkey.computer(12,19);	//非法,因为computer()是子类新增的方法System.out.println(monkey.m); 	//操作隐藏的m,不等同于person.mSystem.out.println(person.m); 	//操作子类的mPeople zhang = (People)monkey;	//将上转型对象强制转化为子类的对象zhang.computer(55, 33); 		//zhang是子类的对象zhang.m = 'T';System.out.println(zhang.m);}
}

相关文章:

学习笔记——《Java面向对象程序设计》-继承

参考教材: Java面向对象程序设计(第3版)微课视频版 清华大学出版社 1、定义子类 class 子类名 extends 父类名{...... }如: class Student extends People{...... } (1)如果一个类的声明中没有extends关…...

基于javaweb的SpringBoot校园失物招领系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

什么事Nginx,及使用Nginx部署vue项目(非服务器Nginx压缩包版)

什么是 Nginx? Nginx(发音为 “engine-x”)是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。它以其高性能、高并发处理能力和低资源消耗而闻名。以下是 Nginx 的主要特性和用途: 主要特性 高性能和高并发 Nginx 能够处理大量并发连接,适合高…...

nodejs使用require导入npm包,开发依赖和生产依赖 ,全局安装

nodejs使用require导入npm包,开发依赖和生产依赖 ,全局安装 ✅ 一、Node.js 中使用 require() 导入 npm 包 // 导入第三方包(例如 axios) const axios require(axios);// 使用 axios.get(https://api.example.com).then(res &g…...

CSS在线格式化 - 加菲工具

CSS在线格式化 打开网站 加菲工具 选择“CSS在线格式化” 或者直接访问 https://www.orcc.top/tools/css 输入CSS代码,点击左上角的“格式化”按钮 得到格式化后的结果...

图片转base64 - 加菲工具 - 在线转换

图片转base64 - 加菲工具 先进入“加菲工具” 网 打开 https://www.orcc.top, 选择 “图片转base64”功能 选择需要转换的图片 复制 点击“复制”按钮,即可复制转换好的base64编码数据,可以直接用于img标签。...

性能比拼: Redis vs Dragonfly

本内容是对知名性能评测博主 Anton Putra Redis vs Dragonfly Performance (Latency - Throughput - Saturation) 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本视频中,我们将对比 Redis 和 Dragonfly。我们将观察 set 与 get 操作的延迟&#xff…...

如何收集用户白屏/长时间无响应/接口超时问题

想象一下这样的场景:一位用户在午休时间打开某电商应用,准备购买一件心仪已久的商品。然而,页面加载了数秒后依然是一片空白,或者点击“加入购物车”按钮后没有任何反馈,甚至在结算时接口超时导致订单失败。用户的耐心被迅速消耗殆尽,关闭应用,转而选择了竞争对手的产品…...

来啦,烫,查询达梦表占用空间

想象一下oracle,可以查dba_segments,但是这个不可靠(达梦官方连说明书都没有) 先拼接一个sql set lineshow off SELECT SELECT ||||OWNER|||| AS OWNER,||||TABLE_NAME|||| AS TABLE_NAME,TABLE_USED_SPACE(||||OWNER||||,||||T…...

# 利用迁移学习优化食物分类模型:基于ResNet18的实践

利用迁移学习优化食物分类模型:基于ResNet18的实践 在深度学习的众多应用中,图像分类一直是一个热门且具有挑战性的领域。随着研究的深入,我们发现利用预训练模型进行迁移学习是一种非常有效的策略,可以显著提高模型的性能&#…...

AT24C02芯片简介:小巧强大的串行EEPROM存储器

一、AT24C02概述 AT24C02是一款2K位(即256字节)的串行EEPROM芯片,采用IC(Inter-Integrated Circuit)总线进行通信,适合低功耗、小容量存储需求。 主要特性: 项目 参数 存储容量 2Kb&#x…...

【Vue】状态管理(Vuex、Pinia)

个人主页:Guiat 归属专栏:Vue 文章目录 1. 状态管理概述1.1 什么是状态管理1.2 为什么需要状态管理 2. Vuex基础2.1 Vuex核心概念2.1.1 State2.1.2 Getters2.1.3 Mutations2.1.4 Actions2.1.5 Modules 2.2 Vuex辅助函数2.2.1 mapState2.2.2 mapGetters2.…...

施磊老师基于muduo网络库的集群聊天服务器(四)

文章目录 实现登录业务登录业务代码补全数据库接口:查询,更新状态注意学习一下里面用到的数据库api测试与问题**问题1:****问题2:** 用户连接信息与线程安全聊天服务器是长连接服务器如何找到用户B的连接?在业务层存储用户的连接信息多线程安全问题加锁! 处理客户端…...

深度学习-全连接神经网络(过拟合,欠拟合。批量标准化)

七、过拟合与欠拟合 在训练深层神经网络时,由于模型参数较多,在数据量不足时很容易过拟合。而正则化技术主要就是用于防止过拟合,提升模型的泛化能力(对新数据表现良好)和鲁棒性(对异常数据表现良好)。 1. 概念认知 …...

访问Maven私服的教程

1.首先准备好maven私服的启动器,到bin目录下启动: 2.等待加载,加载过程比较长: 3.访问端口号: 4.仓库简介: 5.在maven的setting中 servers配置信息(设置私服访问的密码): 6.配置私服仓库地址: 7.配置上传地址(私服地址): 8.在自己的副项…...

Linux系统编程 day9 SIGCHLD and 线程

SIGCHLD信号 只要子进程信号发生改变&#xff0c;就会产生SIGCHLD信号。 借助SIGCHLD信号回收子进程 回收子进程只跟父进程有关。如果不使用循环回收多个子进程&#xff0c;会产生多个僵尸进程&#xff0c;原因是因为这个信号不会循环等待。 #include<stdio.h> #incl…...

Linux 内核中 cgroup 子系统 cpuset 是什么?

cpuset 是 Linux 内核中 cgroup&#xff08;控制组&#xff09; 的一个子系统&#xff0c;用于将一组进程&#xff08;或任务&#xff09;绑定到特定的 CPU 核心和 内存节点&#xff08;NUMA 节点&#xff09;上运行。它通过限制进程的 CPU 和内存资源的使用范围&#xff0c;优…...

乐视系列玩机---乐视2 x520 x528等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析

乐视2 x520 x528 x526等,搭载了高通骁龙652处理器,骁龙652的GPU性能甚至优于前一年的骁龙810,配备了3GB RAM和32GB ROM的存储空间, 通过博文了解💝💝💝 1💝💝💝-----详细解析乐视2 x520系列黑砖线刷救砖的步骤 2💝💝💝----官方两种更新卡刷步骤以及刷…...

电容加速电路!

大家好&#xff0c;我是记得诚。 今天分享一个小电路&#xff1a;电容加速电路。 下面是一个普通的三极管开关电路&#xff0c;区别是多了一个C1&#xff0c;C1被称为加速电容。作用是&#xff1a;加速三极管VT1的开通和截止&#xff0c;做到快开快关。 工作原理&#xff1a;…...

MCP Host、MCP Client、MCP Server全流程实战

目录 准备工作 MCP Server 实现 调试工作 MCP Client 实现 MCP Host 配置 第一步:配置支持 function calling的 LLM 第二步:添加MCP Server 一般有两种方式,第一种json配置,第二种直接是Command形式,我这里采用Command形式 第三步:使用MCP Server 准备工作 安装…...

Win10一体机(MES电脑设置上电自动开机)

找个键盘&#xff0c;带线的那种&#xff0c;插到电脑上&#xff0c;电脑开机&#xff1b;连续点按F11&#xff1b;通过↑↓键选择Enter Setup 然后回车&#xff1b; 选择 smart settings &#xff1b; 选择 Restore AC Power Loss By IO 回车&#xff1b; 将prower off 改为…...

强化学习和微调 区别如下

强化学习和微调 区别如下 定义与概念 强化学习**:是一种机器学习范式,强调智能体(agent)如何在环境中采取一系列行动,以最大化累积奖励**。智能体通过与环境进行交互,根据环境反馈的奖励信号来学习最优的行为策略。例如,机器人通过不断尝试不同的动作来学习如何在复杂环…...

【EasyPan】文件上传、文件秒传、文件转码、文件合并、异步转码、视频切割分析

【EasyPan】项目常见问题解答&#xff08;自用&持续更新中…&#xff09;汇总版 文件上传方法解析 一、方法总览 Transactional(rollbackFor Exception.class) public UploadResultDto uploadFile(...)核心能力&#xff1a; 秒传验证&#xff1a;通过MD5文件大小实现文…...

React18+ 项目搭建-从初始化、技术选型到开发部署的全流程规划

搭建一个 React 项目需要从项目初始化、技术选型到开发部署的全流程规划。以下是详细步骤和推荐的技术栈&#xff1a; 一、项目初始化 1. 选择脚手架工具 推荐工具&#xff1a; Vite&#xff08;现代轻量级工具&#xff0c;支持 React 模板&#xff0c;速度快&#xff09;&am…...

day3 打卡训练营

循环语句和判断语句之前已经会了&#xff0c;把列表的方法练一练 浙大疏锦行 python训练营介绍...

MySQL VS SQL Server:优缺点全解析

数据库选型、企业协作、技术生态、云数据库 1.1 MySQL优缺点分析 优点 开源免费 社区版完全免费&#xff0c;适合预算有限的企业 允许修改源码定制功能&#xff08;需遵守GPL协议&#xff09; 跨平台兼容性 支持Windows/Linux/macOS&#xff0c;适配混合环境部署 云服务商…...

【CPP】固定大小内存池

程序运行时&#xff0c;通常会频繁地进行内存的分配和释放操作。传统的内存分配方式&#xff08;如使用new和delete运算符&#xff09;可能会导致内存碎片的产生&#xff0c;并且每次分配和释放内存都有一定的时间开销。内存池通过在程序启动时一次性分配一大块内存或一次性分配…...

[数据结构]树和二叉树

概念 树是一种 非线性 的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09;个有限结点组成一个具有层次关系的集合。 树形结构中&#xff0c;子树之间不能有交集&#xff0c;否则就不是树形结构 双亲结点或父结点 &#xff1a;若一个结点含有子结点&#xff0c;则…...

监控页面卡顿PerformanceObserver

监控页面卡顿PerformanceObserver 性能观察器掘金 const observer new PerformanceObserver((list) > {}); observer.observe({entryTypes: [longtask], })...

Web开发-JavaEE应用JNDI注入RMI服务LDAP服务DNS服务高版本限制绕过

知识点&#xff1a; 1、安全开发-JavaEE-JNDI注入-LADP&RMI&DNS等 2、安全开发-JavaEE-JNDI注入-项目工具&手工原理等 演示案例-WEB开发-JavaEE-JNDI注入&LDAP&RMI服务&DNS服务&高版本限制绕过 JNDI全称为 Java Naming and DirectoryInterface&am…...

深度学习训练中的显存溢出问题分析与优化:以UNet图像去噪为例

最近在训练一个基于 Tiny-UNet 的图像去噪模型时&#xff0c;我遇到了经典但棘手的错误&#xff1a; RuntimeError: CUDA out of memory。本文记录了我如何从复现、分析&#xff0c;到逐步优化并成功解决该问题的全过程&#xff0c;希望对深度学习开发者有所借鉴。 训练数据&am…...

【Spring】单例模式的创建方式(Bean解析)

在Java中&#xff0c;单例模式&#xff08;Singleton Pattern&#xff09;确保一个类只有一个实例&#xff0c;并提供全局访问点。以下是实现单例的五种常见方式&#xff1a;懒汉式、饿汉式、双重检查锁、静态内部类和枚举&#xff0c;包括代码示例和优缺点分析。 1. 懒汉式&am…...

小小矩阵设计

在电气设计图中&#xff0c;矩阵设计的接线方法是通过结构化布局实现多灵活链接的技术&#xff0c;常用于信号切换、配电调压或更加复杂的控制场景。 今天聊一种在电气图纸中用到的一种简单矩阵接法&#xff0c;一眼就看明白&#xff0c;很大程度简化了程序控制点和继电器的使用…...

IOT项目——双轴追光系统

双轴太阳能追光系统 - ESP32实现 系统概述 这个系统使用&#xff1a; ESP32开发板2个舵机&#xff08;水平方向和垂直方向&#xff09;4个光敏电阻&#xff08;用于检测光照方向&#xff09;适当的电阻&#xff08;用于光敏电阻分压&#xff09; 接线示意图 --------------…...

深度学习基石:神经网络核心知识全解析(一)

神经网络核心知识全解析 一、神经网络概述 神经网络作为机器学习领域的关键算法&#xff0c;在现代生活中发挥着重要作用&#xff0c;广泛应用于图像识别、语音处理、智能推荐等诸多领域&#xff0c;深刻影响着人们的日常生活。它通过模拟人类大脑神经系统的结构和功能&#…...

什么是 金字塔缩放(Multi-scale Input)

金字塔缩放 什么是金字塔缩放(Multi-scale Input)什么场景下会用到金字塔缩放?图像识别目标跟踪图像压缩视频处理如何在计算机程序中实现金字塔缩放?准备数据缩小数据(构建金字塔的上层)存储数据使用数据(在程序中应用金字塔缩放)金字塔缩放的记忆卡片什么是金字塔缩放(M…...

从零开始配置 Zabbix 数据库监控:MySQL 实战指南

Zabbix作为一款开源的分布式监控工具&#xff0c;在监控MySQL数据库方面具有显著优势&#xff0c;能够为数据库的稳定运行、性能优化和故障排查提供全面支持。以下是使用Zabbix监控MySQL数据库的配置。 一、安装 Zabbix Agent 和 MySQL 1. 安装 Zabbix Agent services:zabbix…...

机器学习超参数优化全解析

机器学习超参数优化全解析 摘要 本文全面深入地剖析了机器学习模型中的超参数优化策略&#xff0c;涵盖了从参数与超参数的本质区别&#xff0c;到核心超参数&#xff08;如学习率、批量大小、训练周期&#xff09;的动态调整方法&#xff1b;从自动化超参数优化技术&#xf…...

【算法】双指针8道速通(C++)

1. 移动零 思路&#xff1a; 拿示例1的数据来举例&#xff0c;定义两个指针&#xff0c;cur和dest&#xff0c;cur表示当前遍历的元素&#xff0c;dest以及之前表示非零元素 先用cur去找非零元素&#xff0c;每找到一个非零元素&#xff0c;就让dest的下一个元素与之交换 单个…...

synchronized锁

在了解锁之前我们要先了解对象布局 什么是java对象布局 在JVM中&#xff0c;对象在内存中存储的布局可以分为三块区域&#xff0c;即实例化之后的对象 对象头&#xff1a;分配的空间是固定的12Byte&#xff0c;由Mark Word&#xff08;标记字段&#xff09;和Class Pointer&…...

实训Day-2 流量分析与安全杂项

目录 实训Day-2-1流量分析实战 实训目的 实训任务1 SYN半链接攻击流量分析 实训任务2 SQL注入攻击流量分析一 实训任务3 SQL注入攻击流量分析二 实训任务4 Web入侵溯源一 实训任务5 Web入侵溯源二 ​编辑 实训Day-2-1安全杂项实战 实训目的 实训任务1 流量分析 FTP…...

LOH 怎么进行深度标准化?

The panel of normals is applied by replacing the germline read depth of the sample with the median read depth of samples with the same genotype in our panel. 1.解释: panel of normal 正常组织&#xff0c;用于识别技术噪音 germline read depth: 胚系测序深度。根…...

[预备知识]3. 自动求导机制

自动求导机制 本章节介绍 PyTorch 的自动求导机制&#xff0c;包括计算图、反向传播和梯度计算的原理及实现。 1. 计算图原理 计算图是深度学习框架中的一个核心概念&#xff0c;它描述了计算过程中各个操作之间的依赖关系。 计算图由节点&#xff08;节点&#xff09;和边…...

蓝桥杯中的知识点

总结&#xff1a; 这次考的并不理想 比赛前好多知识点遗漏 但到此为止已经结束了 mod 是 模运算&#xff08;Modulo Operation&#xff09;的缩写&#xff0c;表示求两个数相除后的 余数 10mod31 (a % b) &#xff08;7%21&#xff09; 1e9代表1乘以10的9次方&#xff0c…...

2023蓝帽杯初赛内存取证-6

这里需要用到pslist模块&#xff0c;结合一下查找关键词&#xff1a; vol.py -f memdump.mem --profile Win7SP1x64 pslist | grep -E "VeraCrypt" 将2023-06-20 16:47:41 UTC0000世界标准时间转换成北京时间&#xff1a; 答案&#xff1a;2023-06-21 00:47:41...

《MySQL 核心技能:SQL 查询与数据库概述》

MySQL 核心技能&#xff1a;SQL 查询与数据库概述 一、数据库概述1. 什么是数据库2.为什么要使用数据库3.数据库的相关概念3.1 数据库&#xff08;DB&#xff09;&#xff1a;数据的“仓库”3.2 数据库管理系统&#xff08;DBMS&#xff09;&#xff1a;数据库的“管家”3.3 SQ…...

三维几何变换

一、学习目的 了解几何变换的意义 掌握三维基本几何变换的算法 二、学习内容 在本次试验中&#xff0c;我们实现透视投影和三维几何变换。我们首先定义一个立方体作为我们要进行变换的三维物体。 三、具体代码 &#xff08;1&#xff09;算法实现 // 获取Canvas元素 con…...

TDengine 查询引擎设计

简介 TDengine 作为一个高性能的时序大数据平台&#xff0c;其查询与计算功能是核心组件之一。该平台提供了丰富的查询处理功能&#xff0c;不仅包括常规的聚合查询&#xff0c;还涵盖了时序数据的窗口查询、统计聚合等高级功能。这些查询计算任务需要 taosc、vnode、qnode 和…...

15.第二阶段x64游戏实战-分析怪物血量(遍历周围)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;14.第二阶段x64游戏实战-分析人物的名字 如果想实现自动打怪&#xff0c;那肯定…...

vue浅试(1)

先安装了vue nvm安装详细教程&#xff08;安装nvm、node、npm、cnpm、yarn及环境变量配置&#xff09; 稍微了解了一下cursor ​ cursor的使用 请出我们的老师&#xff1a; 提示词&#xff1a; 你是我的好朋友也是一个前端专家&#xff0c;你能向我传授前端知识&#xff0c…...