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

看完这篇,还不懂JAVA内存模型(JMM)算我输

前言

开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧。

@Slf4j(topic = "c.VolatileTest")
public class VolatileTest {static boolean run = true;public static void main(String[] args) throws InterruptedException {Thread t = new Thread(() -> {while (run) {// do other things}// ?????? 这行会打印吗?log.info("done .....");});t.start();Thread.sleep(1000);// 设置run = falserun = false;}
}
复制代码

main函数中新开个线程根据标位run循环,主线程中sleep一秒,然后设置run=false,大家认为会打印"done ......."吗?

答案就是不会打印,为什么呢?

JAVA并发三大特性

我们先来解释下上面问题的原因,如下图所示,

现代的CPU架构基本有多级缓存机制,t线程会将run加载到高速缓存中,然后主线程修改了主内存的值为false,导致缓存不一致,但是t线程依然是从工作内存中的高速缓存读取run的值,最终无法跳出循环。

可见性

正如上面的例子,由于不做任何处理,一个线程能否立刻看到另外一个线程修改的共享变量值,我们称为"可见性"。

如果在并发程序中,不做任何处理,那么就会带来可见性问题,具体如何处理,见后文。

有序性

有序性是指程序按照代码的先后顺序执行。但是编译器或者处理器出于性能原因,改变程序语句的先后顺序,比如代码顺序"a=1; b=2;",但是指令重排序后,有可能会变成"b=2;a=1", 那么这样在并发情况下,会有问题吗?

在单线程情况下,指令重排序不会有任何影响。但是在并发情况下,可能会导致一些意想不到的bug。比如下面的例子:

public class Singleton {static Singleton instance;static Singleton getInstance(){if (instance == null) {synchronized(Singleton.class) {if (instance == null)instance = new Singleton();}}return instance;}
}
复制代码

假设有两个线程 A、B 同时调用 getInstance() 方法,正常情况下,他们都可以拿到instance实例。

但往往bug就在一些极端的异常情况,比如new Singleton() 这个操作,实际会有下面3个步骤:

  1. 分配一块内存 M;

  2. 在内存 M 上初始化 Singleton 对象;

  3. 然后 M 的地址赋值给 instance 变量。

现在发生指令重排序,顺序变为下面的方式:

  1. 分配一块内存 M;

  2. 将 M 的地址赋值给 instance 变量;

  3. 最后在内存 M 上初始化 Singleton 对象。

优化后会导致什么问题呢?我们假设线程 A 先执行 getInstance() 方法,当执行完指令 2 时恰好发生了线程切换,切换到了线程 B 上;如果此时线程 B 也执行 getInstance() 方法,那么线程 B 在执行第一个判断时会发现 instance != null ,所以直接返回 instance,而此时的 instance 是没有初始化过的,如果我们这个时候访问 instance 的成员变量就可能触发空指针异常。

这就是并发情况下,有序性带来的一个问题,这种情况又该如何处理呢?

当然,指令重排序并不会瞎排序,处理器在进行重排序时,必须要考虑指令之间的数据依赖性。

原子性

如上图所示,在多线程的情况下,CPU资源会在不同的线程间切换。那么这样也会导致意向不到的问题。

比如你认为的一行代码:count += 1,实际上涉及了多条CPU指令:

  • 指令 1:首先,需要把变量 count 从内存加载到 CPU 的寄存器;
  • 指令 2:之后,在寄存器中执行 +1 操作;
  • 指令 3:最后,将结果写入内存(缓存机制导致可能写入的是 CPU 缓存而不是内存)。

操作系统做任务切换,可以发生在任何一条CPU 指令执行完。假设 count=0,如果线程 A 在指令 1 执行完后做线程切换,线程 A 和线程 B 按照下图的序列执行,那么我们会发现两个线程都执行了 count+=1 的操作,但是得到的结果不是我们期望的 2,而是 1。

我们潜意识认为的这个count+=1操作是一个不可分割的整体,就像一个原子一样,我们把一个或者多个操作在 CPU 执行的过程中不被中断的特性称为原子性。但实际情况就是不做任何处理的话,在并发情况下CPU进行切换,导致出现原子性的问题,我们一般通过加锁解决,这个不是本文的重点。

Java内存模型真面目

前面讲解并发的三大特性,其中原子性问题可以通过加锁的方式解决,那么可见性和有序性有什么解决的方案呢?其实也很容易想到,可见性是因为缓存导致,有序性是因为编译优化指令重排序导致,那么是不是可以让程序员按需禁用缓存以及编译优化, 因为只有程序员知道什么情况下会出现问题 顺着这个思路,就提出了JAVA内存模型(JMM)规范

Java 内存模型是 Java Memory Model(JMM),本身是一种抽象的概念,实际上并不存在,描述的是一组规则规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。

默认情况下,JMM中的内存机制如下:

  • 系统存在一个主内存(Main Memory),Java 中所有变量都存储在主存中,对于所有线程都是共享的
  • 每条线程都有自己的工作内存(Working Memory),工作内存中保存的是主存中某些变量的拷贝
  • 线程对所有变量的操作都是先对变量进行拷贝,然后在工作内存中进行,不能直接操作主内存中的变量
  • 线程之间无法相互直接访问,线程间的通信(传递)必须通过主内存来完成

同时,JMM规范了 JVM 如何提供按需禁用缓存和编译优化的方法,主要是通过volatilesynchronizedfinal 三个关键字,那具体的规则是什么样的呢?

JMM 中的主内存、工作内存与 JVM 中的 Java 堆、栈、方法区等并不是同一个层次的内存划分,这两者基本上是没有关系的。

Happens-Before规则

JMM本质上包含了一些规则,那这个规则就是大家有所耳闻的Happens-Before规则,大家都理解了些规则吗?

Happens-Before规则,可以简单理解为如果想要A线程发生在B线程前面,也就是B线程能够看到A线程,需要遵循6个原则。如果不符合 happens-before 规则,JMM 并不能保证一个线程的可见性和有序性。

1.程序的顺序性规则

在一个线程中,逻辑上书写在前面的操作先行发生于书写在后面的操作。

这个规则很好理解,同一个线程中他们是用的同一个工作缓存,是可见的,并且多个操作之间有先后依赖关系,则不允许对这些操作进行重排序。

2. volatile 变量规则

指对一个 volatile 变量的写操作, Happens-Before 于后续对这个 volatile 变量的读操作。

怎么理解呢?比如线程A对volatile变量进行写操作,那么线程B读取这个volatile变量是可见的,就是说能够读取到最新的值。

3.传递性

这条规则是指如果 A Happens-Before B,且 B Happens-Before C,那么 A Happens-Before C

这个规则也比较容易理解,不展开讨论了。

  1. 锁的规则

这条规则是指对一个锁的解锁 Happens-Before于后续对这个锁的加锁,这里的锁要是同一把锁, 而且用synchronized或者ReentrantLock都可以。

如下代码的例子:

synchronized (this) { // 此处自动加锁// x 是共享变量, 初始值 =10if (this.x < 12) {this.x = 12; }  
} // 此处自动解锁
复制代码
  • 假设 x 的初始值是 8,线程 A 执行完代码块后 x 的值会变成 12(执行完自动释放锁)
  • 线程 B 进入代码块时,能够看到线程 A 对 x 的写操作,也就是线程 B 能够看到 x==12

5.线程 start() 规则

主线程 A 启动子线程 B 后,子线程 B 能够看到主线程在启动子线程 B 前的操作。

这个规则也很容易理解,线程 A 调用线程 B 的 start() 方法(即在线程 A 中启动线程 B),那么该 start() 操作 Happens-Before 于线程 B 中的任意操作。

6.线程 join() 规则

线程 A 中,调用线程 B 的 join() 并成功返回,那么线程 B 中的任意操作 Happens-Before 于该 join() 操作的返回。

使用JMM规则

我们现在已经基本讲清楚了JAVA内存模型规范,以及里面关键的Happens-Before规则,那有啥用呢?回到前言的问题中,我们是不是可以使用目前学到的关于JMM的知识去解决这个问题。

方案一: 使用volatile

根据JMM的第2条规则,主线程写了volatile修饰的run变量,后面的t线程读取的时候就可以看到了。

方案二:使用锁

利用synchronized锁的规则,主线程释放锁,那么后续t线程加锁就可以看到之前的内容了。

小结:

volatile 关键字

  • 保证可见性
  • 不保证原子性
  • 保证有序性(禁止指令重排)

volatile 修饰的变量进行读操作与普通变量几乎没什么差别,但是写操作相对慢一些,因为需要在本地代码中插入很多内存屏障来保证指令不会发生乱序执行,但是开销比锁要小。volatile的性能远比加锁要好。

synchronized 关键字

  • 保证可见性
  • 不保证原子性
  • 保证有序性

加了锁之后,只能有一个线程获得到了锁,获得不到锁的线程就要阻塞,所以同一时间只有一个线程执行,相当于单线程,由于数据依赖性的存在,单线程的指令重排是没有问题的。

线程加锁前,将清空工作内存中共享变量的值,使用共享变量时需要从主内存中重新读取最新的值;线程解锁前,必须把共享变量的最新值刷新到主内存中。

总结

本文讲解了JAVA并发的3大特性,可见性、有序性和原子性。从而引出了JAVA内存模型规范,这主要是为了解决并发情况下带来的可见性和有序性问题,主要就是定义了一些规则,需要我们程序员懂得这些规则,然后根据实际场景去使用,就是使用volatilesynchronizedfinal关键字,主要final关键字也会让其他线程可见,并且保证有序性。那么具体他们底层的实现是什么,是如何保证可见和有序的,我们后面详细讲解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3830576.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

零代码—无代码到底有什么影响,谁会胜出?

被认为互联网下半场的产业互联网&#xff0c;格局似乎渐趋稳定明朗。但零代码/低代码的火热&#xff0c;让人思考这个新变量的出现会带来什么变化&#xff0c;难道只是提高效率&#xff01;从2020年开始到现在&#xff0c;据不完全统计&#xff0c;此赛道中有超过近20家企业获得…...

heapdump 攻击面利用

点击上方蓝字关注我们 一、heapdump案例 1.1 项目中的分析 这个是项目中遇到的一个例子&#xff0c;发现了heapdump泄露&#xff0c;但没有找到可用session&#xff0c;当时就想着内存中应该是有账号密码的&#xff0c;于是就开始找了起来。 用OQL进行搜索&#xff0c;先找…...

机器学习算法系列(五)- Lasso回归算法(Lasso Regression Algorithm)

阅读本文需要的背景知识点&#xff1a;线性回归算法、一丢丢编程知识 最近笔者做了一个基于人工智能实现音乐转谱和人声分离功能的在线应用——反谱&#xff08;Serocs&#xff09;&#xff0c;感兴趣的读者欢迎试用与分享&#xff0c;感谢您的支持&#xff01;serocs.cn 一、…...

【bug记录】AttributeError: ‘NoneType‘ object has no attribute ‘loader‘

在那个出问题的.pth文件里第一个分号后面换行就可以解决了。...

华科计算机学院专业课,华中科技大学计算机专业课程表.xls

华中科技大学计算机专业课程表,华中科技大学课程表,华中师范大学课程表,华中农业大学课程表,计算机专业课程表,大学计算机专业课程表,计算机应用专业课程表,华中科技大学计算机,华中科技大学计算机系,华中科技计算机Sheet3第3学期Sheet2Sheet1学时学分形势与政策讲座机械制图(非…...

免费将中文视频转换为英文视频并添加中英双语字幕

免费将中文视频转换为英文视频并添加中英双语字幕 背景 女朋友需要找关于《不要随意喂养动物园的动物》的英语视频&#xff0c;因为限定是英语类的视频&#xff0c;所以在国内的视频平台基本无法找到。虽然我是个程序员&#xff0c;但在女友的眼里&#xff0c;只要关于电脑的…...

近义句子转换软件 - 同义词转换器软件

在线同义句转换器 made in Japan 祝你学习进步&#xff0c;更上一层楼&#xff01;请记得采纳&#xff0c;谢谢&#xff01;(*^__^*)。 论文同义句在线转换器苹果手机可以苹果可以用的论文转换器&#xff1f; 论文同义句在线转换器苹果手机可以苹果可以用的论文转换器&#xf…...

串口通信协议【I2C、SPI、UART、RS232、RS422、RS485、CAN、TTL、USB】

&#xff08;1&#xff09;I2C 集成电路互连总线接口(Inter IC)&#xff1a;同步串行半双工传输总线&#xff0c;连接嵌入式处理器及其外围器件。 支持器件&#xff1a;LCD驱动器、Flash存储器 特点 ①有两根传输线&#xff08;时钟线SCL、双向数据线SDA&#xff09;、GAN接…...

丛麟环保IPO过会:年利润超2亿 拟募资20.3亿

雷递网 雷建平 2月17日报道上海丛麟环保科技股份有限公司&#xff08;简称&#xff1a;“丛麟环保”&#xff09;日前通过科创板上市委员会审核&#xff0c;预计近期递交注册。丛麟环保计划募资20.3亿元&#xff0c;其中&#xff0c;3.1亿元用于上海临港地区工业废物资源化利用…...

安徽大学计算机科学与技术考研科目,2020安徽大学计算机专业课调整

2020安徽大学计算机专业课调整~各种学校调整计算机初试专业课估计都麻木了&#xff0c;基本上一水的往难改&#xff0c;好多都投奔了408&#xff0c;今天启航小编在给大家分享一个调整初试专业课的学校——安徽大学。安徽大学是一所以省份命名的211大学&#xff0c;地址在安徽省…...

用Matlab求解方程

一、解一元方程 在“command Window”下直接输入需要求解的方程式&#xff1a; 例1&#xff1a;如&#xff1a;xsolve(‘x^2-2*x10’,‘x’) 该公式是用于求方程“x^2-2x10”的解 例2&#xff1a;如&#xff1a;xsolve(x^2-2x20’,‘x’) 求解出来的是一个复数 二、解二元…...

混合动力电动车优化调度与建模(发动机,电机,电池组等组件建模)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4dd;目前更新&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;电力系统相关知识&#xff0c;期刊论文&…...

数学建模——层次分析法,一致性检验学习笔记,matlab代码实现(二)

前一篇讲述了层次分析的原理,例题讲解,接下来是matlab代码实现 层次分析法理论部分评价类模型——层次分析法,一致性检验学习笔记(一) 层次分析法方法总结: 第一步:分析系统中各因素之间的关系,建立系统的递阶层次结构 第二步:对于同一层次的各元素关于上一层次中某一…...

Linux基础认知——Linux目录结构认知

文章目录一、Linux系统目录结构介绍二、常见目录说明一、Linux系统目录结构介绍 linux目录&#xff1a;一切从“根”开始&#xff0c;“&#xff0f;”是所有目录的起点 linux根下面的目录是一个有层次的树状结构&#xff0c;并且是倒挂的。 linux每个目录可以挂载在不同的设…...

拥抱云原生,Java与Python基于gRPC通信

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解实战gRPC通信&#xff0c;欢迎大家多多关注&#xff01; &#x1f514;每天进步一点点&#xff0c;一起卷起来叭&#xff01; 目录需求描述&#xff1a;gRPC简介&#…...

青春是什么

青春是什么? 说到这个问题我脑海里常常会想起老一辈人说的话 你们这一代人是幸运的 在他们看来确实如此 从1931年抗日战争的开始到1945年抗日战争的结束 从1950年抗美援朝的正式打响到1956年支援军撤回中国 他们的青春都在枪林弹雨中度过,甚至有人因此失去了宝贵的生命 …...

新版诺诺二开视频打赏源码Ver3.0版本+功能强大

正文: 下方是完整标题: 1.新增2条短链接口. 2.后台一键批量添加外。链接 3.代理后台增加总链接 程序: wwegs.lanzoub.com/iVWGF07noxzi 图片:...

零基础DNET B/S开发软件工程师培训视频教程

DNET B/S开发软件工程师零基础到大神必经之路(500课时、20项目实战)适合人群&#xff1a;初级课时数量&#xff1a;513课时用到技术&#xff1a;VS2012、C#4.5、ASP.NET、MVC4涉及项目&#xff1a;大型仿淘宝网C2C销售网站、通用权限管理系统等咨询QQ&#xff1a;1840215592 零…...

业务实现 数据操作 最小化产生binlog 增删改数据表记录

目录 1、业务背景介绍 2、最小化产生Binlog代码实现 2.1、从小组切换到班级分组 2.2、从班级分组切换到选择研讨小组 3、成果展现 4、总结 5、参考文章 Java集合运算https://blog.csdn.net/weixin_42047611/article/details/100883417 1、业务背景介绍 我们在实际实现的…...

mysql的使用以及环境变量

MySQL工作原理 数据库管理系统。 数据库系统本身。 登录mysql管理系统 当前目录按cmd登录mysql.exe 当前目录使用 但是这样很麻烦&#xff0c;我们直接可以直接cmd运行 mysql 但是需要配置一下环境变量 接下来我们做一下对比 但是我们没有登录成功 • 没有登录成功的原因…...

MySQL中concat的使用

如图所示&#x1f447;&#x1f447;&#x1f447; 1、功能&#xff1a;将多个字符串连接成一个字符串。 2、语法&#xff1a;concat(str1, str2,…) 返回结果为连接参数产生的字符串&#xff0c;如果有任何一个参数为null&#xff0c;则返回值为null。 3、举例&#xff1a;…...

【FPGA】数码管动态显示之电子时钟

文章目录一、数码管动态显示的原理二、设计思路三、代码部分一、数码管动态显示的原理 数码管动态显示其实就是数码管静态显示的升级版&#xff0c;给的段选信号是一样的&#xff0c;就是显示哪个字&#xff0c;但是不一样的是取决于给哪个位选信号&#xff0c;就是显示哪个数码…...

Hadoop集群配置(二)免密登录和集群配置

写在开头&#xff1a; 难难难道德玄&#xff0c;不对知音不可谈&#xff0c;对了知音谈几句&#xff0c;不对知音枉费舌尖~~ 咱们书接上回&#xff0c;上一篇写完了基础环境的配置&#xff0c;这篇就来说硕同样重要的免密登录&#xff0c;当然还有Hadoop集群的配置。 2.1 三台…...

nodejs 连接mysql数据库

准备工作&#xff1a; 1.对项目初始化。 输入命令npm init -y&#xff1b; 2.npm安装MySQL的驱动 输入命令 cnpm i mysql --save;下载mysql组件 3引入mysql模块 const mysql require("mysql"); 4.连接配置 调用createConnection方法&#xff0c;这个方法需要…...

用户登录MySQL服务器的方法

这篇文章将介绍启动MySQL服务器的两种方法和登录连接服务器的三种方法 注意&#xff1a;MySQL启动服务器和登录连接服务器不是一个概念&#xff1b;只有启动服务器之后才可以登录连接服务器 一、MySQL服务器的加载与启动 1、加载MySQL 在MS-DOS命令行输入“mysqld -install …...

【初阶数据结构】第一篇——时间复杂度和空间复杂度详解(C描述)

文章目录前言什么是数据结构&#xff1f;什么是算法&#xff1f;1. 算法效率1.1如何衡量一个算法的好坏1.2 算法的复杂度1.2 复杂度在校招中的考察2. 时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3 常见时间复杂度计算举例例1双重循环例2. 多未知数例3. 常数次循环例4…...

使用Navicat for Mysql创建数据库

创建数据库 序号图片备注1新建连接&#xff0c;创建连接之后双击连接打开mysql2右击连接名&#xff0c;打开新建数据库3新建数据库 创建数据库表1&#xff08;导入sql&#xff09; 可以通过使用PowerDesigner创建MySQL数据库生成sql文件 链接: 使用PowerDesigner创建MySQL数据…...

mysql 不支持 except_MySQL中EXCEPT的等效项是什么?

您不能在MySQL中使用EXCEPT&#xff0c;而应使用NOT IN运算符。让我们首先创建一个表-mysql> create table DemoTable(Number1 int);使用插入命令在表中插入一些记录-mysql> insert into DemoTable values(100);mysql> insert into DemoTable values(200);mysql> i…...

用命令行启动mysql

1、打开命令提示符并进入到mysql目录中的bin目录下---- 进入命令提示符&#xff08;通过win键R键或者左下角直接搜索命令提示符打开&#xff09;&#xff0c; 在命令提示符中输入&#xff1a;cd mysql路径\bin\ &#xff08;注意&#xff1a;如果发现进入不到其他盘中&#…...

matlab 怎么使用function,Matlab中function函数使用操作方法

亲们或许不知道Matlab中function函数如何使用&#xff0c;那么今天小编就讲解Matlab中function函数使用操作方法哦&#xff0c;希望能够帮助到大家呢。Matlab中function函数使用操作方法打开Matlab&#xff0c;点击新建->函数&#xff0c;默认创建一个名为Untitled2函数&…...

学习笔记28--Apollo平台概述

本系列博客包括6个专栏&#xff0c;分别为&#xff1a;《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》&#xff0c;笔者不是自动驾驶领域的专家&#xff…...

软件开发文档模板

目录 1. 范围 2. 总体要求 2.1 总体功能要求 2.2 软件开发平台要求 2.3 软件项目的开发实施过程管理要求 2.3.1 软件项目实施过程总体要求 2.3.2 软件项目实施变更要求 2.3.3 软件项目实施里程碑控制 3. 软件开发 3.1 软件的需求分析 3.1.1 需求分析 3.1.2 需求分析…...

超级干货:独立开发者如何快速完成一个商业化的项目

loonggg读完需要3分钟速读仅需1分钟是不是感觉我好久没有更新文章了&#xff1f;是的&#xff0c;这一周家里有点事&#xff0c;非常忙&#xff0c;就没有时间更新文章。所以在公众号后台就有人催更&#xff0c;为啥文章不更新了&#xff1f;知道大家着急&#xff0c;所以&…...

0基础如何自学软件编程开发

0基础如何自学软件编程开发&#xff1f;学习软件编程首先需要选择一门编程语言&#xff0c;如C或JAVA语言&#xff0c;作为基础编程语言学习&#xff0c;掌握语言的逻辑&#xff0c;学习语法&#xff0c;其实编程实质上就是思路的运用&#xff0c;编程思路有了再想学习其他的编…...

matlab parfor使用

最近要使用matlab对数据集进行处理&#xff0c;由于数据集很大&#xff0c;matlab串行处理效率很低。 在网上查到可以使用parfor循环代替原本的for循环来实现matlab中的并行循环。 parfor要求循环中的数据没有上下依赖&#xff0c;每个循环之间相互独立&#xff0c;这样才能在…...

Java Mark Word

时间长了总是会容易遗忘的知识点 64位 |-----------------------------------------------------------------------------------------------------------| | Object Header (128 bits) |…...

如何打开mac自带的python工具

第一步:打开mac的终端...

java jframe教程_Java JFrame

Java JFrame1 Java JFrame的介绍javax.swing.JFrame类是一种继承java.awt.Frame类的容器。JFrame的工作原理类似于主窗口&#xff0c;其中添加了标签&#xff0c;按钮&#xff0c;文本字段等组件以创建GUI。与Frame不同&#xff0c;JFrame可以选择使用setDefaultCloseOperation…...

ogre 学习笔记 - Day 0

ogre 学习笔记 - Day 0 OGRE : Object-Oriented Graphics Rendering Engine 从名称可以得出&#xff0c;OGRE是一个渲染引擎 下载地址 https://www.ogre3d.org/ 最新版 ogre-13.1.0 编译 工具 cmake-gui, vs2019, vscode Configure configure时发现ogre会自动从github下载/…...

python 基础

输出 r:转义无效符 在字符串前加r使当前字符串的转义字符无效&#xff0c;按原样输出 print(r\n hello \v) \n hello \v数字 bool False True int 0 非0 float 0.0 非0.0 str 空字符串 非空字符串列表 [] 空列表 元组 () 字典 {}切片 Python中符合序列的有序序列…...

hadoop配置流程

第一步&#xff1a;重新新建一个虚拟机&#xff0c;命名为hadoop[内存不能太小了] 第二步&#xff1a;添加镜像文件&#xff08;ISO文件&#xff09; 第三步&#xff1a;root用户登录 第四步&#xff1a; 第五步&#xff1a;修改主机名为master 执行&#xff1a;vim /etc/…...

软件开发入门【7分钟课程】

很多人想学软件但是不知道从何处入手,接下来我用7分钟的时间带你去门里看看。 市面上的软件开发语言又有很多种。这些语言的根本意思都差不多,设计的初衷都是能够更简单的把人说的话变成机器(或者电脑)懂的话。 看看这些单词 (不懂也可以跳过去) JAVA ,C ,C++,VB,P…...

mysql之like的用法

在mysql中&#xff0c;我们常常会对一些数据进行模糊查找&#xff0c;例如查找表中的姓张的用户的数据信息、查找段落中包含‘高兴’的字符串数据等&#xff0c;关于like的使用&#xff0c;匹配串中包含以下四种通配符 1、_ &#xff1a;用于匹配任意一个字符&#xff0c;例如…...

跨系统文件共享方式,你还在用U盘拷贝?

IT国产化浪潮下&#xff0c;党政单位处在信创、非信创环境混合阶段下&#xff0c;新老设备双机共存&#xff0c;这就要涉及到跨系统文件共享的问题了&#xff01; Windows和MacOS操作系统文件共享Windows和国产操作系统文件共享MacOS和国产操作系统文件共享 由于Windows系统和…...

【MM32F5270开发板试用】+串口中断接收与定时器

本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;szit 一 准备工作 PLUS-F5270开发板基于灵动MM32F5系列芯片的Armv8-M 架构的 “星辰” STAR-MC1 处理器&#xff0c;资料链接:https://aijishu.c…...

Mysql的几种语言

DDL&#xff08;Data definition language&#xff09;数据定义语言&#xff0c;主要的操作对象是数据库和表的create、drop、alter。DML&#xff08;Data manipulation language) 数据操纵语言&#xff0c;主要的是对表进行insert、delete、update。DQL&#xff08;Data query…...

读书笔记:《论语》

文章目录前言来源《论语》基本信息学而篇小结参考文献前言 创作开始时间&#xff1a;2021年11月29日20:20:33 在此记录对《论语》一书的读书笔记。 来源 古诗文网https://so.gushiwen.cn/guwen/book_46653FD803893E4F75696240258265D2.aspx 《论语》基本信息 《论语》是儒…...

nginx_http_proxy,upstream,stream模块简析

一. ngx_http_proxy_module模块&#xff1a; 模块功能: 为后端httpd服务做反向代理, 并且与Httpd 之间使用http进行通信 1、proxy_pass URL; Context: location, if in location, limit_except 当root 与proxy_pass 同时存在是,proxy 优先级更高 ———————————————…...

盛最多水的容器 2021.11.29

这道题如果对时间复杂度没有要求的话可以用双循环暴力枚举解决问题&#xff1b;但是人家偏偏就对时间复杂度有要求&#xff0c;这个时候就要考虑到双指针了&#xff01;具体代码如下&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.…...

Git常用命令速查表

Git目前已经是国内最常见的代码管理工具之一&#xff0c;无论新手还是经验丰富的大佬&#xff0c;都需要有一套自己的Git命令字典&#xff0c;方便随时使用。 Git简介 Git是一款免费、开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。Git与常用的…...

Hadoop的配置

1. 配置主机名 /etc/sysconfig/network hostnamemaster master是主节点的意思 需要重启虚拟机才能生效 2. 配置主机名和ip地址的映射 先确保静态ip配置好了&#xff0c;在主机可以ping虚拟机&#xff0c;在虚拟机可以ping通主机 eth0 的网卡设置为 仅主机模式 /etc/hosts 192.1…...

什么时候应该和不应该在你的项目中使用 Node.js

Javascript 作为最常用的编程语言&#xff0c;目前正处于其流行的高峰期。能够在服务器端和客户端使用 Javascript 的奢侈是这种流行的原因之一。 Node.js&#xff0c;Javascript 的服务器端运行时现在在开发人员中很受欢迎&#xff0c;这不仅是因为前端和后端使用相同的语言很…...

MySQL用逗号进行拼接、以逗号进行分割

MySQL中&#xff0c;把查询的结果拼接成一个字符串。 group_concat 函数用法&#xff1a;group_concat (待拼接对象) 输出&#xff1a;用逗号进行拼接后的字符串 例子&#xff1a; select group_concat(emp_no) as employees from dept_emp;/* 结果&#xff1a; employees …...

后端开发实践系列——领域驱动设计(DDD)编码实践

转自&#xff1a;后端开发实践系列——领域驱动设计(DDD)编码实践 - Thoughtworks洞见 后端开发实践系列文章列表&#xff1a; 后端开发实践——开发者的第0个迭代 后端开发实践系列——领域驱动设计(DDD)编码实践 后端开发实践系列——事件驱动架构(EDA)编码实践 后端开发…...

Matlab和PLC的OPC通讯

Matlab和PLC的OPC通协议配置教程目的和意义matlab下OPC的配置OPC协议简单介绍实现OPC DA过程数据访问必须遵循以下步骤&#xff1a;Matlab下OPC相关查看和安装Windows系统下相关组件的安装可能出现的问题PLC的配置Matlab和PLC的关联新建Simlink流程图相关链接目的和意义 对于初…...

matlab实现插值

插值是在已知数据点的基础上添加新数据点的方法&#xff0c;可以用于估测缺失数据、将已知数据平滑链接等效果。下文讲解基于matlab实现插值。 一维插值 % 一维插值 clc;clear all; y[0.31472 0.84549 0.98429 0.81619 0.51237]; x[1 2 3 4 5]; x10:0.1:5; y1interp1(x,y,x1,s…...

【vue大师晋级之路第二集:深入了解组件】第3章——自定义事件

事件名 不同于组件和 prop&#xff0c;事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。举个例子&#xff0c;如果触发一个 camelCase 名字的事件&#xff1a; this.$emit(myEvent)则监听这个名字的 kebab-case 版本是不会有任何效…...

Hadoop的详细配置(持续更新)

文章目录一、大数据&#xff08;持续更新&#xff09;1. 前言1.0作者感言1.1选择Typora1.1.1 选择PicGo(APP)的原因1.1.2 下载PicGo并配置1.1.3 开始写博客&#xff0c;记录自己学习的点点滴滴1.1.4 附件下载地址1.2 为什么用Linux&#xff1f;2.下载VMware并安装Linux3. 安装V…...

app开发流程:手机软件开发app的6个步骤

现在以手机app为代表的移动互联网已经超过传统的PC&#xff0c;成为企业营销创业赚钱不可忽视的重要渠道&#xff0c;手机软件开发app成为传统企业转型的关键。app开发具体需要哪些流程和周期呢&#xff1f;今天给大家分享一下app开发流程的6个步骤。 1、项目确定 在进行app开…...

C语言九条语句经典例题,一起温故而知新!!!

目录 1.计算123......100的和 2.求123.....n的和&#xff0c;n的值由键盘输入 3.求下列式子的值&#xff1a;1-1/21/3-1/4……1/99-1/100&#xff0c;将结果输出 4.求1!2!3!……10!&#xff0c;将结果输出 5.键盘输入三个整数&#xff0c;求这3个整数的最大值 6.打印出100…...

Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)

Mysql数据库入门—数据查询 Author&#xff1a;qyan.li Date&#xff1a;2022.2.21 文章目录Mysql数据库入门---数据查询1. select关键字2.条件查询3.排序查询1. select关键字 select意为选择之意&#xff0c;可以借助于select关键字完成数据库内容的查询 借助于关键字查询 基…...

MySQL零基础入门——了解数据库

MySQL零基础入门——了解数据库 MySQL零基础入门——数据库的安装、启动、卸载 MySQL零基础入门——SQL语句&#xff08;DDL操作库&#xff09; MySQL零基础入门——SQL语句&#xff08;DDL操作表&#xff09; 第1章 数据库的介绍 1.1 数据库概述 1.1.1 什么是数据库 …...

数据库入门到精通 ——视图与索引经典题

目录 视图与索引 视图&#xff1a; ​ 内容的引入 问题&#xff1a; 设计思路 定义视图 创建视图 创建视图注意事项 创建单源表视图 创建多源表视图 创建基于视图的视图 创建带表达式的视图 创建含统计信息的视图 删除视图 查询视图 视图的作用 索引 索引…...

数据库入门教程(SQL Server 2005)----数据库是如何查询数据的

数据库入门教程(SQL Server 2005)----数据库是如何查询数据的----查询&#xff1a;逻辑顺序1、计算列//以scott数据库中的emp表为例-----where可译为查找&#xff0c;其本质是在进行表中的数据筛选。对于筛选字段&#xff0c;自from到where或其后任何一个语句&#xff0c;都是用…...

Mongodb数据库入门系列(二)

这是mongodb数据库入门系列的第二篇文章&#xff0c;这篇主要是对mongodb数据库的查询功能添加索引优化查询速度、已经表关联关系的一些整理&#xff0c;还有补充一下数据库的用户权限设置。 1、数据库的数据索引 索引就是一个标记&#xff0c;作用就是加快查找速度&#xff…...

数据库入门-----数据存储结构

数据库入门-----数据存储结构&#x1f525;**回顾第一章内容**&#x1f525;✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ ❤数据库入门-----数据库概述 ❤数据库入门-----数据存储结构 ❤数据库入门-----SQL语言概述 ❤数据库入门---…...

Neo4j图数据库入门实践

Neo4j作为图数据库和知识图谱伴随 2012 年 google 正式发布知识图谱搜索引擎和 2013 年 facebook 开放知识图谱搜索入口以来&#xff0c;知识图谱迎来了一波发展浪潮&#xff0c;neo4j 作为原生的图数据库&#xff0c;也得到广泛的重视和发展、应用。 图数据库是NoSQL数据库的…...

MongoDB数据库入门学习

一、MongoDB介绍 MongoDB是一个跨平台&#xff0c;面向文档的数据库&#xff0c;提供高性能&#xff0c;高可用性和易于扩展。由C语言编写的&#xff08;这点很重要&#xff0c;则表示在Linux下需要安装gcc环境&#xff09;&#xff0c;MongoDB是工作在集合和文档上一种概念&am…...

国产数据库达梦8新手入门

前言 本人80后的老程序员&#xff0c;之前只使用过SqlServer和MySQL&#xff0c;最近特殊需要准备学习下国产数据达梦&#xff0c;作为入门学习&#xff0c;先尝试图形化安装的方式快速学习入门。 由于是自己学习&#xff0c;因此使用VMware虚拟机&#xff0c;首先下载国产麒…...

数据库索引入门

什么是索引? 索引是在数据库字段上添加的,一种由于提升查询效率的机制。可以给需要的表的字段添加索引&#xff0c;当然多字段可以添加——复合索引。 索引有什么用&#xff1f; 可以缩小扫描查询范围&#xff0c;做到局域性扫描&#xff0c;例如目录于书。通过目录&#x…...

Redis数据库✧入门篇

Redis数据库&#xff08;入门篇&#xff09; Redis数据库&#xff1a;非关系型数据库&#xff0c;即NoSql数据库&#xff0c;基于内存存储系统&#xff08;内存磁盘&#xff09;&#xff0c;其中有常用的五个数据类型&#xff1a;String&#xff0c;Hash&#xff08;键值对集合…...

How to understand Zipline of Quantopian

Zipline From Quantopian document, Zipline which is one of the Quantopian tools that are open-source and avaiable for local installation contains the Algorithm and Pipeline APIs. Zipline(GitHub) is an open-source algorithmic trading simulator written in Py...

Zipline学习笔记

1. 安装 conda安装&#xff1a;conda install -c Quantopian zipline conda相关命令 conda info 查看信息 conda create -n env_zipline python2.7 创建虚拟环境 conda env list 查看conda环境列表 # 激活conda env: cd /d C:\ProgramData\Miniconda3 activate env_zipline…...

jupyter配置虚拟环境:安装zipline,quandl

zipline安装 官方说版本用3.5还强烈建议用conda,我尝试window实在太累了。 创建环境&#xff1a; conda create -n env_zipline python3.5使用环境&#xff1a; conda activate env_zipline退出则是&#xff1a; conda deactivate 安装&#xff1a; conda install -c Qua…...

【答读者问35】关于pyfolio提示zipline.assets的警告信息

云子量化免费阅读传送链接 首先,必须要说明的是,这个不影响pyfolio的正常使用。可以忽略或者使用忽略 import warnings warnings.filterwarnings("ignore")接下来,梳理一下,为啥会出现这样的警告信息。后面的大家不用看了,几乎没啥含金量。 pyfolio的来源 p…...

从0学量化投资 - 在mbp上用pip安装zipline

很久前搭建过一套ziplineA股分析单机版&#xff0c;后来换了电脑&#xff0c;系统升级后&#xff0c;又重做&#xff0c;结果发现很多之前解决过的问题又需要google&#xff0c;很是麻烦&#xff0c;想必大家也会有类似问题&#xff0c;特此记录。 zipline最新版本 1.4.0 在最…...

【强化学习论文合集 | 2018年合集】一. ICML-2018 强化学习论文

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…...

zipline策略流程

1、initialize() 函数形式&#xff1a;initialize(context) 函数说明&#xff1a;是必须的&#xff0c;程序启动初始化&#xff0c;context是参数 2、handle_data() 是可选的 函数形式&#xff1a;handle_data(context, data) 函数说明&#xff1a;择时下单的方法&#xff0c;回…...

python---win10下安装zipline

关于zipline安装可参考 https://pythonprogramming.net/zipline-local-install-python-programming-for-finance/ 本篇全程用cmd的pip操作。&#xff08;好像Anaconda安装会更方便些&#xff1f;&#xff09; 一、前提条件&#xff1a; zipline要求python环境必须为3.5&…...

zipline的api包详解

1、history 函数形式&#xff1a;history(bar_count, frequency, field, ffillTrue) 函数说明&#xff1a;已经不用了&#xff0c;用data.history替代 2、order_target_percent 函数形式&#xff1a;order_target_percent(asset, target, limit_priceNone, stop_priceNone, sty…...

zipline中benchmarks.py源码分析

zipline中benchmarks源码分析1 benchmark 基准数据2 get_benchmark_returns_from_file 从文件中获取基准数据3 BenchmarkSpec 基准数据操作类3.1 __init__ 初始化3.2 from_cli_params 从Cli参数获取cls3.3 from_returns 从置基准回报数据获取cls3.4 resolve 获取回报数据3.5 _z…...

Zipline入门教程

Zipline Beginner Tutorial Basics 基础 Zipline is an open-source algorithmic trading simulator written in Python. Zipline是开源的算法交易模拟器,使用python编写。 The source can be found at: https://github.com/quantopian/zipline Some benefits include: Realis…...

zipline的包结构

1、assets 2、data 3、finance 4、gens 5、lib 6、pipeline 7、testing 8、utils 9、algorithm 10、api 11、dispatch 12、errors 13、protocol...

ubuntu安装zipline

直接在命令行敲入pip install zipline 中间会显示安装过程&#xff0c;最终 Successfully installed Cython-0.29.6 Logbook-1.4.3 Mako-1.0.8 alembic-1.0.8 bcolz-0.12.1 bottleneck-1.2.1 contextlib2-0.5.5 cyordereddict-1.0.0 empyrical-0.5.0 funcsigs-1.0.2 intervalt…...

Zipline的安装教程

本人刚开始接触量化交易平台&#xff0c;加入项目中首先让我做的是了解下zipline&#xff0c;zipline是一个开源的专门用来回测的平台。因为在最开始安装zipline时遇到很多问题一直失败&#xff0c;所以现在把安装zipline的具体过程整理出来分享一下。 安装zipline有两种方式&…...

Zipline Development Guidelines

Development GuidelinesThis page is intended for developers of Zipline, people who want to contribute to the Zipline codebase or documentation, or people who want to install from source and make local changes to their copy of Zipline.本页面适用于Zipline的开…...

安装zipline

一、下载anaconda wget https://repo.continuum.io/archive/Anaconda2-4.3.1-Linux-x86_64.sh 通过 bash 命令执行安装 二、查看conda版本 conda -V vim ~/.bashrc 三、安装zipline conda install -c Quantopian zipline 四、查看zipline命令 [rootsyq_paydev_pj-znty_python…...

Zipline Beginner Tutorial

Zipline Beginner TutorialBasicsZipline is an open-source algorithmic trading simulator written in Python .Zipline是一个用Python编写的开源算法交易模拟器。The source can be found at: https://github.com/quantopian/zipline 源码地址在Some benefits include: 一些…...

Zipline Data Bundles

Data BundlesA data bundle is a collection of pricing data, adjustment data, and an asset database. Bundles allow us to preload all of the data we will need to run backtests and store the data for future runs.数据包是定价数据&#xff0c;调整数据和资产数据库…...

zipline量化平台----本地化(上)

无意中发现了一个巨牛的人工智能教程&#xff0c;忍不住分享一下给大家。教程不仅是零基础&#xff0c;通俗易懂&#xff0c;而且非常风趣幽默&#xff0c;像看小说一样&#xff01;觉得太牛了&#xff0c;所以分享给大家。教程链接&#xff1a;https://www.cbedai.net/qtlyx 这…...

量化交易总结--zipline

zipline源&#xff1a;GitHub - quantopian/zipline: Zipline, a Pythonic Algorithmic Trading Library 国内镜像&#xff1a;zipline: Zipline 是一个 Pythonic 算法交易库 非常好的参考网站&#xff1a; 目前比较流行的Python量化开源框架汇总(交易风险分析工具) - 勋爵|X…...

Zipline在anaconda3 中的安装注意事项(Mac)

Zipline在anaconda3 Mac中的安装注意事项&#xff1a; 目前还是要选择python3.5的环境来安装如果anaconda3的base(root)环境是3.7&#xff0c;那么juypter notebook好像没有办法在env_zipline中独立安装和使用3.5版本的python但是在pycharm中&#xff0c;Project Interpreter …...

zipline安装以及bundles数据下载过程

zipline安装及bundle数据下载zipline安装1 安装anaconda2 下载zipline库下载数据1 修改pandas版本2 注册quandel运行测试代码JSONDecodeError bug 修改参考资料zipline安装 1 安装anaconda zipline支持python2.7和python3.5&#xff0c;所以最简单的方法直接安装Anaconda3.4.…...

Zipline框架初探(上)

为了朝着量化交易的方向努力行进&#xff0c;数学和编码是必须提高的垫脚石&#xff0c;财务分析则属于业余爱好加分项。数学方面借着报名“七月在线 — 机器学习数学班”重温数学基础以图从机器学习的角度入手&#xff0c;而编码则再次翻开数据结构和算法导论用以弥补计算机基…...

利用ffmpeg将m3u8下载成mp4(利用ps1脚本解析json批量下载)

利用ffmpeg将m3u8下载成mp4安装ffmpegJSON文件示例(自行抓取m3u8)powershell脚本打开powershell运行安装ffmpeg 自行baidu JSON文件示例(自行抓取m3u8) [{"filename": "1_AI基础基本应用.mp4","url": "https://hls.videocc.net/ef4825bc…...

HTTP协议数字报错(详细说明)

目录 什么是HTTP协议&#xff1a; 且有五种可能取值&#xff1a; 五种常见状态码收集&#xff1a; 1xx 指示信息 2xx 成功 3xx 重定向 4xx 客户机中出现的错误 5xx 服务器中出现的错误 常见状态码 扩展HTTP状态码&#xff1a; HTTP 401.x HTTP 403.x HTTP 500.x HTTP其他状态码…...

m3u8视频下载器

文章目录前言一、获取网站的m3u8文件url二、使用步骤1.修改配置文件2.运行py或者exe总结前言 有的时候看个视频太卡了&#xff0c;就想把视频搞下来&#xff0c;一些网站吧&#xff0c;它不让下载&#xff0c;而且还是ts流视频&#xff0c;于是就做了个m3u8视频下载器第一版本…...

2022年腾讯课堂现在用m3u8下载不了,怎么办

2-1 先说结论&#xff1a;可以下载&#xff0c;但是用m3u8下载的方法是不行的 本文讲一下如何把在腾讯课堂购买的视频下载回来&#xff0c;其实很简单&#xff0c;总的原理是这几步&#xff1a; 在腾讯课堂APP里把视频下载回去&#xff0c;这一步的视频是加密的然后传到电脑…...

Word2019保存文件图片被压缩解决办法

解决方法很简单&#xff1a; mac版Word为&#xff1a;Word->偏好设置->创作和校对工具->编辑->图片大小和质量-> 勾选不压缩文件中的图像 windows版Word为&#xff1a;文件->选项->高级->图片大小和质量->勾选不压缩文件中的图像 本人选择的是保留…...

java jsp输出word_Jsp页面保存及生成Word文档

由于项目需要实现此功能&#xff0c;于是从网上找了下相关资料&#xff0c;据我了解目前有如下3种方法用于实现&#xff1a;1-apache的POI,此方法对Excel的导出做的很好&#xff0c;目前对Word的导出方面的功能尚未完全。2-纯JavaScript脚本实现。主要通过客户端调用本机Office…...

写给儿子的一封信

最近听闻你成绩有点不理想&#xff0c;爸爸想跟你讲几个想法。 之前学羽毛球的时候&#xff0c;我往往带有期望&#xff0c;希望你能学成像林丹一样。每次你去上课&#xff0c;我也在旁边盯着&#xff0c;后来我发现效果不好&#xff0c;你好像很害怕我说你&#xff0c;学的也不…...

关于word2016保存失败

今天朋友遇到一个奇葩问题&#xff0c;在win10家庭版的笔记本上的word2016很多次保存的文件消失了。 经检查发现有以下的情况&#xff1a; 1.我也遇到这个问题了我用的是 Word 2016&#xff0c; 操作系统 Microsoft Windows 10 专业版 10.0.15063 。 点击保存按钮之后看起来…...

翻遍知乎1000多个高赞回答,我找到了这7本计算机圣经

程序员书库&#xff08;ID&#xff1a;CodingBook&#xff09; 猿妹综合整理来源&#xff1a;豆瓣、https://www.zhihu.com/question/28438145/answer/758059658等知乎上曾有一个问题调查&#xff1a;不同领域的圣经级书籍有哪些&#xff1f;这个调查被浏览了6667327次&#xf…...

HDLC协议通过哪个字段实现可靠传输?

HDLC协议&#xff08;高级数据链路控制协议&#xff09; 事情是这样的&#xff0c;老师布置了课后作业题 很遗憾这道题选错了&#xff0c;选错的原因则是我在搜索的资料中显示&#xff0c;帧校验序列可以防止漏帧&#xff0c;从而提高传输的可靠性 &#xff0c;我是基于这个…...

计算机网络之数据链路层局域网、以太网及其PPP协议HDLC协议【408_4】

一、局域网基本概念和体系结构 &#xff08;一&#xff09;局域网 局域网&#xff08;Local Area Network&#xff09;&#xff1a;简称LAN&#xff0c;是指在某一区域内由多台计算机互联成的计算机组&#xff0c;使用广播信道。特点&#xff1a; ①、特点1&#xff1a;覆盖的…...

计算机网络——数据链路层局域网、以太网、PPP协议和HDLC协议、链路层设备

文章目录前言一、局域网简介1、局域网的基本概念和特点2、局域网的主要要素3、局域网的分类与 IEEE 802 标准4、LLC 子层和 MAC 子层二、以太网三、无线局域网四、PPP 协议和 HDLC 协议1、广域网2、PPP 协议3、HDLC 协议五、链路层设备1、物理层扩展以太网2、链路层扩展以太网⑴…...

8月5日 网工学习 CRC校验码 HDLC协议

目录 2.9.3循环冗余校验码CRC 第二章数据通信基础总结 第三章 3.1.2 本地回路 3.2.1 流量控制和差错控制 3.2.2 HDLC协议 2.9.3循环冗余校验码CRC 异或运算&#xff1a;相同是0&#xff0c;不同是1&#xff01;唯一能纠错的是海明码 例题&#xff1a; 答案&#xff1…...

梯形的面积

编写程序&#xff0c;从键盘输入梯形的上下底边长度和高&#xff0c;计算梯形的面积。 1.定义变量时要有数据感应。 2.输入时print f不用加数据替代&#xff01; 3.计算公式时要有符号的区别&#xff01;...

html 画梯形容器,css怎么画梯形?

在html网页设计中&#xff0c;常会结合css绘制一些简单的形状&#xff0c;那么使用css该如何画梯形呢&#xff1f;下面我们来看一下使用css画梯形的方法。css绘制梯形的方法&#xff1a;1. 利用border加粗方式这是网上较为常见的方式&#xff0c;其原理就是对一个高度为0px的正…...

HTML绘制等腰梯形,几何画板绘制等腰梯形的操作教程

有那么一部份多朋友还不熟悉几何画板怎样绘制等腰梯形的操作&#xff0c;下面小编就讲解几何画板绘制等腰梯形的操作教程&#xff0c;希望对你们有所帮助哦。几何画板绘制等腰梯形的操作教程一、画底角为30的等腰梯形打开几何画板&#xff0c;点击左侧侧边栏“自定义工具”按钮…...

CSS 实现渐变梯形

目录背景遇到的问题解决方法背景 前段时间我们的设计出了一稿&#xff0c;有个按钮是个渐变的梯形&#xff0c;类似下面这样&#xff08;渐变可能不是特别明显&#xff0c;不过的确用了渐变&#xff0c;从上到下由浅到深&#xff09;&#xff1a; 这种情况我的第一反应是切图…...

matlab画三维梯形,教你用MATLAB快速作一维、二维、三维图.ppt

Matlab作图是通过描点、连线来实现的&#xff0c;故在画一个曲线图形之前&#xff0c;必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标)&#xff0c;然后将该点集的坐标传给Matlab函数画图. 例 在[0,2*pi]用红线画sin(x),用绿圈画cos(x). xlinspace(0,2*pi,30); ysin(x…...

Java定义图形

定义图形 定义图形类&#xff0c;圆形&#xff08;用数字1表示&#xff09;、矩形&#xff08;用数字2表示)。 从键盘输入图形类别(1代表圆&#xff0c;2代表矩形)和相应的参数&#xff0c;计算并输出相应图形的面积和周长&#xff0c;结果保留小数点后2位数据。 输入格式: …...

html 带边框的梯形,css clip-path画带边框梯形多边形

css clip-path画带边框梯形多边形项目案例一(自适应梯形)项目案例二(渐变色多边形)项目案例一(自适应梯形)如下梯形区域为模块的title信息&#xff0c;要求title文字个数变化时梯形区域随之变化实现方法&#xff1a;两个div嵌套&#xff0c;外层div加背景色&#xff0c;然后使用…...

android 自定义梯形,如何在android中构建一个梯形形状?

这个类是一个View定义&#xff0c;并绘制一个梯形ShapeDrawable。因此&#xff0c;梯形&#xff0c;作为Drawable&#xff0c;也可用于背景。package com.stackoverflow.questions.q25768037;import android.content.Context;import android.graphics.Canvas;import android.gr…...

java定义一个梯形类_java上机 第五周 任务2 创建一个梯形类

/** 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称&#xff1a;创建一个梯形类* 作 者&#xff1a;薛广晨* 完成日期&#xff1a;2011 年 09 月 27 日* 版 本号&#xff1a;x1.0* 对任务及求解方法…...

如何做出html直角梯形效果,css怎么做梯形?

在HTML项目中可以通过css设置一些常用的形状&#xff0c;想知道css如何制作梯形吗&#xff1f;下面我们来看一下css制作梯形的方法。css制作梯形示例&#xff1a;Document.trapezoid{border-bottom: 100px solid red;border-left: 50px solid transparent;border-right: 50px s…...

html5梯形图形代码,CSS秘密花园:梯形标签

《CSS Secrets》是Lea Verou最新著作&#xff0c;这本书讲解了有关于CSS中一些小秘密。是一本CSSer值得一读的一本书&#xff0c;经过一段时间的阅读&#xff0c;我、南北和彦子一起将在W3cplus发布一系列相关的读后感&#xff0c;与大家一起分享。问题梯形应用得比平行四边形更…...

c语言编写 构成的梯形,用C语言编写梯形

笨10级2009-11-02 回答具体是什么形状呢&#xff1f;追问&#xff1a;***** ** ***********追答&#xff1a;游览器打空格会有问题你按我后面注释说的做这段代码应该可以#includeint main(){printf(" ****\n");//在**之前打3个空格printf(" * *\n");//在**…...

matlab-梯形积分

1、内容简介 略 2、内容说明 略 clear clc close all %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% f (x) 2*x.^2-1; % 定义函数 % xstart 0; xstop 2; num_steps 20; xpoints linspace(xstart,xstop,num_steps); ypoints f(xpoints); % 调用之前的函数 integral trap…...

C++多态的一些记录

文章目录俩概念例子多态要满足如何实现纯虚函数和抽象类几个黑马的例子虚析构和纯虚析构俩概念 首先记住俩概念&#xff0c;地址的早绑定和晚绑定 静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确定函数地址 &#xff08;我的理解&a…...

JVM笔记(6)—— JVM运行时问题案例

案例一&#xff1a;CPU占用过多 问题场景&#xff1a;服务器告警CPU占用过高 排查&#xff1a; 用top命令查看哪个进程对cpu的占用过高&#xff0c;获取进程id。可以看到PID为32655的进程此时占用了99.2%的CPU 根据进程id用ps命令进一步定位是哪个线程引起的cpu占用过高&am…...

【单细胞高级绘图】06.feature展示

这个图是前两天刚画的。箱型图、散点图、小提琴图组合在一起&#xff0c;档次瞬间上去了。 最近修稿过程中&#xff0c;审稿人提了一个建议&#xff0c;说是在某一张小提琴图上添加点&#xff0c;可以更好反映数据的分布。我理解他的意思&#xff0c;大概就是&#xff1a; 左图…...

SVN记录

如何查看自己电脑是否已经安装过SVN打开终端&#xff0c;敲入如下命令&#xff1a;svn -version如果有已经安装了svn&#xff0c;那么终端控制台将出现如下信息&#xff1a;svn: invalid option character: eTypesvn help for usage.如果出现如下&#xff0c;则说明当前系统没有…...

Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 目录 Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、简单实现步骤 五、关…...

故障分析 | Redis AOF 重写源码分析

作者&#xff1a;朱鹏举 新人 DBA &#xff0c;会点 MySQL &#xff0c;Redis &#xff0c;Oracle &#xff0c;在知识的海洋中挣扎&#xff0c;活下来就算成功… 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请…...

【YBT2023寒假Day6 B】树的计数(贪心)(DP)(拉格朗日插值)

树的计数 题目链接&#xff1a;YBT2023寒假Day6 B 题目大意 定义无标号树的大小是节点个数&#xff0c;权值是最大独立集大小&#xff0c;树的儿子有序&#xff0c;然后给你 n&#xff0c;要你求对于每个 i1~n&#xff0c;j0~n&#xff0c;大小是 i 权值是 j 的不同树的数量…...

动手深度学习笔记(四十四)8. 循环神经网络

动手深度学习笔记(四十四)8. 循环神经网络 8. 循环神经网络8. 循环神经网络 到目前为止,我们遇到过两种类型的数据:表格数据和图像数据。 对于图像数据,我们设计了专门的卷积神经网络架构来为这类特殊的数据结构建模。 换句话说,如果我们拥有一张图像,我们需要有效地利…...

十种“软件滤波“程序,以及特点

1、限副滤波 /* A值可根据实际情况调整 value为有效值&#xff0c;new_value为当前采样值 滤波程序返回有效的实际值 */ #define A 10 char value; char filter() { char new_value; new_value get_ad(); if ( ( new_value - value > A ) || ( value - new_value > A …...

NLP发展关键模型

文章目录NLP中Bert的进展历史word embeddingELMOGPTBertNLP中Bert的进展历史 从Word Embedding到Bert模型——自然语言处理中的预训练技术发展史 word embedding word embedding:每个单词one-hot编码的向量矩阵&#xff0c;在大语言训练之后&#xff0c;该矩阵可以直接提取出…...

数学,千万别学过火

从网上看到有一本书叫《千万别恨数学》的书&#xff0c;是《千万别学英语》的姊妹篇。作者是韩国尖端技术研究院的博士。他以前对数学反感之极&#xff0c;大学的时候为了赚生活费&#xff0c;开始做家教&#xff0c;辅导高中学生学数学。因为读书的时间长&#xff0c;这种日子…...

leetcode栈和队列系列总结

这一部分其实就是关于这两个结构的特性&#xff0c;栈是先入后出&#xff0c;队列是先入先出&#xff1b; 大部分时候还是用数组和切片来实现的&#xff0c;go中有一个list&#xff0c;可以pushback等&#xff0c;但是主要在二叉树章节会用到&#xff0c;这里不怎么用 20 有效…...

第12章 MongoDB 删除集合教程

第12章 MongoDB 删除集合教程 本章节咱们为大家介绍如何使用 MongoDB 来删除集合。 MongoDB 中使用 drop() 方法来删除集合。 语法格式&#xff1a; db.collection.drop()参数说明&#xff1a; 无 return 值 如果成功删除选定集合&#xff0c;则 drop() 方法return true&…...

【面试题】对象、原型、原型链与继承 ,你了解多少?

前言原型、原型链、类与继承似乎无时无刻的出现在我们身边,无论你是在面试中亦或是平常学习和工作中都有它的身影。那么这个是又是什么东西呢 ? 我曾通过 avaScript高级程序设计、你不知道的JavaScript、MDN文档以及教学视频。但似乎仍是半知半解,但我依然相信能通过这篇文章能…...

js如何实现继承

1&#xff0c;原型链继承 让构造函数的原型&#xff08;prototype&#xff09;是另一个类型的实例&#xff0c;那么该构造函数new出来的实例就具有该实例的属性&#xff1b;缺点&#xff0c;每一个对象实例共享所有的继承和方法&#xff0c;无法向父类传参 function father&a…...

【动态规划】01背包问题(手画图解)

经典dp动规问题&#xff0c;01背包问题关键在于遍历顺序与初始化这两步的推导。 目录 文章目录 一、01背包问题 二、确定dp数组及其下标含义 三、确定递推公式 四、确定初始化 五、确定遍历顺序 六、举例推导dp数组 总结 一、01背包问题 有n件物品&#xff0c;每件的价值…...

JS 闭包

JS 闭包 一、如何产生闭包&#xff1f; 当一个嵌套的内部&#xff08;子&#xff09;函数引用了嵌套的外部&#xff08;父&#xff09;函数的变量&#xff08;函数&#xff09;时&#xff0c;就产生了闭包&#xff1b; 二、闭包到底是什么&#xff1f; 理解一&#xff1a;闭…...

13薪|架构师[北京市 - 朝阳区]-20k-35k

"众推职聘”以交付结果为宗旨的全流程化招聘服务平台&#xff01;今日招聘信息↓【工作内容】1、负责公司千万级数据、用户的产品平台整体技术规划、系统架构设计及优化&#xff1b;2、对设计系统的最终性能和稳定性、扩展性负责&#xff1b;3、参与各种技术方案评审&…...

Windows磁盘克隆软件推荐

把原有硬盘克隆到另一个更大的硬盘&#xff0c;你只需要一个好用的硬盘克隆软件。如果你不知道硬盘克隆软件怎么选&#xff0c;你可以尝试下傲梅轻松备份&#xff0c;这个磁盘克隆软件适用于Windows 11、Windows 8、Windows 7、Windows XP、Windows Vista。以下是它的一些优点&…...

一文搞清商旅酒店数据治理——酒店数据问题分析及治理方案

问题背景 对于商旅用户而言&#xff0c;通过商旅系统进行酒店预订时&#xff0c;都希望酒店预订体验良好。并且商旅用户通过预订页面进行酒店预订时希望所见即所得&#xff08;也就是说&#xff0c;所看见的酒店相关信息就是用户最终预订的结果&#xff09;&#xff0c;包括能…...

TOOM品牌公关与舆情管理怎么做,品牌舆情监控工作制度是什么?

品牌舆情是指关于某一品牌的公共讨论、评价和看法。品牌舆情可以通过社交媒体、新闻媒体、博客、论坛等多种途径表现出来。监测品牌舆情是品牌公关和舆情管理的重要组成部分&#xff0c;可以帮助公司了解公众对品牌的看法&#xff0c;以及在遇到舆情危机时采取有效的应对措施。…...

SVG 语法入门教程(绘制矩形、圆形、椭圆、多边形等)

文章目录一、SVG 简介1.1 什么是 SVG &#xff1f;1.2 SVG 的历史和优势1.3 查看 SVG 文件1.4 创建SVG文件1.5 学习之前应具备的基础知识二、SVG 实例三、在 HTML 中嵌入 SVG3.1 使用 \<embed> 标签3.2 使用 \<object> 标签3.3 使用 \<iframe> 标签3.4 直接在…...

从0开始学python -23

Python3 条件控制 Python 条件语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程&#xff1a; if 语句 Python中if语句的一般形式如下所示&#xff1a; if conditi…...

访问学者申请信标准模版

今天知识人网访问学者小编为大家分享一封标准的申请信模版&#xff0c;希望大家注意格式的书写&#xff1a;意向导师名称(如Dr. XXX)意向单位名称意向单位地址(如XXX号XX路XX市XX省)年月日开头(Dear XXX)&#xff0c;第一部分结合自己的研究兴趣向该单位的访学职位表示浓厚的兴…...

数字时代,VR云招聘“零见面”火了

招聘信息刷了又刷&#xff0c;上班谈、下班聊&#xff0c;终于到了可以预约时间来公司面试时&#xff0c;一句“我考虑下”或干脆没回音了&#xff0c;直接把HR打回原地。新年伊始&#xff0c;随着疫情的放开&#xff0c;金三银四的求职、招聘旺季仿佛也提前到来&#xff0c;但…...

Hudi(20):Hudi集成Flink之可以离线进行的操作

目录 0. 相关文章链接 1. 离线 Compaction 1.1. 设置参数 1.2. 原理 1.3. 使用方式 1.3.1. 执行命令 1.3.2. 参数配置 1.3.3. 案例演示 2. 离线 Clustering 2.1. 设置参数 2.2. 原理 2.3. 使用方式 2.3.1. 执行命令 2.3.2. 参数配置 2.3.3. 案例演示 0. 相关文章…...

【Spring-Security】详细使用用指南

Spring-Security使用详细指南简介简单入门认证登录校验流程原理解读认证流程登录校验&#xff1a;授权授权基本流程授权实现限制访问资源所需的权限简介 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。 在安全框架中&#xff0c;我们最常提到的两个概…...

sd卡图片损坏怎么修复?

在旅途中&#xff0c;正常情况下用相机拍的照片都是存在相机的SD卡里的。等到我们需要时&#xff0c;在进行导出。但如果是出现意外导致sd卡图片遭到损坏&#xff0c;遇到这种情况&#xff0c;sd卡图片损坏怎么修复呢?这里小编将为大家分享一些图片修复技巧。操作很简单。相信…...

博物馆ar景点创意化交互体验的优点

一直以来&#xff0c;博物馆注重展览深度的拓展和藏品价值的挖掘&#xff0c;而缺少传播与推广。“博物馆的研究成果和藏品价值应该让公众有更多机会和渠道了解。 在博物馆中&#xff0c;为了保护古代文物不受到破坏而收藏到展柜中&#xff0c;参观者因受到展柜的距离限制无法近…...

一道经典面试题透彻理解面向对象编程思想和简单工厂模式

一道经典的面试题如下&#xff1a; 用一种面向对象编程语言实现一个计算器来满足整数的加减乘除运算。 大部分人的代码如下&#xff1a; 1.0版本 #include<iostream> using namespace std; #include<string> //1.0版本 int main() {int num1 0;int num2 0;st…...

Java软件开发需要掌握的技术分阶-2023版

简单的东西考虑全面&#xff0c;复杂的东西分成简单&#xff0c;枪在手&#xff0c;路在前&#xff0c;独闯难关&#xff0c;大破无往 第一阶段 计算机理论基础&#xff1a;操作系统、网络安全、数据结构与算法、硬件与软件基本常识 Java&#xff1a;各环境部署与程序运行原理…...

使用 React hooks 怎么实现类里面的所有生命周期?

在 React 16.8 之前&#xff0c;函数组件也称为无状态组件&#xff0c;因为函数组件也不能访问 react 生命周期&#xff0c;也没有自己的状态。react 自 16.8 开始&#xff0c;引入了 Hooks 概念&#xff0c;使得函数组件中也可以拥有自己的状态&#xff0c;并且可以模拟对应的…...

shell脚本简介+编写

1、常用Linux命令 2、Linux下脚本编写 3、windows下CMD常用命令 文章目录一、变量1、系统预定义变量2、自定义变量3、特殊变量&#xff1a;n、n、n、#、∗、*、∗、、$?二、运算符三、条件判断1、两个整数之间比较2、文件权限判断3、文件类型判断4、多条件判断四、流程控制1、…...

新项目如何提交代码到已有仓库,并创建新分支

1、步骤 2、创建远程仓库或者打开已有仓库页面 3、打开工程&#xff0c;创建本地git仓库 4、本地仓库与远程仓库关联 1、新建项目&#xff0c;此时的项目工程如下图所示 2、创建远程仓库或者打开已有仓库页面 此时在新建仓库或者已有仓库页面复制好仓库地址&#xff08;仓库…...

分享36个JS滚动,29个JS进度条,12个JS日历代码,总有一款适合您

分享36个JS滚动&#xff0c;29个JS进度条&#xff0c;12个JS日历代码&#xff0c;总有一款适合您 36个JS滚动29个JS进度条12个JS日历代码下载链接&#xff1a;https://pan.baidu.com/s/1zvSK9EAPd4dnMRl7V4Cc1g?pwdsu9i 提取码&#xff1a;su9i Python采集代码下载链接&a…...

ElasticSearch-学习笔记03【ElasticSearch集群】

Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】Ela…...

MySQL面试题:保证MySQL隔离性的MVCC

文章目录一、MVCC是什么二、为什么需要MVCC三、InnoDB中的MVCC学习视频&#xff1a;后端面试问题系列参考文章&#xff1a;MVCC 机制的原理及实现一、MVCC是什么 MVCC机制&#xff1a;生成一个数据快照&#xff0c;并用这个快照来提供一定级别的一致性的读取&#xff0c;也称为…...

基于RNN文本生成 为男朋友写诗歌 附代码 详细教程

一、亮出效果 世界上美好的事物很多,当我们想要表达时,总是感觉文化底蕴不够。 看到大海时,心情舒畅,顿时感觉激情澎湃,想了很久,说了句:真大啊!看到鸟巢时,心情舒畅,顿时感觉激情澎湃,想了很久,说了句:真大啊!看到美女时,心情舒畅,顿时感觉激情澎湃,想了很久…...

2.5 Java基础 day06 数组 九层妖塔数组实现 字符串的拼接、比较等方法

数组 一维数组&#xff1a; String[] nums new String[3]; // //nums[0] 1; // for (Object num : nums) { // System.out.println(num); // } // String[] names {"zhangsan", "lisi", "wangwu"}; …...

中创教育带你了解培训机构投诉退费纠纷增多原因

教育培训机构纠纷近年来案件越来越多&#xff0c;主要聚焦于退费问题。交费容易&#xff0c;退费难上加难&#xff0c;为此&#xff0c; 提醒各位学员在选择学历提升、学科类或职业技能、职业资格类教育培训机构时要注意查看对方是否已经取得教育行政部门或人力社保部门颁发的…...

【CSDN竞赛26】题解

文章目录等差数列题目描述解题思路AC代码阿波罗的魔力宝石题目描述解题思路AC代码任务分配问题题目描述解题思路AC代码单词逆序题目描述解题思路AC代码CSDN编程竞赛报名地址&#xff1a;https://edu.csdn.net/contest/detail/40 等差数列 题目描述 一个等差数列是一个能表示成…...

Visual Transformer算法汇总总结

深度学习知识点总结 专栏链接: https://blog.csdn.net/qq_39707285/article/details/124005405 此专栏主要总结深度学习中的知识点&#xff0c;从各大数据集比赛开始&#xff0c;介绍历年冠军算法&#xff1b;同时总结深度学习中重要的知识点&#xff0c;包括损失函数、优化器…...

【2】深度学习之Pytorch——数据类型、索引张量、Numpy的互通性的概念、序列化张量

目录数据类型创建时指定数据类型转换数据类型索引张量numpy与pytorch的互通性序列化张量保存加载将张量转移到GPU上运行张量常见的API总结每文一语本期文章我们继续介绍张量的数据类型和一些基本的操作 数据类型 张量构造函数&#xff08;即tensor、ones、zeros之类的函数&am…...

Pandas读取excel合并单元格的正确姿势(openpyxl合并单元格拆分并填充内容)

问题介绍&#xff08;ffill填充存在的问题&#xff09; 在pandas读取excel经常会遇到合并单元格的问题。例如&#xff1a; 此时使用pandas读取到的内容为&#xff1a; 如果去百度&#xff0c;几乎所有人会说应该用如下代码&#xff1a; df[班级] df[班级].ffill()这样看起来…...

jsp员工管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 员工管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…...

Shebang Line解释行

Shebang Line Shebang Line也被叫做 Hashbang Line&#xff0c;主要是一个由井号#和叹号!开头&#xff0c;并构成的字符序列&#xff0c;如#! xx/xx/x就叫做 Shebang Line。在开头字符之后&#xff0c;可以有一个或数个空白字符。这个字符串&#xff0c;通常只出现在 Script 文…...

片内和片间时间同步,时间戳

时间同步的概念给出几个应用场景&#xff1a;GPS授时车载系统 传感器与处理器之间的时间同步汽车上的各个ECU基本都是实时性非常强的控制器&#xff0c;在关联ECU之间或ECU内部各个软件模块之间通常需要在大致同步的时间节拍上运行&#xff0c;特别是在某些高速场景&#xff0c…...

通过 Microsoft Visual Studio 构建NotepadFree

通过 Microsoft Visual Studio 构建NotepadFree 前置要求: Microsoft Visual Studio 2019 (C/C Compiler, v142 toolset for win32, x64, arm64) 由一个 Visual Studio 解决方案构建的三个组件&#xff1a; notepad.exe: (包含 libSciLexer.lib) libScintilla.lib : 基于 Sc…...

给大家推荐一些非常实用的JavaScript、TypeScript一行代码,建议收藏

给大家推荐一些非常实用的JavaScript、TypeScript一行代码&#xff0c;建议收藏一、数组相关1、数值类型转数组2、校验数组是否为空3、将对象数组转为单个对象4、两个数组比较5、将字符串数组转为数字6、统计一个值在数组出现的次数二、日期处理1、两个日期相差月份2、两个日期…...

One-Hot 的使用

Sklearn 中 OneHotEncoder 的使用&#xff1a; import numpy as np from sklearn.preprocessing import OneHotEncoder samples np.array([ [1, 3, 2], [7, 5, 4], [1, 8, 6], [7, 3, 9] ]) # 独热编码 sparse 是否采用稀疏矩阵 ohe OneHotEncoder(sparseFalse, dtype&quo…...

Springboot整合AOP和注解,实现丰富的切面功能

简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用&#xff0c;这篇文章讲解一下AOP与注解的整合&#xff0c;通过注解来使用AOP&#xff0c;会非常方便。为了简便&#xff0c;我们还是来实现一个计时的功能。 整合过程 首先创建一个注解&#xff1a; Re…...

【Flutter入门到进阶】跨平台相关

1 跨平台 1.1 跨平台概念 1.1.1 概念 跨平台概念是软件开发中一个重要的概念&#xff0c;即不依赖于操作系统&#xff0c;也不依赖硬件环境。一个操作系统下开发的应用&#xff0c;放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨…...

阿里前端一面必会react面试题总结

React中怎么检验props&#xff1f;验证props的目的是什么&#xff1f; React为我们提供了PropTypes以供验证使用。当我们向Props传入的数据无效&#xff08;向Props传入的数据类型和验证的数据类型不符&#xff09;就会在控制台发出警告信息。它可以避免随着应用越来越复杂从而…...

各国政府成为量子投资“狂热”主力军!

&#xff08;图片来源&#xff1a;网络&#xff09;即使在资本寒冬&#xff0c;量子计算也吸引着投资者的极大兴趣。今年&#xff0c;尤其是美国以外的初创公司吸引了投资者的目光&#xff0c;获得了巨额投融资。2023年1月&#xff0c;总部位于澳大利亚悉尼的量子计算初创公司Q…...

Makefile 整理

1 简介 一个工程中的源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需要后编译&#xff0c;哪些文件需要重新编译&#xff0c;甚至于进行更复杂的功能…...

全局事务服务 GTS

目录 1.什么是全局事务服务GTS 2.为什么需要全局事务服务 3.产品架构 4.应用场景 SOA 和分布式事务 消息事务 通用分布式事务管理 共享出行 5.产品功能 跨数据库分布式事务 跨服务的分布式事务 消息队列分布式事务 混合的分布式事务 多种事务模式 6.产品优势 超强…...

【C#项目】图书管理系统-WinForm+MySQL

文章目录前言一、业务梳理与需求分析1.功能描述2.实现步骤3.功能逻辑图二、数据库设计1.实体-关系&#xff08;E-R图&#xff09;概念模型设计2.数据表设计三、WinForm界面交互设计四、通用类设计五、系统代码实现与分析总结前言 图书馆管理系统主要功能有普通用户&#xff08…...

STK + C# + Cesium联合编程(一):技术路线验证

概述本文演示了一个基于STK C# Cesium联合编程的应用实例。关于STK和Cesium编程网上在线资料丰富&#xff0c;本文主要解决了如果配置IIS服务以使得远程客户端能访问、初始化、以及执行服务器端STK的接口服务。请参考本作者之前关于STK、Cesium&#xff08;CZML&#xff09;、…...

2023-02-07 mysql创建user并配置权限

查询数据库版本 select version 查询所有ip和用户 select * from mysql.user; mysql> select * from mysql.user; mysql> select host,user from mysql.user; ---------------------------------------- | host | user …...

STM32CubeMX学习笔记(51)——读写内部Flash

一、简介 在STM32芯片内部有一个 FLASH 存储器&#xff0c;它主要用于存储代码&#xff0c;我们在电脑上编写好应用程序后&#xff0c;使用下载器把编译后的代码文件烧录到该内部 FLASH 中&#xff0c;由于 FLASH 存储器的内容在掉电后不会丢失&#xff0c;芯片重新上电复位后…...