模块七_面向对象
模块七_面向对象
模块六回顾:1.概述:拥有功能性代码的代码块将来干开发一个功能就应该对应一个方法2.方法的通用定义格式:修饰符 返回值类型 方法名(参数){方法体return 结果}a.修饰符:public staticb.返回值类型:方法最终返回的结果的数据类型c.方法名:给方法取的名字,见名知意,小驼峰式d.参数:进入到方法内部参与执行的数据e.方法体:具体实现该方法的具体代码f.return 结果:该方法操作完参数之后,最终返回的一个数据3.无参无返回值方法:a.定义:public static void 方法名(){方法体}b.调用:方法名()4.有参无返回值方法:a.定义:public static void 方法名(形参){方法体}b.调用:方法名(实参)5.无参有返回值方法:a.定义:public static 返回值类型 方法名(){方法体return 结果}b.调用:数据类型 变量名 = 方法名()6.有参有返回值方法:a.定义:public static 返回值类型 方法名(形参){方法体return 结果}b.调用:数据类型 变量名 = 方法名(实参)7.注意事项:a.方法不调用不执行,main方法是jvm调用的b.方法之间不能互相嵌套c.方法的执行顺序只和调用顺序有关d.void不能和return 结果共存,但是能和return共存void:代表没有返回值return 结果:代表有返回值,先将结果返回,再结束方法return:仅仅代表结束方法e.一个方法中不能连续写多个returnf.调用方法是,需要看有没有此方法8.参数和返回值使用时机:a.参数:当想将一个方法中的数据,传递到另外一个方法中操作,就需要参数了b.返回值:如果调用者需要使用被调用者的结果,被调用者就需要将自己的结果返回9.方法的重载:a.概述:方法名相同,参数列表不同b.什么叫参数列表不同:参数个数不同,类型不同,类型顺序不同c.和什么无关:和参数名无关,和返回值无关模块七重点:1.知道为啥使用面向对象思想编程2.知道怎么使用面向对象思想编程3.知道什么时候使用面向对象思想编程4.会利用代码去描述世间万物的分类5.会在一个类中访问另外一个类中的成员 -> new对象6.成员变量和局部变量的区别
第一章.类和对象
1.面向对象的介绍
1.面向过程:自己的事情自己干,代表语言C语言洗衣服:每一步自己要亲力亲为 -> 找个盆,放点水,找个搓衣板,搓搓搓
2.面向对象:自己的事情别人帮忙去干,代表语言Java语言 洗衣服:自己的事情别人干 -> 全自动洗衣机3.为啥要使用面向对象思想编程:懒很多功能别人都给我们实现好了,我们只需要直接拿过来使用即可,简化了我们自己的编写过程,减少了我们的代码量4.什么时候使用面向对象思想编程:调用别人的功能时在一个类中想使用别的类中的成员时,就使用面向对象思想编程至于我们使用的功能人家怎么实现的,我们不需要关心,我们只需要知道怎么使用即可5.怎么使用面向对象思想编程:a.new呀,new完点呀-> 点代表的是调用b.特殊:如果调用的成员带static关键字,我们不需要new,我们直接类名点即可
public class Demo01Object {public static void main(String[] args) {/*我们想在Demo01Object类中使用Scanner类中的next方法实现录入字符串那么我们就需要使用面向对象思想编程对象:Scanner-> new出来的对象实现好的功能:next()我们只需要知道找来Scanner这个对象,就可以调用这个对象中实现好的next方法至于next方法怎么实现的,我们不需要关心*/Scanner sc = new Scanner(System.in);String data = sc.next();System.out.println("data = " + data);System.out.println("===================================");/*我们想在Demo01Object类中使用Random类中的nextInt方法实现随机整数那么我们就需要使用面向对象思想编程对象:Random -> new出来的对象实现好的功能:nextInt()我们只需要知道找来Random这个对象,就可以调用Random中的nextInt方法至于nextInt怎么实现的,我们不需要关心*/Random rd = new Random();int data2 = rd.nextInt();System.out.println("data2 = " + data2);System.out.println("====================================");int[] arr = {1,2,3,4};//[1,2,3,4]/* System.out.print("[");for (int i = 0; i < arr.length; i++) {if (i== arr.length-1){System.out.print(arr[i]+"]");}else{System.out.print(arr[i]+",");}}*//*Arrays就是我们找来的对象toStrig就是此对象中实现好的功能我们只需要调用,怎么实现我们不关心*/System.out.println(Arrays.toString(arr));}
}
2.类和对象
2.1类(实体类)_class
1.测试类:带main方法的类,主要是运行代码的
2.实体类:是一类事物的抽象表示形式世间万物的分类:比如: 人类 狗类 猫类 鼠标类
组成部分:1.属性(成员变量):这一类事物有啥a.定义位置:类中方法外 b.作用范围:作用于当前类c.定义格式: 数据类型 变量名d.默认值:整数:0小数:0.0字符:'\u0000'布尔:false引用:null2.行为(成员方法):这一类事物都能干啥只需要将模块六所学的方法中的static干掉,其他的都一样
public class Person {//属性-> 成员变量String name;int age;//行为 -> 成员方法public void eat(){System.out.println("人要干饭");}public void drink(){System.out.println("人要喝水");}
}
描述动物类
public class Animal {String kind;//品种String color;//颜色public void eat(){System.out.println("动物要吃饭");}public void sleep(){System.out.println("动物都睡觉");}}
描述手机类
public class Phone {//属性String brand;String color;int price;//行为public void call(String name){System.out.println("给"+name+"打电话");}public String message(){return "给金莲发短信";} }
2.2对象
1.概述:一类事物的具体体现
2.使用:a.导包: import 包名.类名如果两个类在同一个包下,想要使用对方的成员不需要导包如果两个类不在同一个包下,想要使用对方的成员需要导包特殊包:java.lang -> 使用lang包下的类不需要导包 -> String友情提示:在学四种权限修饰符之前,尽量让两个类在同一个包下b.创建对象:想要使用哪个类中的成员,就new哪个类的对象类名 对象名 = new 类名() -> 比如: Person person = new Person()c.调用成员(成员变量,成员方法) -> 想要使用哪个类中的成员,就用哪个类的对象去点哪个成员对象名.成员变量名 = 值对象名.方法名() -> 调用的是无参无返回值方法对象名.方法名(实参) -> 调用的是有参无返回值方法数据类型 变量名 = 对象名.方法名() -> 调用的是无参有返回值方法数据类型 变量名 = 对象名.方法名(实参) -> 调用的是有参有返回值方法
public class Person {//属性-> 成员变量String name;int age;//行为 -> 成员方法public void eat(){System.out.println("人要干饭");}public void drink(){System.out.println("人要喝水");}
}
public class Demo01Person {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);System.out.println(person.age);person.name = "金莲";person.age = 26;System.out.println(person.name);System.out.println(person.age);person.eat();person.drink();}
}
3.练习
需求:用代码去描述一个手机类,在测试类中为手机类中的属性赋值,并且调用手机类中的功能
public class Phone {//属性String brand;//品牌String color;//颜色int price;//价格//行为public void call(String name){System.out.println("给"+name+"打电话");}public String message(){return "给金莲发短信";}
}================================================================public class Demo02Phone {public static void main(String[] args) {Phone phone = new Phone();phone.brand = "苹果";phone.color = "黑色";phone.price = 7999;System.out.println(phone.brand);System.out.println(phone.color);System.out.println(phone.price);phone.call("金莲");String mess = phone.message();System.out.println(mess);}
}
3.匿名对象的使用
1.int i = 10 a.int:是数据类型 b.i:变量名 c.等号右边的10:真正的数据2.Person p = new Person() a.等号左边的Person:对象的类型,好比是int b.p:对象名 c.等号右边的new Person():真正的数据,是一个Person对象,将这个对象真正创建出来了
1.所谓的匿名对象:其实就是没有等号左边的部分,只有等号右边的部分(对象)
2.使用:new 对象().成员3.注意:a.如果我们只想单纯的调用一个方法,让方法执行,我们可以考虑使用匿名对象b.但是如果涉及到赋值,千万不要用匿名对象
public class Person {String name;public void eat(){System.out.println("人要吃饭");}
}
public class Demo01Person {public static void main(String[] args) {//原始方式Person p = new Person();p.name = "金莲";System.out.println(p.name);p.eat();System.out.println("=================");//匿名对象new Person().eat();new Person().name = "大郎";System.out.println(new Person().name);//null}
}
4.一个对象的内存图
5.两个对象的内存图
phone1和phone2都是new出来的,所以在堆内存中产生了两个不同的空间,所以改变一个空间的数据不会 影响另外一个空间中的数据
6.两个对象指向同一片空间内存图
phone2是phone1给的,phone1在内存中保存的是地址值,此时phone1和phone2地址值是一样的了,操作的是同一片空间的数据,所以改变一个对象的数据会影响到另外一个对象
第二章.成员变量和局部变量的区别
1.定义位置不同(重点)a.成员变量:类中方法外b.局部变量:定义在方法之中或者参数位置2.初始化值不同(重点)a.成员变量:有默认值的,所以不用先手动赋值,就可以直接使用b.局部变量:是没有默认值的,所以需要先手动赋值,再使用3.作用范围不同(重点)a.成员变量:作用于整个类b.局部变量:只作用于自己所在的方法,其他方法使用不了4.内存位置不同(了解)a.成员变量:在堆中,跟着对象走b.局部变量:在栈中,跟着方法走5.生命周期不同(了解)a.成员变量:随着对象的创建而产生,随着对象的消失而消失b.局部变量:随着方法的调用而产生,随着方法的调用完毕而消失
public class Person {String name;//成员变量public void eat(){int i = 10;//局部变量System.out.println(i);System.out.println(name);//成员变量不用手动赋值可以直接使用,因为有默认值}public void drink(){int j;//System.out.println(j);//局部变量没有默认值,所以需要手动赋值再使用System.out.println(name);//System.out.println(i);//i是eat方法的局部变量,在drink中使用不了}
}
第三章.练习
需求:定义一个类MyDate,属性有 year month day再定义一个类Citizen(公民类),属性有 name(String类型) birthday(MyDate类型) idCard(String),为这三个属性赋值,然后将值取出来
public class MyDate {int year;int month;int day;
}
public class Citizen {//姓名String name; //默认值 null/*生日 MyDate类型MyDate属于自定义类型(引用数据类型)这种类型要操作之前必须要赋值怎么赋值? 需要new对象赋值*/MyDate birthday = new MyDate(); // 默认值 null//身份证String idCard; //默认值null
}
public class Test01 {public static void main(String[] args) {Citizen citizen = new Citizen();citizen.name = "涛哥";citizen.idCard = "111111111";/*citizen.birthday获取的是MyDate对象再去点year获取的是MyDate对象中的year链式调用*/citizen.birthday.year = 2000;citizen.birthday.month = 10;citizen.birthday.day = 10;System.out.println(citizen.name+","+citizen.birthday.year+","+citizen.idCard);}
}
给引用数据类型赋值,需要new对象(String比较特殊,可以直接=赋值)
相关文章:
模块七_面向对象
模块七_面向对象 模块六回顾:1.概述:拥有功能性代码的代码块将来干开发一个功能就应该对应一个方法2.方法的通用定义格式:修饰符 返回值类型 方法名(参数){方法体return 结果}a.修饰符:public staticb.返回值类型:方法最终返回的结果的数据类型c.方法名:给方法取的名字,见名知…...
初识uniApp
详细思考一下uniApp这个跨平台开发框架。首先,我对uniApp还不是很了解,所以需要从基本概念开始,逐步深入。 什么是uniApp? 我记得uniApp是基于Vue.js的,可能是一个用来开发多个平台的应用的框架。用户可能想了解它是什…...
蓝桥 发现环
0发现环 - 蓝桥云课 找到环 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。 为了恢复正常传输&am…...
Compose 手势处理,增进交互体验
Compose 手势处理,增进交互体验 概述常用手势处理Modifierclickable()combinedClickable()draggable()swipeable()transformable()scrollable()nestedScrollNestedScrollConnectionNestedScrollDispatcher 定制手势处理使用 PointerInput ModifierPointerInputScope…...
【愚公系列】《Python网络爬虫从入门到精通》036-DataFrame日期数据处理
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
FastAdmin 与其他后台框架的对比分析
FastAdmin 与其他后台框架的对比分析 引言 在现代Web开发中,后台管理系统是支持各种应用程序的核心部分。随着需求的多样化,许多后台框架应运而生。本文将对FastAdmin与其他常见后台框架(如Django Admin、Laravel Nova、AdminLTE࿰…...
自学微信小程序的第六天
DAY6 1、使用录音API首先需要通过wx.getRecorderManager()方法获取到一个RecorderManager实例,该实例是一个全局唯一的录音管理器,用于实现录音功能。 表32:RecorderManager实例的常用方法 方法名称 说明 start() 开始录音 pause() 暂停录音 resume() 继续录音 stop() 停止…...
KTV点歌系统
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
(上)基于机器学习的图像识别——遥感图像分类(LeNet-5;AlexNet;VGGNet;GoogLeNet;ResNet)
遥感图像识别: 专业词汇: kernel:卷积 目录 遥感图像分类 1.1 LeNet-5 视频来源: 任务:使用什么网络实现遥感图像的分类 LeNet-5结构: 遥感图像分类 1.2 AlexNet(冠军) 视频…...
深入探索 STM32 微控制器:从基础到实践
一、引言 在当今的嵌入式系统领域,STM32 系列微控制器凭借其高性能、低功耗、丰富的外设以及广泛的应用场景,成为了众多开发者的首选。无论是在工业控制、智能家居、医疗设备,还是在消费电子等领域,STM32 都展现出了强大的生命力…...
windows下玩转vllm:在wsl下安装vllm
文章目录 前言安装wsl启动wsl的默认分发使用python部署vllm创建并激活虚拟环境直接说结论试错过程安装vllm简单测试一下,看看行不行附录,安装wsl安装ubuntu分发步骤 3: 设置用户和密码步骤 4: 更新系统步骤 5: 使用 WSL前言 当前,部署通义千问2.5-vl已经是一件箭在弦上,不…...
SGLang部署大模型
SGLang部署大模型 环境信息基础组件安装创建python虚拟环境安装python模块下载模型部署模型 显存需求较高, 本地4G显存0.5B都无法部署 支持多机多卡部署 支持GPU、CPU混合运行 支持运行格式pt,safetensors,npcache,dummy,gguf,bitsandbytes,layered 环境信息 机器01…...
Ubuntu 防火墙iptables和 ufw
文章目录 iptables 和 ufw 的区别Ubuntu 上使用 ufw 配置 iptables 和 ufw 的区别 iptables 和 ufw 是 Linux 系统中用于管理防火墙的工具,但它们的设计目标和使用方式有所不同。 iptables:功能强大,适合高级用户和复杂场景,但配…...
NAT 代理服务 内网穿透
🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 NAT 技术背景二:🔥 NAT IP 转换过程三:🔥 NAPT四:🔥 代理服务器🦋 正向…...
C++20 Lambda表达式新特性:包扩展与初始化捕获的强强联合
文章目录 一、Lambda表达式的历史回顾二、C20 Lambda表达式的两大新特性(一)初始化捕获(Init-Capture)(二)包扩展(Pack Expansion) 三、结合使用初始化捕获与包扩展(一&a…...
ES scroll=1m:表示快照的有效时间为1分钟。怎么理解
在Elasticsearch中,scroll1m 表示你创建的 scroll 上下文 的有效时间为 1分钟。这个参数控制了你可以在多长时间内继续使用这个 scroll_id 来获取更多的数据。 什么是 Scroll 上下文? 当你使用 scroll API 时,Elasticsearch 会为你的查询创…...
【IoU变体对比:WIOU、SIOU、EIOU、GIOU、CIOU】
IoU变体对比:WIOU、SIOU、EIOU、GIOU、CIOU 1. 基本概念与公式(1) GIOU (Generalized Intersection over Union)(2) CIOU (Complete Intersection over Union)(3) EIOU (Efficient Intersection over Union)(4) SIOU (Shape-Enhanced Intersection over Union)(5) W…...
【MySQL】数据库-图书管理系统(CC++实现)
一.预期功能 该图书管理系统设计提供基本的设计模版,涉及数据库的增删查改等操作,包含登录功能,图书管理功能,图书借阅功能,用户管理功能等基础功能,详细功能查看以下菜单表,共包含三个菜单&am…...
【leetcode hot 100 560】和为K的子数组
解法一:用左右指针寻找字串,如果和>k,则减少一个数(left);如果和<k,则加上一个数(right)。 class Solution {public int subarraySum(int[] nums, int k) {int nu…...
【漫话机器学习系列】110.线性可分(Linearly Separable)
线性可分与线性不可分的概念详解 1. 引言 在机器学习和模式识别领域,分类问题是一个重要的研究方向。在分类任务中,我们通常需要将不同类别的数据点分开,而如何进行分割是一个关键问题。线性可分(Linearly Separable)…...
单细胞分析(19)—— 单细胞转录组基因集评分方法
下面是每种基因集评分方法的原理介绍代码示例,适用于R语言和Python两种主流生信分析环境。可以直接应用于单细胞转录组(scRNA-seq)数据分析中。 🔬 单细胞转录组基因集评分方法(附代码示例) 在单细胞RNA测…...
【数据挖掘】Pandas
Pandas 是 Python 进行 数据挖掘 和 数据分析 的核心库之一,提供了强大的 数据清洗、预处理、转换、分析 和 可视化 功能。它通常与 NumPy、Matplotlib、Seaborn、Scikit-Learn 等库结合使用,帮助构建高效的数据挖掘流程。 📌 1. 读取数据 P…...
Spring Boot 中 @Transactional 注解全面解析
亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、Java 与 Python 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在未来…...
【网络】数据链路层(以太网帧格式、MTU、ARP)、NAT、内网穿透
文章目录 1. 数据链路层2. 以太网帧格式3. MTU3.1 认识MTU3.2 MTU 对于 TCP 协议的影响 4. 局域网通信原理5. ARP协议5.1 基本概念5.2 原理5.3 ARP 数据报的格式 6. NAT技术7. 内网穿透8. 内网打洞9. 代理服务器9.1 正向代理9.2 反向代理9.3 NAT VS 代理服务器 10.网络总结 1. …...
ASPNET Core笔试题 【面试宝典】
文章目录 一、如何在ASP.NET Core中激活Session功能?二、什么是中间件?三、ApplicationBuilder的Use和Run方法有什么区别?四、如何使TagHelper在元素这一层上失效?五、什么是ASP.NET Core?六、ASP.NET Core中AOP的支持…...
Harmony os next~鸿蒙原子化服务开发实战:天气卡片开发全解析
鸿蒙原子化服务开发实战:天气卡片开发全解析 一、原子化服务与HarmonyOS卡片概述 (1)原子化服务特性 HarmonyOS原子化服务具有独立入口(桌面图标/智慧搜索)、免安装、跨设备流转三大核心特性。服务卡片作为其可视化载…...
【pytest框架源码分析三】pluggy源码分析之hook注册调用流程
pluggy的hook调用,最重要的就是使用了__call__魔法函数,这个函数能够在我们调用实例时,自动调用这个函数,无需自己手动调用。 前面介绍了各个类的方法,这里简述下pluggy的调用流程(主要介绍主流程ÿ…...
Linux消息队列
msgget函数(类似于shmget) 是 Linux 系统中用于 创建或获取消息队列(System V Message Queue) 的系统调用。 #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>int msgget(key_t key, int m…...
ChatGPT 提示词框架
作为一个资深安卓开发工程师,我们在日常开发中经常会用到 ChatGPT 来提升开发效率,比如代码优化、bug 排查、生成单元测试等。 但要想真正发挥 ChatGPT 的潜力,我们需要掌握一些提示词(Prompt)的编写技巧,并…...
对于动态线程池框架 Hippo4j 的思考
从 java 线程池探讨动态线程池框架的可行性以及扩展性 ThreadPoolExecutor 对外给用户暴露了很多 get、set 方法,get 方法可以让我直接获得一些线程池的运行时信息,比如线程池过去已经完成任务的总数量,线程池目前活跃线程数量等等ÿ…...
问deepseek: HYPRE BoomerAMG 有哪些参数可以进行性能调优
Hypre BoomerAMG 是一个高性能的多重网格预条件子,常用于求解大规模稀疏线性系统。为了优化其性能,可以调整以下关键参数: 1. AMG 参数 Coarsening (强连接阈值) strong_threshold: 控制强连接的阈值,通常在 0.25 到 0.6 之间&a…...
seacms v9 实现的MySQL注入
目录 过滤关键词information_schema 怎么办 一、环境搭建 二、环境分析 三、源代码分析 1、过滤程序 2、注入点 四、获取数据库名 五、获取数据库表名 六、获取表的列名 七、获取数据信息 过滤关键词information_schema 怎么办 1.、利用sys数据库(MySQL 5.…...
基于C#的CANoe CLR Adapter开发指南
一、引言 CANoe 是一款广泛应用于汽车电子开发和测试的工具,它支持多种编程接口,方便开发者进行自定义扩展。CANoe CLR Adapter 允许我们使用 C# 语言与 CANoe 进行交互,充分利用 C# 的强大功能和丰富的类库。本文将详细介绍如何基于 C# 进行…...
Vue 系列之:基础知识
什么是 MVVM MVVM(Model-View-ViewModel)一种软件设计模式,旨在将应用程序的数据模型(Model)与视图层(View)分离,并通过 ViewModel 来实现它们之间的通信。降低了代码的耦合度。 M…...
知识库功能测试难点
图表交互功能测试难点 知识库图表类型多,每种图表交互功能不同。像柱状图,可能有点击柱子查看详细数据、鼠标悬停显示数据提示等交互;折线图除了这些,还可能支持缩放查看不同时间段数据。多种交互操作在不同图表间存在差异&#x…...
一文掌握 Scrapy 框架的详细使用,包括实战案例
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Scrapy 简介2. Scrapy 的核心组件3. 安装 Scrapy4. 创建 Scrapy 项目4.1 创建项目4.2 创建 Spider5. 编写 Spider5.1 定义 Item5.2 编写 Spider 逻辑6. 运行 Scrapy 爬虫6.1 运行爬虫6.2 保存爬取数据7. Scrapy 的高…...
奔图Pantum M7165DN黑白激光打印一体机报数据清除中…维修
故障描述: 一台奔图Pantum M7165DN黑白激光打印一体机开机自检正常,自检过后就不能工作了,按键面板无任何反应一直提示数据清除中…,如果快速操作的话也能按出菜单、功能啥的,不过一会又死机了,故障请看下图: 故障检修: 经分析可能是主板数据出现了问题,看看能不能快速…...
微服务架构与传统的单体架构有什么区别?微服务架构(Spring Cloud + Maven)强在哪?
微服务架构与传统的单体架构(Spring Boot Maven 项目)在设计和实现上有显著差异,主要体现在系统拆分方式、部署模式、技术栈选择、维护成本等方面。以下是具体对比: 1. 架构设计 维度单体架构微服务架构系统拆分所有功能模块集…...
二、QT和驱动模块实现智能家居----2、编译支持QT的系统
因为我们的Linux内核文件不支持QT系统(当然如果你的支持,完全跳过这篇文章),所以我们要从网上下载很多软件包,这里直接用百问网的软件包,非常方便。 一:Ubuntu 配置 1 设置交叉编译工具链 以…...
游戏引擎学习第128天
开始 然而,我们仍然有一些工作要做,渲染部分并没有完全完成。虽然现在已经能够运行游戏,而且帧率已经可以接受,但仍然有一些东西需要进一步完善。正在使用调试构建编译版本,虽然调试版本的性能不如优化版本࿰…...
【量化策略】套利交易策略
【量化策略】套利交易策略 🚀量化软件开通 🚀量化实战教程 技术背景与应用场景 在金融市场中,套利交易策略是一种利用市场价格差异来获取无风险利润的交易方式。这种策略通常涉及同时买入和卖出不同市场上的相同或相似金融产品࿰…...
laravel11设置中文语言包
安装中文语言包 Laravel 11 默认没有内置完整中文语言包,推荐使用第三方维护的完整翻译: # 通过 Composer 安装语言包 composer require laravel-lang/common --dev# 发布中文语言文件到项目 php artisan lang:add zh_CN这会自动将中文语言文件生成到 l…...
Javaweb数据库多表查询 内连接 外连接 子查询
内连接 外连接 左外连接,左边是全部表 表名,即使没有匹配右边的数据,也要查询出来 子查询 案例 1.没有说所有的部门,所有的员工,用内连接(隐式内连接)...
欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、马氏距离理解学习
目录 一、欧氏距离(Euclidean Distance)公式:原理: 二、曼哈顿距离(Manhattan Distance)公式:原理: 三、切比雪夫距离(Chebyshev Distance)公式:原…...
【地图视界-Leaflet4】绘制自定义图形
引言 在前面的文章中,我们学会了如何在 Leaflet 中添加标记、弹窗以及切换不同的底图和叠加图层。但是在很多实际应用中,我们需要在地图上绘制多边形、圆形、矩形、折线等几何图形,用于标记区域、路径规划、范围分析等。 本篇文章将介绍如何…...
华为hcia——Datacom实验指南——STP工作基本原理及STP/RSTP基本功能配置
什么时候需要用到STP 在二层交换网络中,为了避免环路产生。 什么是STP STP生成树协议,是用来在冗余链路上消除二层环路。在众多交换机中,需要设置出一个根桥,其余的交换机称为非根桥,根桥是整个交换网络的核心&…...
游戏引擎学习第127天
仓库:https://gitee.com/mrxiao_com/2d_game_3 为本周设定阶段 我们目前的渲染器已经实现了令人惊讶的优化,经过过去两周的优化工作后,渲染器在1920x1080分辨率下稳定地运行在60帧每秒。这个结果是意料之外的,因为我们没有预计会达到这样的…...
PostgreSQL 创建表格
PostgreSQL 创建表格 在数据库管理中,表格(Table)是数据存储的基础。PostgreSQL作为一款强大的开源对象关系型数据库管理系统(ORDBMS),创建表格是其最基本的功能之一。本文将详细讲解如何在PostgreSQL中创…...
AF3 deduplicate_unpaired_sequences函数解读
AlphaFold3 msa_pairing模块的deduplicate_unpaired_sequences 函数的作用是移除 chain[msa] 中那些已经存在于 chain[msa_all_seq] 中的序列。换句话说,它保留那些不在 chain[msa_all_seq] 中的序列,从而确保未配对的 MSA 序列不会与配对的 MSA 序列重复…...
图像处理之图像边缘检测算法
目录 1 图像边缘检测算法简介 2 Sobel边缘检测 3 经典的Canny边缘检测算法 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 图像边缘检测算法简介 图像边缘检测是计算机视觉和图像处理中的基本问题,主要目的是提取图像中明暗变化明显的边缘细节…...