java基础6(黑马)
一、static
1.static修饰成员变量
static:叫静态,可以修饰成员变量、成员方法。
成员变量按照有无static,分两种。
类变量:有static修饰,属于类,在计算机中只有一份,会被类的全部对象共享。静态成员变量。
实例变量(对象的变量):无static修饰,属于每个对象。
访问:
类名.类变量(推荐)
对象.类变量(不推荐)
类变量直接放在堆内存中。
类变量:属于类,与类一起加载一次,在堆内存中只有一份,可以被类和类的所有对象共享。
实例变量:属于对象,每个对象都有一份,只能用对象访问。
类变量的应用场景:
在开发中,如果某个数据只需要一份,且希望能够被共享(访问、修改),则该数据可以定义类变量来记住。
2.static修饰成员方法
成员方法的分类:
类方法:有static修饰的成员方法,属于类:
成员方法:无static修饰的成员方法,属于对象。
Student类:
package cn.ensource.d2_staticmethod;
public class Student {
double score;
// 类方法
public static void printHelloWorld() {
System.out.println("Hello World");
System.out.println("Hello World");
}
// 实例方法
public void printPass() {
System.out.println("成绩:" + (score >= 60 ? "及格" : "不及格"));
}
Test测试类:
package cn.ensource.d2_staticmethod;
public class Test {
public static void main(String[] args) {
// 目标:掌握有无static修饰方法的用法
// 1. 类方法的用法
// 类名.类方法
Student.printHelloWorld();
// 对象.类方法(不推荐)
Student st = new Student();
st.printHelloWorld();
st.score = 80;
st.printPass();
// Student.printPass(); // 报错
}
}
实例方法是不允许使用类名调用。
类方法可以使用类名调;也可以使用实例调,但是不推荐。
static修饰成员方法的应用场景:类方法最常见的应用场景是做工具类。
工具类是什么?
工具类中的方法都是一些类方法,每个方法都是用来完成一个功能的,工具类是给开发人员共同使用的。
3.Static的注意事项
使用类方法和实例方法时的几点注意事项:
类方法中可以直接访问类成员,不可以直接访问实例成员;
实例方法中即可以直接访问类成员,也可以直接访问实例成员(变量和方法);
实例方法中可以出现this关键字,类方法中不可以出现this关键字。
package cn.ensource._d4_static_attention;
public class Student {
static String schoolName; // 类变量
double score;
public static void printHelloWorld1() {
Student.schoolName = "黑马";
Student.printHelloWorld2();
// 类方法中不能访问实例变量、实例方法 //System.out.println(score);//printPass();
//System.out.println(this);
}
public static void printHelloWorld2() {
System.out.println("Hello World");
System.out.println("Hello World");
}
// 实例方法
public void printPass() {
Student.schoolName = "黑马";
printHelloWorld2();
System.out.println(score);
printPass2();
System.out.println(this); //那取对象
}
public void printPass2() {
}
}
只要记住:类方法只能只能访问类成员。
二、Static应用知识
1.代码块
代码块是类的五大成员之一(成员变量、构造器、方法、代码块、内部类)。
Java类生命周期:加载、验证、准备、初始化、卸载。
代码块分为两种:
静态代码块:
格式:static {}
特点:类加载时自动执行,由于类只会加载一次,所以静态代码也只会执行一次。
作用:完成类的初始化,例如:类变量的初始化赋值。
实例代码块:
格式:{}
特点:每次创建对象的时候,,执行实例代码块,并在构造器前执行。
作用:和构造器一样,都是用来完成对象的初始化的,例如:对实例变量进行初始化赋值的。
2.单例设计模式
设计模式:
架构师会使用到设计模式,开发框架,就需要掌握很多设计模式。
在Java基础阶段学习设计模式,将来面试笔试的时候,笔试题目会经常靠到设计模式。
将来会用到设计模式。框架代码中会用到设计模式。
什么是设计模式?(design pattern)
一个问题经常会有n种解法,其中肯定有一种解法是最优的,这种优的解法被人总结出来了,称之为设计模式。
设计模式就是具体问题的最优解决方法。
设计模式有20多种,对应20多种软件开发中会遇到的问题。
单例设计模式:确保一个类只有一个对象。
写法:
1)把类的构造器私有;
2)定义一个类变量记住类的一个对象;
3)定义一个类方法,返回对象。
三、继承
1.概念
继承:Java中提供了一个关键字extends,用这个关键字,可以让一个类和另外一个类建立父子关系。
继承的特点:
子类能继承父类的非私有成员(成员变量、成员方法)。
父类的私有成员,子类是不能继承的。而父类的非私有成员,子类是能继承的。
私有:private
继承后对象的创建:子类的对象是由子类和父类共同完成的。
继承的执行原理:
私有的变量是不能直接访问的,只能通过getter/setter方法进行访问。
k是私有变量,只能自己访问,k通过B的方法去访问并对外开放。
2.权限修饰符
权限修饰符:就是用来限制类中的成员(成员变量、成员方法、构造器、代码块....)能够被访问的范围。
public是公开完全暴露的意思。
protected:在任意包下的子类里。
我们用到的最多的是private和public。
3.单继承、Object类、方法重写
Java 是单继承的,Java中的类不支持多继承,但是支持多层继承。
Object类是所有类的父类。
Object类:Object类是java所有类的祖宗类,我们写的任意一个类,其实都是Object类的子类或子孙类。
方法重写:
当子类觉得父类中的某个方法不好用,或者无法满足自己的需求的时候,子类可以重写一个方法名称、参数列表一样的方法,去覆盖父类的这个方法,这个就称为方法重写。
注意:重写后,方法的方法,Java会遵循就近原则。
方法重写的概念:
子类写了一个方法名称,形参列表与父类某个方法一样的方法,去覆盖父类的该方法。
申明不变,重新实现。
Override的注解:
用来检测当前的方法,是否是重写的方法,起到校验的作用。
方法重写的注意事项:
私有方法不能被重写(父类私有成员子类是不能继承的)
子类方法访问权限不能更低(public->默认->私有)
子类中访问其他成员遵循就近原则
如果指定访问某个成员变量:
局部变量跟成员变量冲突的时候,我们可以使用shis。this代表的是当前对象。
如果要找父类的成员变量,我们就使用super。super代表父类。
4.子类构造器
子类构造器的特点:子类的全部构造器,都会先调用父类的构造器,再执行自己。
子类会继承父类的数据,可能还会使用父类的数据。所以,子类初始化之前,一定先要完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认就是super();
package cn.ensource.d14_extends_constructor;
class F{
public F() {
System.out.println("F类构造器执行了!");
}
}
class Z extends F{
public Z() {
super();
System.out.println("Z类无参构造器执行了!");
}
public Z(String name) {
super();
System.out.println("Z类有参构造器执行了!");
}
}
public class Test {
public static void main(String[] args) {
// 目标:先认识子类构造器的特点,再掌握子类构造器的应用场景
Z z1 = new Z();
Z z2 = new Z("播妞");
}
}
执行结果:
可见,不管是子类有参构造器,还是子类无参构造器,都是先调用父类构造器,然后再执行子类构造器。
其实,在子类构造器中,默认会有一个super()存在,不管你调用,还是不调用,都调用这个方法。
super:代表父类存储空间的标识。可以理解为父类对象的引用。
子类构造器可以通过调用父类构造器,把对象中包含父类这部分的数据先进行初始化赋值,再回来把对象里包含子类这部分的数据也进行初始化赋值。
然后t.getter方法,都是到子类和父类中调用相应的的getter方法。
补充知识:
this(...)调用兄弟构造器。
在任意类的构造器中,都可以通过this(...)去调用该类的其他构造器。
5.多态和final、常量
多态是在继承/实现情况下一种现象,表现为:对象多态和行为多态。
同一个对象,在不同时刻表现出来的不同形态。
多态的前提:
要有继承/实现关系
要有方法的重写
要有父类引用指向子类对象。
多态的一个注意事项:
多态对对象、行为的多态,Java中的属性(成员变量)不谈多态。
多态中成员访问特点(记忆):
成员访问特点:
成员变量:编译看父类,运行看父类;
成员方方法:编译看父类,运行看子类;
多态中的成员转型:
向上转型:
父类引用指向子类对象就是向上转型。
向下转型:
格式:子类 对象名 = (子类型)父类引用。
final关键字:final是最终的意思。可以修饰类、方法、变量。
修饰类:该类就被称为最终类,特点是不能被继承了。
修饰方法:该方法是最终方法,特点是不能被重写了。
修饰变量:该变量只能被赋值一次。
常量:使用了static final修饰的成员变量就称为常量。
作用:通常用于记录系统的常量信息。
注意:常量建议名称全部大写,多个单词下划线连接。
6.抽象类和接口概述
抽象类:
当我们在做子类共性功能抽取的时候,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类就定义为抽象类。
在Java中有一个abstract,它是抽象的意思,可以用它修饰类、成员方法。
package cn.ensource.d4_abstract;
// 抽象类
public abstract class A {
// 抽象方法,必须用abstract修饰,并且只有方法签名,不能有方法体
public abstract void run();
}
认识接口:Java提供了一个关键字Interface,用这个关键字我们可以定义一个特殊的结构:接口。
注意:接口不能创建对象,接口是用来被类实现(implements)的,实现接口的类称为实现类。
一个类可以实现多个接口(接口可以理解为干爹),实现类实现多个接口,必须重写全部接口的全部抽象方法,否则实现类需要定义成抽象类
7.内部类和
1、 内部类:
是类中五大成分之一(成员变量、方法、构造函数、内部类、代码块),如果一个类定义在另一个 类的内部,这个类就是内部类。
场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。
内部类的四种形式:
成员内部类:了解
静态内部类:了解
局部内部类:了解
匿名内部类:重点
匿名内部类:(重点)
就是一种特殊的局部内部类;所谓匿名:指的是程序员不需要为这个类声明名字。
匿名内部类:(重点)
就是一种特殊的局部内部类;所谓匿名:指的是程序员不需要为这个类声明名字。
package d3_inner_class3;
public class Test {
public static void main(String[] args) {
// 目标:掌握匿名内部类,并掌握其作用
Animal a = new Cat(); // 创建子类对象
a.cry();
}
}
class Cat extends Animal {
@Override
public void cry() {
System.out.println("喵喵~");
}
}
abstract class Animal {
public abstract void cry();
}
匿名内部类有啥特点:
匿名内部类本质上就是一个子类,并会立即创建出一个子类对象。
匿名内部类有啥作用、应用场景?
可以更方便创建出一个子类对象。
匿名内部类通常作为一个参数传递给方法。
相关文章:
java基础6(黑马)
一、static 1.static修饰成员变量 static:叫静态,可以修饰成员变量、成员方法。 成员变量按照有无static,分两种。 类变量:有static修饰,属于类,在计算机中只有一份,会被类的全部对象共享。…...
LabVIEW外延片光致发光(PL)扫描系统
本文介绍了基于LabVIEW的PL扫描系统的开发过程,包括硬件选型(如ECOPIA激光器、EPP2000光谱仪)、软件架构(多线程控制、动态显示)、环境适配(温湿度控制、防震)等关键设计。结合工业需求…...
安装Jenkins
Linux中安装jenkins 采用RPM安装包方式:Jenkins安装包下载地址 wget https://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm执行安装 rpm -ivh jenkins-2.190.1-1.1.noarch.rpm修改配置文件: vi /etc/sysconfig/jenkins修改内容&…...
开发中常用的快捷键
开发中常用的快捷键 浏览器开发工具ideavscode 浏览器 清除浏览器的缓存:ctrl shift delete 开发工具 idea 前端JS代码格式化:ctrl alt L vscode...
前端如何判断浏览器 AdBlock/AdBlock Plus(最新版)广告屏蔽插件已开启拦截
2个月前AdBlock/AdBlock Plus疑似升级了一次 因为自己主要负责面对海外的用户项目,发现以前的检测AdBlock/AdBlock Plus开启状态方法已失效了,于是专门研究了一下。并尝试了很多方法。 已失效的老方法 // 定义一个检测 AdBlock 的函数 function chec…...
ASP.NET Core 如何使用 C# 向端点发出 POST 请求
使用 C#,将 JSON POST 到 REST API 端点;如何从 REST API 接收 JSON 数据。 本文需要 ASP .NET Core,并兼容 .NET Core 3.1、.NET 6和.NET 8。 要从端点获取数据,请参阅本文。 使用 . 将 JSON 数据发布到端点非常容易HttpClien…...
更新无忧:用 Docker 数据卷确保 Open WebUI 数据持久化
在使用 Docker 部署 Open WebUI 时,如何在更新容器的同时确保数据不丢失,始终是工程师们关注的焦点。每次拉取新版镜像、停止并重启容器时,如果没有正确挂载数据卷,配置和数据库数据极易流失,给生产环境带来不必要的麻…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atomic_cmp_set 函数
目录 修正 执行 ./configure 命令时,输出: checking for OS Linux 6.8.0-52-generic x86_64 checking for C compiler ... found using GNU C compiler gcc version: 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 所以当前环境是 x86_64 于是在 src…...
为什么我用Python控制仪器比C#慢很多?如何优化性能?
在自动化测试、实验室仪器控制等领域,Python、C# 和 C 是常见的编程语言选择。最近,我在使用 Python 控制仪器时,发现其交互速度明显比 C# 慢很多。这让我感到困惑,毕竟 Python 以其简洁和高效著称,为什么会出现这种情…...
Linux虚拟机克隆
克隆 从现有虚拟机(关机状态)克隆出新虚拟机,右键选择管理>克隆: 选择完整克隆 设置虚拟机名称及存储位置 开机修改系统相关配置 注意: 使用root 用户。 修改vim /etc/sysconfig/network-scripts/ifcfg-ens33 ,修改IP 地址 vim /etc/sysconfig…...
开发完的小程序如何分包
好几次了,终于想起来写个笔记记一下 我最开始并不会给小程序分包,然后我就各种搜,发现讲的基本上都是开发之前的小程序分包,可是我都开发完要发布了,提示我说主包太大需要分包,所以我就不会了。。。 好了…...
气体控制器联动风机,检测到环境出现异常时自动打开风机进行排风;
一、功能:检测到环境出现异常时自动打开风机进行排风; 二、设备: 1.气体控制器主机:温湿度,TVOC等探头的主机,可上报数据,探头监测到异常时,主机会监测到异常可联动风机或声光报警…...
攻防世界33 catcat-new【文件包含/flask_session伪造】
题目: 点击一只猫猫: 看这个url像是文件包含漏洞,试试 dirsearch扫出来/admin,访问也没成功(--delay 0.1 -t 5) 会的那几招全用不了了哈哈,那就继续看答案 先总结几个知识点 1./etc/passwd&am…...
让文物“活”起来,以3D数字化技术传承文物历史文化!
文物,作为不可再生的宝贵资源,其任何毁损都是无法逆转的损失。然而,当前文物保护与修复领域仍大量依赖传统技术,同时,文物管理机构和专业团队的力量相对薄弱,亟需引入数字化管理手段以应对挑战。 积木易搭…...
Java+vue前后端分离项目集群部署
一、项目概述 假设我们有一个前后端分离的项目,前端使用React或Vue框架,后端使用Spring Boot或Node.js。我们将分别部署前端和后端到集群环境中。 二、准备工作 1. 代码准备:确保前端和后端代码已经开发完成,并通过本地测试。 2…...
【算法解析】(2)分治算法:归并排序和快速排序
1. 分治算法(Divide and Conquer) 分治算法的核心思想是将一个大问题分解为多个小问题,分别解决这些小问题,然后将小问题的解合并起来得到大问题的解。 2. 算法步骤 分治算法通常包含以下三个步骤: 分解(Divide):将原问题分解为若干个规模较小、相互独立、与原问题…...
Qt文本处理【正则表达式】示例详解:【QRegularExpression】
在 Qt 中,正则表达式是处理文本的强大工具,它能够帮助我们匹配、搜索和替换特定的字符串模式。自 Qt 5 起,QRegularExpression 类提供了对 ECMAScript 标准的正则表达式支持,这使得它在处理各种复杂的字符串任务时变得更加高效和灵…...
在 Navicat 17 中扩展 PostgreSQL 数据类型 - 枚举类型
枚举类型 在 Navicat Premium 17 中创建 PostgreSQL 的自定义数据类型的系列中,我们已经探索了多个主题。在 第 1 部分 ,我们学习了如何为 免费 DVD 租赁数据库 创建自定义域。上周,我们创建了一个复合类型,用于从用户定义的函数…...
Spring Boot + MyBatis Field ‘xxx‘ doesn‘t have a default value 问题排查与解决
目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 执行代码的时候,出现某个字段无法添加 ### Error updating database. Cause: java.sql.SQLException: Field e_f_id doesnt have a default value ### The error may exist in cn...
python基础入门:6.2JSON与CSV数据处理
Python数据处理实战:JSON与CSV高效转换指南 # 天气数据转换示例 import json import csv from datetime import datetimedef process_weather_data(json_file, csv_file):"""将天气JSON数据转换为CSV格式"""with open(json_file, r,…...
尚硅谷课程【笔记】——大数据之Zookeeper【二】
课程视频:【尚硅谷Zookeeper教程】 四、Zookeeper实战 4.1分布式安装部署 1. 集群规划 在Hadoop102、Hadoop103和Hadoop104三个节点上部署Zookeeper 2. 解压安装 1)解压Zookeeper.tar.gz到指定目录 tar -zxvf zookeeper-3.7.2.tar.gz -C /opt/mod…...
机器学习常用包matplotlib篇(一)简单图像绘制
前言 Matplotlib 是支持 Python 语言的开源绘图库,简单且完善。 一、环境配置 1.环境设置 在 Notebook 环境绘图时,需先运行 %matplotlib inline 命令,将绘制图形嵌入当前页面。在桌面环境绘图,无需上述命令,而是在…...
JUnit断言方法详解与实战
在Java开发中,JUnit是一个不可或缺的单元测试框架,而org.junit.Assert类中的断言方法则是JUnit的核心功能之一。通过这些方法,我们可以方便地验证代码的正确性。本文将详细介绍一些常用的断言方法,并通过实例展示它们的使用。 一、…...
npm运行Vue项目报错 error:0308010c:digital envelope routines::unsupported
大家好,我是 程序员码递夫。 问题 VSCode 运行Vue项目,提示错误: building 2/2 modules 0 activeError: error:0308010c:digital envelope routines::unsupported 解决方法 原因是 npm 高版本(大于17),对ssl的处理做了改进&…...
C语言操作符详解
引言 C语言作为一种强大而灵活的编程语言,操作符是其重要组成部分。操作符用于执行各种运算,如算术运算、逻辑运算、比较运算等。深入理解C语言操作符,能帮助开发者编写出高效、准确的代码。 算术操作符 基本算术操作符 - (加法…...
Lucene 中的并发错误:如何修复乐观并发失败
作者:来着 Elastic Benjamin Trent 及 Ao Li 感谢 CMU PASTA 实验室开发的确定性并发测试框架 Fray,我们找到了一个棘手的 Lucene 漏洞并将其修复。 是的,另一个修复错误博客。但这个故事有一个转折,一位开源英雄突然出现并拯救了…...
Oracle的学习心得和知识总结(三十三)|Oracle数据库数据库的SQL ID的底层计算原理分析
目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…...
C# OpenCV机器视觉:智能水果采摘
在一个风景如画的小镇边上,有一座阿强家祖传的果园。每到水果成熟的季节,果园里硕果累累,红彤彤的苹果、黄澄澄的梨子、紫莹莹的葡萄,散发着诱人的香气。然而,这丰收的喜悦却总被一件烦心事笼罩 —— 摘水果。 “哎呀…...
逻辑回归不能解决非线性问题,而svm可以解决
逻辑回归和支持向量机(SVM)是两种常用的分类算法,它们在处理数据时有一些不同的特点,特别是在面对非线性问题时。 1. 逻辑回归 逻辑回归本质上是一个线性分类模型。它的目的是寻找一个最适合数据的直线(或超平面&…...
celery + redis - 入门
文章目录 一、基本使用编写任务启动服务创建生产者获取状态和结果二、多目录结构异步执行编写服务启动服务调用服务获取结果https://www.bilibili.com/video/BV1jg4y13718 https://www.cnblogs.com/pyedu/p/12461819.html 一、基本使用 编写任务 celery_task.py import cel…...
SAP-ABAP:在LOOP循环中 ASSIGNING FIELD-SYMBOL的使用代码详解
在ABAP中,ASSIGNING FIELD-SYMBOL的作用是直接引用内表行的数据,避免不必要的数据复制,从而提升性能和代码效率。以下是其核心作用和优势: 基本语法 LOOP AT itab ASSIGNING FIELD-SYMBOL(<fs>)." 处理逻辑 ENDLOOP.i…...
SpringBoot启动流程简略版
启动入口 (main 方法) ↓ SpringApplication 初始化 ↓ 加载配置 (application.properties/yml) ↓ 创建 ApplicationContext ↓ 刷新 ApplicationContext ↓ - 加载 Bean 定义 - 执行自动配置 - 实例化 Bean - 依赖注入 - 调用初…...
Python:凯撒密码
题目内容: 凯撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,对应关系如下: 原文:A B C D E F G H I J K L M N O P Q R …...
element-plus 解决el-dialog背后的页面滚动问题,及其内容有下拉框出现错位问题
这个问题通常是因为 el‑dialog 默认会锁定 body 的滚动(通过给 body 添加隐藏滚动条的样式),从而导致页面在打开对话框时跳转到顶部。解决方法是在使用 el‑dialog 时禁用锁定滚动功能。 <el-dialogv-model"dialogVisible":lo…...
Android和DLT日志系统
1 Linux Android日志系统 1.1 内核logger机制 drivers/staging/android/logger.c static size_t logger_offset( struct logger_log *log, size_t n) { return n & (log->size - 1); } 写的off存在logger_log中(即内核内存buffer)&am…...
Ubuntu 安装 NVIDIA 驱动实操指南(含卸载)
本文将详细介绍如何在Ubuntu上安装和配置NVIDIA显卡驱动。以下是一步步的操作流程,包括禁用开源驱动的步骤。 步骤 1:安装依赖 首先,确保系统中已安装gcc和make,这些是编译驱动所需的依赖。 sudo apt update sudo apt install …...
在postman中设置环境变量和全局变量以及五大常用响应体断言
一、什么是环境变量和全局变量 环境变量(Environment Variables)和全局变量(Global Variables)是 Postman 中用于存储和管理数据的两种变量类型,它们可以提高 API 测试的灵活性和可维护性。 1、 环境变量(…...
32单片机学习记录1之GPIO
32单片机学习记录1之GPIO 前置 GPIO口在单片机中扮演着什么角色? 在单片机中,GPIO口(General Purpose Input/Output) 是一种通用输入/输出接口,扮演着连接单片机与外部设备的桥梁角色。具体来说,它在单片…...
负载测试和压力测试的原理分别是什么
负载测试和压力测试是性能测试的两种主要类型,它们的原理和应用场景有所不同。 负载测试(Load Testing) 原理: 负载测试通过模拟实际用户行为,逐步增加系统负载,观察系统在不同负载下的表现。目的是评估系…...
openAI官方prompt技巧(二)
1. 赋予 ChatGPT 角色 为 ChatGPT 指定一个角色,让其从特定的身份或视角回答问题。这有助于生成针对特定受众或场景的定制化回答。 例如: 你是一名数据分析师,负责我们的市场营销团队。请总结上个季度的营销活动表现,并强调与未…...
javaEE-11.javaScript入门
目录 一.什么是javaScript 二.快速实现 三.JS引入方式 1.行内引入: 2.内部引入: 3.外部引入: 四.基础语法 1.变量 变量命名规则: 2.数据类型 3.运算符 五.JS对象 1.数组 创建数组: 2.操作数组 3.函数 函数注意事项: 函数参数: 4.对象 1.使用字面量 创建对象:…...
Word成功接入DeepSeek详细步骤
原理 原理是利用Word的VBA宏,写代码接入API。无需下载额外插件。 步骤一、注册硅基流动 硅基流动统一登录 注册这个是为了有一个api调用的api_key,有一些免费的额度可以使用。大概就是这个公司提供token,我们使用这个公司的模型调用deepsee…...
单片机简介
一、单片机简介 电脑和单片机性能对比 二、单片机发展历程 三、CISC VS RISC...
GitCode 助力 Dora SSR:开启游戏开发新征程
项目仓库(点击阅读原文链接可直达) https://gitcode.com/ippclub/Dora-SSR 跨越技术藩篱,构建游戏开发乐园 Dora SSR 是一款致力于打破游戏开发技术壁垒的开源游戏引擎。其诞生源于开发者对简化跨平台游戏开发环境搭建的强烈渴望࿰…...
[python SQLAlchemy数据库操作入门]-25.股票数据可视化:将 SQLAlchemy 数据呈现给用户
哈喽,大家好,我是木头左! 本文将探讨如何利用SQLAlchemy从数据库中提取股票数据,并使用现代数据可视化工具将这些数据以直观的方式呈现给用户。将通过一系列步骤来演示这个过程,包括设置环境、连接数据库、提取数据、处理数据以及最终的可视化展示。 安装必要的库 接下来…...
android的Lifecycle简介
嗯,我现在需要了解Android的Lifecycle组件。Lifecycle是Jetpack的一部分,对吧?听说它帮助管理Activity和Fragment的生命周期,避免内存泄漏。那它具体是怎么工作的呢? 首先,LifecycleOwner和LifecycleObser…...
SQL-leetcode—1327. 列出指定时间段内所有的下单产品
1327. 列出指定时间段内所有的下单产品 表: Products ------------------------- | Column Name | Type | ------------------------- | product_id | int | | product_name | varchar | | product_category | varchar | ------------------------- product_id 是该表主键(具…...
在Uniapp中使用阿里云OSS插件实现文件上传
在开发小程序时,文件上传是一个常见的需求。阿里云OSS(Object Storage Service)是一个强大的云存储服务,可以帮助我们高效地存储和管理文件。本文将介绍如何在Uniapp小程序中使用阿里云OSS插件实现文件上传功能。 1. 准备工作 首…...
C#中的序列化和反序列化
序列化是指将对象转换为可存储或传输的格式,例如将对象转换为JSON字符串或字节流。反序列化则是将存储或传输的数据转换回对象的过程。这两个过程在数据持久化、数据交换以及与外部系统的通信中非常常见 把对象转换成josn字符串格式 这个过程就是序列化 josn字符…...
IGBT的两级关断
IGBT(绝缘栅双极型晶体管)的两级关断(Two-stage turn-off)是一种优化关断过程的方法,主要用于减少关断时的电压过冲和dv/dt(电压变化率)过高的问题,特别是在大功率应用中(…...