synchronized锁机制 之 代码块锁
synchronized同步代码块
用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子:
下面例子是优化后的例子 使用代码块锁,原先例子是方法锁,就是同步 必须要执行2个for
package org.java.base.sync;
public class ThreadDomain18
{public void doLongTimeTask() throws Exception{for (int i = 0; i < 100; i++){System.out.println("nosynchronized threadName = " + Thread.currentThread().getName() + ", i = " + (i + 1));}System.out.println();synchronized (this){for (int i = 0; i < 100; i++){System.out.println("synchronized threadName = " + Thread.currentThread().getName() + ", i = " + (i + 1));}}}
}
package org.java.base.sync;
public class MyThread18 extends Thread
{private ThreadDomain18 td;public MyThread18(ThreadDomain18 td){this.td = td;}public void run(){try{td.doLongTimeTask();} catch (Exception e){e.printStackTrace();}}
}
package org.java.base.sync;public class Test1 {public static void main(String[] args){ThreadDomain18 td = new ThreadDomain18();MyThread18 mt0 = new MyThread18(td);MyThread18 mt1 = new MyThread18(td);mt0.start();mt1.start();}
}
运行结果,分两部分来看:
synchronized threadName = Thread-1, i = 1
synchronized threadName = Thread-1, i = 2
nosynchronized threadName = Thread-0, i = 95
synchronized threadName = Thread-1, i = 3
nosynchronized threadName = Thread-0, i = 96
synchronized threadName = Thread-1, i = 4
nosynchronized threadName = Thread-0, i = 97
synchronized threadName = Thread-1, i = 5
nosynchronized threadName = Thread-0, i = 98
synchronized threadName = Thread-1, i = 6
nosynchronized threadName = Thread-0, i = 99
synchronized threadName = Thread-1, i = 7
nosynchronized threadName = Thread-0, i = 100
...
synchronized threadName = Thread-1, i = 98
synchronized threadName = Thread-1, i = 99
synchronized threadName = Thread-1, i = 100
synchronized threadName = Thread-0, i = 1
synchronized threadName = Thread-0, i = 2
synchronized threadName = Thread-0, i = 3
...
这个实验可以得出以下两个结论:
1、当A线程访问对象的synchronized代码块的时候,B线程依然可以访问对象方法中其余非synchronized块的部分,第一部分的执行结果证明了这一点
2、当A线程进入对象的synchronized代码块的时候,B线程如果要访问这段synchronized块,那么访问将会被阻塞,第二部分的执行结果证明了这一点
所以,从执行效率的角度考虑,有时候我们未必要把整个方法都加上synchronized,而是可以采取synchronized块的方式,对会引起线程安全问题的那一部分代码进行synchronized就可以了。
两个synchronized块之间具有互斥性
如果线程1访问了一个对象A方法的synchronized块,那么线程B对同一对象B方法的synchronized块的访问将被阻塞,写个例子来证明一下:
public class ThreadDomain19
{public void serviceMethodA(){synchronized (this){try{System.out.println("A begin time = " + System.currentTimeMillis());Thread.sleep(2000);System.out.println("A end time = " + System.currentTimeMillis());} catch (InterruptedException e){e.printStackTrace();}}}public void serviceMethodB(){synchronized (this){System.out.println("B begin time = " + System.currentTimeMillis());System.out.println("B end time = " + System.currentTimeMillis());}}
}
写两个线程分别调用这两个方法:
public class MyThread19_0 extends Thread
{private ThreadDomain19 td;public MyThread19_0(ThreadDomain19 td){this.td = td;}public void run(){td.serviceMethodA();}
}
public class MyThread19_1 extends Thread
{private ThreadDomain19 td;public MyThread19_1(ThreadDomain19 td){this.td = td;}public void run(){td.serviceMethodB();}
}
写个main函数:
public static void main(String[] args)
{ThreadDomain19 td = new ThreadDomain19();MyThread19_0 mt0 = new MyThread19_0(td);MyThread19_1 mt1 = new MyThread19_1(td);mt0.start();mt1.start();
}
看一下运行结果:
A begin time = 1443843271982
A end time = 1443843273983
B begin time = 1443843273983
B end time = 1443843273983
看到对于serviceMethodB()方法synchronized块的访问必须等到对于serviceMethodA()方法synchronized块的访问结束之后。那其实这个例子,我们也可以得出一个结论:synchronized块获得的是一个对象锁,换句话说,synchronized块锁定的是整个对象。
synchronized块和synchronized方法
既然上面得到了一个结论synchronized块获得的是对象锁,那么如果线程1访问了一个对象方法A的synchronized块,线程2对于同一对象同步方法B的访问应该是会被阻塞的,因为线程2访问同一对象的同步方法B的时候将会尝试去获取这个对象的对象锁,但这个锁却在线程1这里。写一个例子证明一下这个结论:
public class ThreadDomain20
{public synchronized void otherMethod(){System.out.println("----------run--otherMethod");}public void doLongTask(){synchronized (this){for (int i = 0; i < 1000; i++){System.out.println("synchronized threadName = " + Thread.currentThread().getName() + ", i = " + (i + 1));try{Thread.sleep(5);}catch (InterruptedException e){e.printStackTrace();}}}}
}
写两个线程分别调用这两个方法:
public class MyThread20_0 extends Thread
{private ThreadDomain20 td;public MyThread20_0(ThreadDomain20 td){this.td = td;}public void run(){td.doLongTask();}
}
public class MyThread20_1 extends Thread
{private ThreadDomain20 td;public MyThread20_1(ThreadDomain20 td){this.td = td;}public void run(){td.otherMethod();}
}
写个main函数调用一下,这里”mt0.start()”后sleep(100)以下是为了确保mt0线程先启动:
public static void main(String[] args) throws Exception{ThreadDomain20 td = new ThreadDomain20();MyThread20_0 mt0 = new MyThread20_0(td);MyThread20_1 mt1 = new MyThread20_1(td);mt0.start();Thread.sleep(100);mt1.start();}
看一下运行结果:
...
synchronized threadName = Thread-0, i = 995
synchronized threadName = Thread-0, i = 996
synchronized threadName = Thread-0, i = 997
synchronized threadName = Thread-0, i = 998
synchronized threadName = Thread-0, i = 999
synchronized threadName = Thread-0, i = 1000
----------run--otherMethod
证明了我们的结论。为了进一步完善这个结论,把”otherMethod()”方法的synchronized去掉再看一下运行结果:
...
synchronized threadName = Thread-0, i = 16
synchronized threadName = Thread-0, i = 17
synchronized threadName = Thread-0, i = 18
synchronized threadName = Thread-0, i = 19
synchronized threadName = Thread-0, i = 20
----------run--otherMethod
synchronized threadName = Thread-0, i = 21
synchronized threadName = Thread-0, i = 22
synchronized threadName = Thread-0, i = 23
...
“otherMethod()”方法和”doLongTask()”方法中的synchronized块异步执行了
将任意对象作为对象监视器
总结一下前面的内容:
1、synchronized同步方法
(1)对其他synchronized同步方法或synchronized(this)同步代码块呈阻塞状态
(2)同一时间只有一个线程可以执行synchronized同步方法中的代码
2、synchronized同步代码块
(1)对其他synchronized同步方法或synchronized(this)同步代码块呈阻塞状态
(2)同一时间只有一个线程可以执行synchronized(this)同步代码块中的代码
前面都使用synchronized(this)的格式来同步代码块,其实Java还支持对”任意对象”作为对象监视器来实现同步的功能。这个”任意对象”大多数是实例变量及方法的参数,使用格式为synchronized(非this对象)。看一下将任意对象作为对象监视器的使用例子:
public class ThreadDomain21
{private String userNameParam;private String passwordParam;private String anyString = new String();public void setUserNamePassword(String userName, String password){try{synchronized (anyString){System.out.println("线程名称为:" + Thread.currentThread().getName() + "在 " + System.currentTimeMillis() + " 进入同步代码块");userNameParam = userName;Thread.sleep(3000);passwordParam = password;System.out.println("线程名称为:" + Thread.currentThread().getName() + "在 " + System.currentTimeMillis() + " 离开同步代码块");}}catch (InterruptedException e){e.printStackTrace();}}
}
写两个线程分别调用一下:
public class MyThread21_0 extends Thread
{private ThreadDomain21 td;public MyThread21_0(ThreadDomain21 td){this.td = td;}public void run(){td.setUserNamePassword("A", "AA");}
}
public class MyThread21_1 extends Thread
{private ThreadDomain21 td;public MyThread21_1(ThreadDomain21 td){this.td = td;}public void run(){td.setUserNamePassword("B", "B");}
}
写一个main函数调用一下:
public static void main(String[] args)
{ThreadDomain21 td = new ThreadDomain21();MyThread21_0 mt0 = new MyThread21_0(td);MyThread21_1 mt1 = new MyThread21_1(td);mt0.start();mt1.start();
}
看一下运行结果:
线程名称为:Thread-0在 1443855101706 进入同步代码块
线程名称为:Thread-0在 1443855104708 离开同步代码块
线程名称为:Thread-1在 1443855104708 进入同步代码块
线程名称为:Thread-1在 1443855107708 离开同步代码块
这个例子证明了:多个线程持有”对象监视器”为同一个对象的前提下,同一时间只能有一个线程可以执行synchronized(非this对象x)代码块中的代码。
锁非this对象具有一定的优点:如果在一个类中有很多synchronized方法,这时虽然能实现同步,但会受到阻塞,从而影响效率。但如果同步代码块锁的是非this对象,则synchronized(非this对象x)代码块中的程序与同步方法是异步的,不与其他锁this同步方法争抢this锁,大大提高了运行效率。
其实无论是方法所还是代码锁都是要以一个对象监视器来锁定,锁定的代码是同步的,锁this是当前对象,锁String是String这个对象,锁Object是Object这个对象,互不干扰,如果有其它线程调用同样用到跟上面锁this、Objcet、String相同对象的方法或代码,就需要等待同步,锁代码块比锁方法更加灵活。因为锁方法锁的是this 也就是当前对象,当一个线程正在调用当前这个对象的所方法时,导致其它线程调用不了该对象的其它锁this的代码,也调不了所有该对象的锁方法
锁的是当前这个线程,针对锁的对象的这段代码或方法,一次只能一个线程运行,其它线程运行到此的话会暂停,如果是执行其它非锁的则是异步的,注意这里不要被多线程搞迷糊了。单个线程执行的时候都是同步的,当这个线程被阻塞后,之后的代码(锁内的和锁外的)无论什么都不会执行,只有当唤醒或者恢复正常时才会继续往下走,走完锁内的代码就会放锁,然后继续走剩余的代码
注意一下”private String anyString = new String();”这句话,现在它是一个全局对象,因此监视的是同一个对象。如果移到try里面,那么对象的监视器就不是同一个了,调用的时候自然是异步调用,可以自己试一下。
最后提一点,synchronized(非this对象x),这个对象如果是实例变量的话,指的是对象的引用,只要对象的引用不变,即使改变了对象的属性,运行结果依然是同步的。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4499457.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
Python的类型转换
1、转为float型 float(10) #10.0 float(12.8) #12.8 float("5") #5.0 2、转为int型 int(12.6) #12 int(3.333333334) #3 int("58.8") #58 3、转为str型 str(12.5) #"12.5" str([1,2,3]) #"[1,2,3]" s…...
window docker国内镜像设置
刚开始使用的时候,发现因为网络的问题,经常出现镜像下载失败的情况。如下图所示。 这是应为docker服务在国外,直接访问会因为网络原因失败或者特别慢,因此我们可以将将镜像源设置为国内的。 一. 在桌面右下角出有一个docker的图标,鼠标右键点击setings,…...
iOS系统版本市场分布情况
直接访问官方网站:https://developer.apple.com/support/app-store/ 类似效果, 而且会定时更新的...

android应用宝地址链接,android 通过Scheme链接启动app
一。参考文章:http://www.cnblogs.com/shadajin/p/5724117.htmlhttp://jingyan.baidu.com/article/c45ad29cd6b155051753e2be.htmlhttp://blog.csdn.net/zhangcanyan/article/details/54743779http://blog.csdn.net/zhangcanyan/article/details/54743779二…...

allegro PCB拼板(不同电路板)
上一篇文章说了一下同一块板子的拼板,趁热打铁,下面也说说不同板子的拼板。这是新的一块板子,不同于上一篇文章的PCB板子,现在我们要把它们拼到一块PCB中去,这个方法对大家很有用的,可以省掉一些制版的费用…...

2020年全国计算机二级考试领取证书时间
一、2020年全国计算机二级考试领取证书时间 教育部考试中心将在考后30个工作日内向省级承办机构下发计算机二级考试成绩数据; 省级承办机构应在收到成绩数据后5个工作日内完成对考生成绩下发工作。 计算机二级考试成绩公布后,考生可登录中国教育考试网(www.neea.edu…...

Rust对文件的操作
一、文件IO操作 在类unix系统中,一切都是文件,所以说广义的文件操作,其实包括很多:Socket、管道、内存映射等等。其实文件操作无论怎么变化,主流仍然是对外设的访问。计算机本身的组成,是一系列的硬件整合…...

linux下超星阅读器的安装
1.A. extract the install file tar zxvf bxviewer.tar.gz cd bxviewer ./installbxv logout 1.B. if system cant find bxv after ur installation, you can always set it up by hand if u use bash vi ~/.bash_profile add tw...

Pr入门学习笔记
Pr入门学习笔记 参考视频:[Pr教程]0基础急速上手视频制作!UP主必备! 【PR】Premiere Pro CC 2019全套入门教程 [Pr教程]0基础急速上手视频制作!UP主必备! P1 快速认识PR主界面 P2 导入与基本剪辑 P3 背景音乐的添加…...

2021-09-02-python石头剪刀布游戏
python石头剪刀布游戏 #!usr/bin/python3 import randomall_choices [石头,剪刀,布] computer random.choice(all_choices) player input(请出拳,石头/剪刀/布: )print("You: %s,Compute: %s" % (player,computer)) if player …...
python乘积函数_Python中乘法
1.numpy乘法运算中"*"或multiply(),是数组元素逐个计算,具体代码如下:import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one np.array([[1, 2, 3], [4, 5, 6]]) another_two_dim_matrix_one np.array([[7, 8, 9], [4, 7, 1…...

2022-2028全球霍尔效应位置传感器行业调研及趋势分析报告
本文调研和分析全球霍尔效应位置传感器发展现状及未来趋势,核心内容如下: (1)全球市场总体规模,分别按销量和按收入进行了统计分析,历史数据2017-2021年,预测数据2022至2028年。 (2&…...

关于腾讯云搭建代理服务器的详细过程
腾讯云的规定是一个账号一个地区只能有20个公网IP: 1)点击实例名 2)添加辅助网卡 3)绑定弹性公网ip 4)为辅助网卡绑定安全组 5)修改网卡配置文件 ### 复制eth0的网卡文件 ### [rootVM_1_62_centos ~]# cp…...

【优化调度】基于蚁群算法求解无等待流水线调度优化问题含Matlab源码
1 简介 无等待流水线调度问题 一台机器最多只能同时加工一个工件。 每个工件在每台机器上最多只会加工一次。 每台机器加工工件的顺序相同。 每个工件在给定机器上的加工时间固定。对于所有此类以及以此为基础的调度问题,研究目标都是找到一个特定的工件序列,使得序列的总加…...

酷瓜云课堂局域网课程点播+直播系统
系统介绍 酷瓜云课堂内网版,采用C扩展框架Phalcon开发,使用本地基础服务,无营销相关功能,主要适用于公司,学校等内部网络环境使用。局域网内搭建课程点播系统,课程直播系统的最好选择。 系统功能 实现了…...

星火传递之路由器网络搭建教程
每个实验室在连接外网时都有一个固定IP地址,我们们需要先到网络中心给这个IP地址交网费。在进行内网配置时需要知道IP地址,子网掩码,绑定的mac地址等。每张网卡的mac地址(物理地址)都是固定的,在网络中心充值之后,相当…...

中国信通院陈屹力:降本增效是企业云原生应用的最大价值
CNCF云原生计算基金会2021年《FinOps Kubernetes Report》显示,迁移至 Kubernetes 平台后,68%的受访者表示所在企业计算资源成本有所增加,36%的受访者表示成本飙升超过20%。因此提升资源利用率,实现降本增效,已成为当前…...

转载:mongo常规操作 大于/小于/不等于……
1 ) . 大于,小于,大于或等于,小于或等于 $gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.collection.find({ “field” : { $gt: value } } ); // greater than : field > value db.collection.find({ “fiel…...

《VS面向对象及可视化设计 》文本操作实例5-1
例题5-1 在扇面上输出一首唐诗 #include"windows.h" #include"tchar.h" #include"math.h" //#include "example5_1.h"#define PI 3.1415926BOOLEAN InitWindowClass(HINSTANCE hInstance, int nCmdShow); LRESULT CALLBACK WndProc(H…...

【韦东山】嵌入式全系统:单片机-linux-Android对硬件操作的不同侧重点
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝) https://weid…...

《棒球大联盟2nd》:热血拼搏·棒球1号位
茂野大吾是个有着现役职业棒球选手的父亲的小学生。他因为向往曾经在棒球大联盟活跃的父亲吾郎,而开始了在少年棒球队“三船海豚队”的棒球训练。但是,因为背负着茂野二世这个称号的压力,无法发挥出原来的水平,以至于1年还不到就放…...

WIN常用小技巧
Windows10系统下怎样清空运行程序的历史记录 regedit HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 1、C:\WINDOWS\Temp\文件夹中的所有文件(系统临时文件); 2、C:\WINDOWS\ServicePackFiles(升…...

群晖 DS412+ NAS 网络存储器详尽功能应用评测
很久没有买到让我如此兴奋的数码产品了,这次入手了一台群晖Synology DS412 的 NAS (网络存储器) 可真是让我鸡冻了几天,这货实在太对我胃口了!真有点相见恨晚的感觉,于是便有了以下这篇软到不行的文了。如今无论是工作生活都已经离…...

学会IO流~ 一篇文章就够~
IO流 即使再小的帆也能远航~ 一.目录 File类 IO流概念 缓冲流 转换流 对象流 打印流 内存流,数据流 读写流 压缩流 NIO 二.内容 File类 概述 File是java.io包下代表与平台无关的文件和目录,则程序中操作文件和目录,都可以通过File类来完成…...

飞桨常规赛:PALM眼底彩照中黄斑中央凹定位-11月第1名方案
飞桨常规赛:PALM眼底彩照中黄斑中央凹定位-11月第1名方案 (1)比赛介绍 赛题介绍 榜首个人主页,戳此处查看 PALM黄斑定位常规赛的重点是研究和发展与患者眼底照片黄斑结构定位相关的算法。该常规赛的目标是评估和比较在一个常见…...

vue-cli组件
概述 组件化开发是指:根据封装的思想,将页面上可重用的UI结构封装成组件,从而方便项目的开发和维护。 vue是一个支持组件化开发的前端框架。 组件的后缀名是.vue 每一个组件都是由三部分组成,分别是 template 组件的模板UI结…...

腾讯云tcp架构认证考试涉及知识点盘点
腾讯云tcp架构考试是什么形式? 疫情期间采用线上考试的方式。考试时间 120 分钟,总分 100 分,共 65 题(30 单选 15 多选 20 案例分析),均为单选及多选形式,多选不提示选项个数。 通过条件 7…...

干货 | 嵌入式OTA升级实现原理
关注、星标公众号,直达精彩内容原文:https://blog.csdn.net/bulebin/article/details/108428643一、简介1.1 概念OTA:Over-the-Air Technology,即空中下载技术。OTA升级:通过OTA方式实现固件或软件的升级。只要是通过…...

计算机的输出原理,计算机原理及系统结构 输入输出设备.ppt
计算机原理及系统结构 输入输出设备计算机组成与系统结构——流水线技术 计算机原理及系统结构 第四十一讲 第10章 本章主要内容 输入输出设备概述 常用输入设备组成与运行原理 键盘 鼠标 常用输出设备组成与运行原理 显示器 打印机 输入输出设备概述 计算机输入输出系统 计算机…...

Codec ALC5672
MCLKLDO_INDBVDDAVDDDACREFIN1P_RING2IN1P_SLEEVEIN2P/INL/DMIC1_SDAINR/DMIC2_SDA/JD2JD1JD2MICBIAS1MICBIAS2MIC_CAPVREF2MCLKBCLK1LRCK1DACDAT1ADCDAT1BCLK2LRCK2DACDAT2ADCDAT2DMIC_SDADMIC_SCLGPIO2GPIO1/IRQSDASCLSPO_LPSPO_LNSPO_RPSPO_RNLOUT1L/PLOUT1R/NHPO_LHPO_RCP...

知识图谱-KGE-语义匹配-双线性模型(打分函数用到了双线性函数)-2014:TATEC
【paper】 Effective Blending of Two and Three-way Interactions for Modeling Multi-relational Data 【简介】 本文是法国 Antoine Bordes 团队发表在 ECML-PKDD 2014 上的工作,提出了 TATEC(Two and Three-way Embeddings Combination)…...

Google V8引擎浅析
前端开发人员都会遇到一个流行词:V8。它的流行程度很大一部分是因为它将JavaScript的性能提升到了一个新的水平。是的,V8很快。但它是如何发挥它的魔力?前言源代码:https://source.chromium.org/chromium/chromium/src//master:v8…...

阮一峰react demo代码研究的学习笔记 - React.createElement
Created by Wang, Jerry, last modified on Feb 20, 2016 要获取更多Jerry的原创文章,请关注公众号"汪子熙":...

科学计数法
科学记数法是一种记数的方法。把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,a不为分数形式,n为整数),这种记数法叫做科学记数法。当我们要标记或运算某个较大或较小且位数较多时,用科学记数法免去浪…...

Linux关闭进程
kill方式 (1)kill -pid 杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。 使用方法:首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:kill -pid (2&#x…...

数学建模系列:历年优秀论文+入门+进阶+国赛+美赛+其他
数模系列:历年优秀论文入门进阶国赛美赛其他(待更新中) 数模成绩为国二\省一\o奖\H奖,在博客做一个总结。先放国赛美赛的历年优秀论文,资料来源微信公众号数学模型。(目前完成部分:入门进阶美赛…...

mysql建表时添加外键语句_--sql语句创建表的同时添加外键约束
--sql语句创建表的同时添加外键约束CREATE TABLE tb_UserAndRole --用户角色表(ID INT PRIMARY KEY IDENTITY(1,1),UserID INT NOT NULL,--用户IDRoleID INT NOT NULL,--角色IDforeign key(UserID) references tb_Users(ID)--tb_Users表的ID作为tb_UserAndRole表的外键)--2、添…...

数据分析--统计分析模型
(1)均值T检验 (2)方差分析 (3)协方差分析 (4)分布检验 (5)相关分析 (6)卡方检验 (7)秩和检验 …...

HarmonyOS应用开发:Observed和ObjectLink数据管理
意义: 可实现父类和子对象中变量的自由绑定。 Observed应用于类,表示该类中的数据变更被UI页面管理,例如:Observed class ClassA {}。 ObjectLink应用于被Observed所装饰类的对象(变量),例如&…...

用正则化避免过度拟合
用正则化避免过度拟合 过拟合:是指但训练一个复杂模型时,能很好的学习每一个输入数据。但是输入的数据存在着噪声,使得训练出来的模型被噪声影响,虽然在训练数据上表现的非常好,但是模型的泛化能力很弱。接下来将引入…...

mysql新建分区设置阈值(less than)引发的问题
mysql新建分表后,入库之前分表区间的数据,但是再分表中查询不到对应数据。 文章目录问题背景问题解析新建分区sql查看分区查询数据查询数据所在分区修改方案总结LESS THAN相关sql查询分区删除分区先建分区问题背景 初始化表的时候,先建的日期…...

SQLServer2008安装教程
因为对接老系统的数据,上面使用的SQLServer2008,所以本机也需要SQLServer2008作对接。 首当其冲的就是SQLServer2008的安装。 1.下载sqlServer2008的安装包 2.在安装包中点击setup.exe 2.选择安装,再选择全新安装 3.安装规则检测ÿ…...

人工智能还有哪些难题待解,互联网领域代表委员这样说
可折叠平板电脑、可穿戴手机、柔性显示智能音箱……这些长着新面孔的智能设备日前亮相世界移动通信大会(MWC),让不少观众倍感惊奇。随着人工智能等技术不断发展,可以想象,攥在手里手机将来可能会被拧成一串“麻花儿”。“人工智能几乎席卷了各…...

Axure8.1破解码 注册码 授权码
Axure8.1破解码 注册码 授权码 8.1.0.3377 axure最新破解码 更新时间2018年8月03号,亲测可用,支持版本号8.1.0.3377 被授权人: zdfans.com 授权密钥: gP5uuK2gHiIVO3YFZwoKyxAdHpXRGNnZWN8Obntqv7FF3pAz7dTu8B61ySxli...

软件架构师-历年论文要点-2013+2018
–2013年– 论软件架构建模技术与应用 1.逻辑视图 2.开发视图 3.进程视图 4.物理视图 5.场景 企业应用系统的分层架构风格 1.表现层,MVC结构 2.中间层,业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框…...

华为机试真题 C++ 实现【计算数组中心位置】【2022.11 Q4 新题】
目录 题目 思路 考点 Code 题目 给你一个整数数组nums,请计算数组的中心位置,数组的中心位置是数组的一个下标, 其左侧所有元素相乘的积等于右侧所有元素相乘的积。数组第一个元素的左侧积为1,最后一个元素的右侧积为1。 如果数组有多个中心位置,应该返回最靠近左边的…...

mysql iso 乱码_对于Mysql而言,默认编码是ISO8859-1,显示乱码
不过,DBACentral for MySQL 图形化软件的编码无法改变,至少我是找不到地方改,今天花了一下午的时间研究这软件,几乎把它翻了个底朝天,就是找不到,都怀疑它是不是把编码指定了,接着就在摆渡了一下,没有太多关于这软件的操作说明,我事先也查过它的帮助问档,输入character只找到4条…...

Python中读取excel文件中长数字变成科学记数法的解决方法
因为要进行数据处理,涉及到身份证信息这种长数字的数据,excel直接就将长数字都整成科学记数法了,很明显,这样根本不行,于是我们就需要将其转换成字符串完整显示才行,于是我看了我手上的数据中,身…...

java计算机毕业设计员工健康检测系统源码+数据库+系统+lw文档+部署
java计算机毕业设计员工健康检测系统源码数据库系统lw文档部署 java计算机毕业设计员工健康检测系统源码数据库系统lw文档部署本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse 前端技术:…...

等保2.0.第四章.网络安全厂商详解
文章目录厂商分类网络兼安全厂商传统网络安全厂商细分领域安全厂商互联网安全厂商思科防火墙Cisco Firepower 下一代防火墙(官方介绍)小结华为华为网络安全产品华为网络安全总结华三(H3C)锐捷迪普迈普奇安信深信服启明星辰天融信绿…...

1556_AURIX_TC275_复位系统控制单元
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这是上一部分没有看完的CCU的核心寄存器的存储映射信息,只是一个汇总,没有需要着重处理的分析点。 复位控制单元涉及到的几个大功能:基本复位、外部复位…...

PADS原理图转换altium
直接上步骤,我使用的ad版本为ad16,pads版本为padsVX.2.4. 1.用PADS 打开一份需要转换的原理图,执行菜单命令“File文件—Export导出”,导出一份ASCII编码格式的TXT文档 2.点击保存,弹出“ASCII输出”设置࿰…...

一天一个统计小知识——3σ准则
文章目录前言一、3σ准则二、总结前言 今天来聊一下统计学中用于检测异常值的“3σ准则” 一、3σ准则 什么叫3σ准则呢?其实它是用来粗略检测异常值的一种方法,类似的还有“1σ准则”和“2σ准则”,下面进行具体说明。 在统计学中&#x…...

康沣生物通过港交所聆讯:持续亏损、现金流紧张,李克俭为董事长
12月7日,康沣生物科技(上海)股份有限公司(下称“康沣生物”)通过港交所上市聆讯,并披露了聆讯后招股书。据贝多财经了解,康沣生物曾先曾于2022年1月12日在港交所递表,后在6个月后“失…...

如何保存PPT中的gif
非常可以: https://zhidao.baidu.com/question/538702856.html 需要注意的是,直接右键另存为是不可以的。...

soul网关监控插件的使用
本篇主要讲解soul网关插件监控插件的使用 流程图: 技术方案 监控插件,使用influxdb来进行存储,使用前请你确保你正确的安装了influxdb。采用异步的disruptor进行保存。监控网关的调用请求,包括QPS,TPS,成功和失败数量等等相关信…...

Innodb中LSN(log sequence number)详解
本篇文章关于Innodb中的LSN的介绍摘自本篇博客。 LSN称为日志的逻辑序列号(log sequence number),在innodb存储引擎中,lsn占用8个字节。LSN的值会随着日志的写入而逐渐增大。 根据LSN,可以获取到几个有用的信息: 1.数据页的版本…...

二进制与十进制科学记数法举例
十进制: 2356189 2.356189 * 10^6 2.356189E6; 二进制: 101001010101 1.01001010101 * 2^1011。...

ios查看帧率的软件_iOS显示当前页面帧数
之前对iOS的性能优化,进行过实践经验的总结。但是当被问到如何显示当前页面的帧数时,还是木有回答出来,太尴尬?了。面试官当场告诉我使用系统自带的CADisplayLink即可实现,回来之后马上从网上搜索资料。从网上找到的显示当前页面…...

java中加载v8引擎_深入V8引擎-初始化之InitPlatform
上一篇其实想讲初始化的第二步,但是内容比较无聊,所以换了一个话题,谈了谈v8的命名空间和宏,稍微轻松一下。在这里还是接着说说初始化过程,毕竟写博客的初衷是对自己努力的记录,不是为了吸粉,这…...

关于如何实现一个至简的麻将模拟程序的思考
想做一个模拟立直麻将的程序,但是仔细思考了一下,由于麻将和牌牌型太多了,光是判断和牌牌型和计算役种番数的算法就相当困难,如果直接动态计算手牌和牌牌型的话,每次都根据不同情况要跑一遍算法,耗时太大&a…...

日本麻将中的牌型名称,充满格调与文艺
日本麻将最大的特色就是实现了二次元,身穿水手服的可爱妹子,还有充满激情的热血少年,通常都会在日本麻将中看到,这样一来,就给日本麻将带来了不一样的特色。其中最值得一提的就是日本麻将中的牌型名称,不仅…...

吴昊品游戏核心算法 Round 8(特别篇) —— 吴昊教你打麻将(牌型分析AI)
摘要 : 麻将游戏软件的开发 , 就其内核部分 , 大致可以分为自动发牌、自动智能出牌、吃碰杠的处理、听牌判断、胡牌判断、基于不同麻 将玩法规则的番数计算等几大部分。其中以自动智能出牌、听牌判断、胡牌判断等处理最为复杂。这里主要介绍胡…...

麻将和牌牌型
和牌的基本牌型 11、123、123、123、123。 11、123、123、123、111(1111,下同)。 11、123、123、111、111。 11、123、111、111、111。 11、111、111、111、111。 和牌的特殊牌型 11、11、11、11、11、11、11(七对)。 1、1、1…...

麻将算法(二)牌型转换以及接牌
public static int[] Cards {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,//万0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,//万0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,//万0x01, 0x02, 0x03, 0x04, 0x05, …...

棋牌麻将 - 基础名词讲解与汇总
牌型 基础名词 手牌(立牌) 玩家手中拥有的牌称为 手牌,由于在现实中手牌是立于桌上的所以又称为 立牌 牌面 麻将牌两面中画有牌型的那一面称为 牌面 背面 麻将牌两面中没有画出牌型的那一面称为 背面,一般为纯色或无意义花纹 序…...

数据类型和所适用的集中趋势测度值
...

统计学中描述集中趋势的方法
1.均值:一组数据的平均数 2.中位数:将一列数从小到大排列,位于中间位置的数的值 3.众数(mode):数值集中出现频率最多的数字 4.极差(range):最大值减去最小值max-min 5.中…...

集中趋势和离中趋势
(一)集中趋势 集中趋势:平均值,中位数,分位数,众数 import pandas as pd dfpd.read_csv(./lianjia.csv,encodinggbk) df.head()# 数据结构(DataFrame 和 Series数据操作一般来说是共用的&…...

统计学基础之一:集中趋势、样本和方差
平均数、中位数、众数平均数、中位数、众数样本和总体平均数、中位数、众数 举个例子: 23、29、20、32、23、21、33、25 均值:25.75-衡量集中趋势的方法,异常值出现的时候容易产生偏差 中位数:24-集中测试的另一个方法࿰…...

三种常用集中趋势度量的统计量——均值、中位数、众数
统计学中,常用均值、中位数、众数来对数据进行集中趋势度量。我们平时说的平均值在统计学中往往指的就是这三种统计量,而不仅仅指均值。下面,详细介绍这三个统计量。 一、均值 计算方法 μ∑xn\mu \frac{\sum x}{n}μn∑x 或 μ∑f⋅x∑f…...

统计学学习笔记——(3)集中趋势
集中趋势(Central Tendency)是指一组数据项某一中心值靠拢的程度,它反映了一组数据中心点的位置所在。 均值,中位数,众数 均值(Mean):也称平均数,它是全部数据的算术平…...

整理总结:深入浅出统计学——集中趋势的度量
参考资料:电子工业出版社的《深入浅出统计学》 前言 从一大堆数字中察觉出模式和趋势颇为不易,而求出平均数往往是把握全局的第一步。当我们有了平均数时就能迅速得找出数据中最具代表性的数值——典型值,得出重要的结论。 本篇目录参考资料…...

统计基础—数据集中趋势、离散程度、偏度与峰度的衡量指标(1)
文章目录 一、数据的集中趋势描述1.算数平均值1.1 简单算术平均值1.2 加权算术平均值1.3 使用算术平均值的注意事项2. 调和平均数2.1、简单调和平均值算法2.2、加权调和平均数2.3、特点、应用、区别关系3.几何平均值3.1、简单几何平均数:3.2、加权几何平均数:4.众数5.中位数二…...

数据的描述性统计_数据的集中趋势描述
数据的描述性统计1. 数据的集中趋势描述1.1 算术平均值1.1.1 简单算术平均值1.1.2 加权算术平均值1.1.3 算术平均值的利与弊1.2 几何平均值1.3 众数1.4 中位数数据分析的对象主要是结构化数据,这些数据可能是连续性数据,也可能是离散型数据;可…...

【R】数据统计基础:集中趋势和离散程度及简单R语言代码
集中趋势: 3种常见统计量:均值、中位数、众数 均值: mean() 中位数:median() 众数:没有默认,要先下载R包:FinAna。之后用 get.mode() 离散程度 常见统计量:极差、四…...

pandas可视化:取得数据的集中趋势
数据的集中趋势主要包含均值(一般均值、截尾均值、缩尾均值、几何平均数、调和平均数)、中位数、分位数、众数。 这里尝试用可视化方法取得以上数值。 除了部分输入对话框需要键盘输入数值,其余都用鼠标完成。 部分运算结果: d…...

统计学学习日记:L2-集中趋势分析之众数和中位数
目录 一、集中趋势分析 二、众数(M0) 三、中位数(Me) 一、集中趋势分析 概念: 1.一组数据向其中心值靠拢的倾向和程度。 2.测度集中趋势就是寻找数据水平的代表值或中心值。 3.不同类型的数据用不同的集中趋势测…...

极坐标图表,能快速反应数据随时间变化的集中趋势
叮咚,迪赛智慧数可视化互动平台又上新了,这次小编要推荐的是极坐标散点图和极坐标气泡图。 那为什么要选择介绍极坐标图表呢?因为我们常用的常规柱状图、散点图等展示形式,都是在笛卡尔坐标系中进行展示,是使用最为广…...

python分析集聚程度_统计分析_集中趋势and离散程度
1.数组的集中趋势-如何定义数组的中心1.1 常用几下几个指标来描述一个数组的集中趋势均值-算术平均数。中位数-将数组升序或降序排列后,位于中间的数。众数-数组中出现最多的数。1.2 指标特点优点缺点均值充分利用所有数据,包含最多信息量,适…...

数据的概括性度量-- 集中趋势度量
集中趋势 一组数据向其中心值靠拢的倾向和程度测度集中趋势就是寻找数据水平的代表值或中心值不同类型的数据用不同的集中趋势测度值 分类数据:众数 众数: 一组数据中出现次数最多的变量值适合于数据量较多时使用不受极端值的影响一组数据可能没有众…...

统计学学习日记:L3-集中趋势分析之平均数
目录 一、平均数 二、算术平均数 三、加权平均数 四、几何平均数 一、平均数 1.也称为均值 2.集中趋势的最常用测度值 3.一组数据的均衡点所在 4.体现了数据的必然性特征 5.易受极端值的影响 6.有简单平均数和加权平均数之分 7.根据总体数据计算的,称为…...

做数据分析为何要学统计学(2)——集中趋势和离散趋势
给定一组数据,我们怎么来判断业务的基本情况呢?此时我们主要用到两个统计学工具:集中趋势和离散趋势。 1. 集中趋势 集中趋势是一组数据的代表值,那用什么值作代表最有代表性呢?当然这个值应该和所有值差距不大是最好…...

统计学原理 集中趋势的度量
集中趋势 (central tendency) 一组数据向其中心值靠拢的倾向和程度测度集中趋势就是寻找数据水平的代表值或中心值不同类型的数据用不同的集中趋势测度值低层次数据的测度值适用于高层次的测量数据,但高层次数据的测度值并不适用于低层次的测量数据 集中趋势的度量…...

第3章集中趋势的测量
第1章统计学入门 第2章频数分布略 第3章集中趋势的测量 第4章变异性 第5章分数的位置及标准化分布 第6章概率和正态分布 第7章概率和样本:样本均值的分布 第8章假设检验介绍 第9章t检验介绍 第10章两个独立样本的t检验 第11章两个相关样本的t检验…...

数据的集中趋势
数据的集中趋势 众数 一组数据中出现频次最高的数 中位数 一组数中间的数 分位数 极差 算数平均数 加权平均数 几何平均数 数据的离散趋势 方差 标准差 极差 平均差 四分位数 第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数…...

学习笔记 | 描述集中趋势
01 描述性统计量 | 描述集中趋势 均值:即平均值,其为一组数据的总和除以数据的个数。 中位数:将一组数据升序排列,位于该组数据最中间位置的值,就是中位数。如果数据个数为偶数,则取中间两个数值的均值。 …...
【智慧校园】RPA机器人遇到人工智能,会发生怎样的故事?
大数据产业创新服务媒体——聚焦数据 改变商业本文作者:辽宁建筑职业学院信息中心主任 杨学利都说国外智慧校园比国内先进10年作为智慧校园的能力支撑--RPA在国外发展得如何?先看两组数据❶ 过去,日本早稻田大学的财务部门需要将纸质付款单…...

从双非一本,到集齐BAT
开局一张图因为有很多新朋友关注,所以这次稍微停一下,重温个故事,再整理下过往的资料。老朋友们也不要觉得烦躁,相比上一次的故事,这次有迭代更新~不信?你读到最后就会知道如果时光回到本科毕业…...
如何制定一份可实施的2018年大数据学习计划?
温馨提示:本篇文章3082字,阅读需12分钟左右建议收藏留看没错,福利要放最前面50G大数据学习资料百余本大数据学习书籍Excel全方位技能视频教程回复【学习计划】获取进群资格领取学习资料给大家讲一个恐怖故事这里还是要推荐下小编的大数据学习…...

互联网裁员,一哥那些在大厂的朋友都怎么样了?
2022年已经到来了,今年互联网裁员挺严重,我有几位在大厂的朋友却没一个被裁。今天告诉大家不被裁的秘密,为大家介绍几个数据界的大佬,掌握如何不被裁员的秘密,相信会让大家受益匪浅的。小笨鸟学Python给大家推荐一个完…...

数据分析SQL常考题型、大厂例题及面试要点
文章目录1. 数据分析岗位技能要求1.1 哪一个工具是数据分析师的核心工具1.2 对于数据分析师来说,是否需要建模能力1.3 数据分析岗位对业务有什么要求1.4 数据的特点1.5 优秀数据分析师的特点1.6 数据分析工作的四大步骤1.6.1 数据抓取1.6.2 数据清洗1.6.3 数据分析1…...

LeetCode第328场周赛
2023.1.15LeetCode第328场周赛 2535. 数组元素和与数字和的绝对差 思路 分别计算元素和、各位数字和即可 代码 class Solution { public:int differenceOfSum(vector<int>& nums) {int a 0, b 0;for (int x : nums) {int t x;a t;while (t) {b t % 10;t / …...

2018 数据分析师成长指南
文/ 曾加 蚂蚁金服数据分析师导语:从零开始学数据分析,什么程度可以找工作?蚂蚁金服数据分析专家从三个关键问题出发,帮你系统梳理应该如何进入数据分析行业。很多人建议新手去点亮很多技能树,什么 Excel/统计学/SQL/R…...

java导入excel文件工具,附面试题答案
前言: 都说学历是敲门砖,是一点都没错,即使是在重技术轻学历的互联网企业,面试官对于学历越高的程序员初印象会更好,面试也会更顺利,而大部分专科学历的程序员,除非有过硬的技术,否…...

暑期实习面经
2016暑期实习面经 目前研二下学期,一开学就开始准备各公司的暑期实习应聘。以下是我应聘各公司的面经,一方面是记录下面试经历方便下学期校招时候回顾,一方面积攒人品。 Google 很遗憾地挂在了Google的初试上。年前就找师姐帮忙内推&#…...

22.Isaac教程--使用 Isaac Sight可视化
使用 Isaac Sight可视化 本节介绍如何使用 Isaac Sight 检查导航堆栈,机器人上当前发生的情况。 Sight 使用 Isaac 节点,该节点运行可在设备上连接的 Web 服务。 通过在 Chrome 网络浏览器中导航到 http://localhost:3000 来启动 Isaac Sight。 &#x…...

并行计算——并行硬件
并行硬件 SIMD系统 在并行计算中,Flynn分类法经常用来对计算机体系结构进行分类。按照它能够同时管理指令流的数目和数据流的数目对系统分类。因此典型的冯诺依曼系统是单指令单数据流(Single Instruction Stream Single Data Stream,SISD)系…...

存储器——并行存储器
一、小引 1、加快CPU与存储器之间的数据传输的方式 (1)、采用更高性能的存储器,加大字长 (2)、采用并行操作的双端口存储器 (3)、在CPU和主存之间使用高速缓存Cache (4)、在每个存储周期中取多个字 ①、多模块交叉存储器 ②、DDR 二、双端口存储器 1、结构特点 具有…...

缓存击穿和雪崩常用解决方案
目录1 抢红包排行查询2 击穿现象分析3 击穿解决方案3.1 定时器3.2 多级缓存3.3 分布式锁3.4 队列术4 缓存雪崩介绍1 抢红包排行查询 上面案例我们实现了某个用户抢红包的信息查询,接下来我们实现公示抢到红包并且按照红包金额大小排序查询出前 100名用户信息&#…...

接口设计需要考虑的方面(摘后整理)
接口设计原则 原则一:必须符合Restful,统一返回格式,约定业务层错误编码,每个编码可以携带可选的错误信息。 原则二: 命名必须规范、优雅。 原则三:单一性。 单一性是指接口要做的事情应该是一个比较单一…...

Redis用户查询缓存
目前,我们这个接口是要根据id查询某个店铺的具体信息,使用的Mybitis-plus的方法,直接从数据库中查询,现在我们要将其缓存到redis中,加快查找效率。 缓存大致如下 客户端发送请求先到达redis中,如果命中&…...
内存缓存MemoryCache
内存缓存MemoryCache实现了ICache接口,Redis同样实现了ICache接口,两者在缓存操作上达到了高度抽象统一。应用设计时一律使用ICache接口,开发环境装配为MemoryCache,生产环境根据分布式需要可以装配为Redis。如果应用系统没有分布…...

API接口性能优化总结
摘要 在web开发过程中,经常会遇到接口RT高的情况,除了通过监控事后优化的方式,我们还需要掌握一些常用的手段,避免写出慢的接口。从前端发起调用到后端一般经过网关层、应用层、存储层。每一层都可以优化,本篇文章主要…...

查询太慢怎么办——加缓存啊
前言 很多朋友可能会遇到数据量比较大的时候,你的接口查询特别慢。如果是这样的话,处理的方案特别多,比如将你的串行查询改成并行查询、优化sql、加索引、最后实在没办法了,去加缓存。因为缓存会导致缓存的数据与数据库的数据不一…...

NX二开ufun函数UF_MODL_ask_block_parms(获取块尺寸)
NX Open允许用户创建和查询所有基本体素特征,通过API函数建立基本体素特征返回的是相应的特征标识,如果需要可以通过函数UG_MODL_ask_feat_body()获得特征对应的实体对象标识。 UF_MODL_ask_block_parms可以用来获取块尺寸信息 1、函数结构:…...

Python数据抽样
1、数据的导入查看 参考参考 import pandas as pd f open("E:/test.csv", encoding"utf-8") content pd.read_csv(f,nrows5) ##打印(读取)前5行 print(content) ##等价 print(content[0:5])左闭右开,输出0-4序号行…...

详解数据库的锁机制及原理
详解数据库的锁机制及原理1.数据库锁的分类2.行锁共享锁排他锁更新锁3.意向锁4.锁机制解释数据库隔离级别1.数据库锁的分类 本图源自CSDN博主:Stephen.W 数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁 乐观锁一般是指用户自己实现的…...

matlab 对信号抽样,matlab信号抽样与恢复.doc
matlab信号抽样与恢复实验 信号抽样与恢复一、实验目的学会用MATLAB实现连续信号的采样和重建二、实验原理1.抽样定理若是带限信号,带宽为, 经采样后的频谱就是将的频谱 在频率轴上以采样频率为间隔进行周期延拓。因此,当时,不会发…...

冲激脉冲抽样定理matlab,5.信号抽样及抽样定理
1、 结合抽样定理,利用MATLAB编程实现信号经过冲激脉冲抽样后得到的抽样信号及其频谱,并利用构建信号,并计算重建信号与原升余弦信号的误差。解:wm2;wc1.2*wm;Ts1;dt0.1;t1-10:dt:10;ftsinc(t1/pi);N5000;k-N:N;W2*pi*k/((2*N1)*d…...

C++ 001:C++ 基础语法
1. 开始之前 1.1 学习路线 这次我是下定决心要学 C 了,而且是系统地,不半途而废地学习 C 了~ 有这个新专栏为证~ 由于某次偶然的机会,我看见了一张 C 竞赛的学习路线表(这里由于表格内容太多就不贴出来),…...

计算机视觉未来发展与走向
一、引言我们在不知不觉中感受到计算机视觉给予的便利,如人脸识别。如果没有深刻而持久的研究,在今天看起来习以为常的事情是无法实现的。因此,站在巨人的肩膀上谈计算机视觉的未来走向,可以很明确地说,技术的产生本身…...

ADC/DAC理论信噪比SNR理解
目录 1,量化噪声模型 2,量化噪声模型 3,SNR、处理增益和FFT噪底的关系 1,量化噪声模型 理想转换器对信号进行数字化时,最大误差为 LSB,如图1的一个理想N位ADC的传递 函数所示。对于任何横跨数个LSB的交流…...

使用DMA使DAC输出特定波形
DAC输出特定波形 我所做的任务是用stm32F4的DAC输出一段特定频率和形状的波。 简述过程: DMA将一个存储器(在这里选用的是一个数组)和一个外设(在这里选择的是DAC)连接起来,接着只要使能,就可以完成DAC的输出了。可以将DAC输出的通道连接到示波器或者…...

FPGA基础设计(6)使用DAC的Interleaved模式
本文介绍DAC芯片的Interleaved模式的使用,或者叫交错模式。 硬件设计与接口协议 Interleaved模式即用一组数字接口控制两个模拟信号输出,比如ADI公司的AD9763/AD9765/AD9767系列,具有双路10/12/14比特输出,最高时钟125Mÿ…...
STM32_DAC输出三角波形
推荐 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 今天的软件工程下载地址(360云盘)&…...

STM32使用串口控制DAC输出
通过串口向单片机发送DAC值,使单片机输出对应的电压,并显示在LCD屏幕上 我使用的是原子的mini stm32 开发板/*这个函数的作用-------输入DAC值 例:0xaa 0x** 0x** 0xab 0x0d 0x0a ,单片机PA4 输出相应电压,显示再LC…...

【STM32】DAC程序示例
00. 目录 文章目录00. 目录01. DAC简介02. 硬件模块03. 程序设计04. 结果验证05. 预留06. 附录07. 声明01. DAC简介 STM32F4的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为 8 位或 12 位模式,也可以与 DMA 控制器配合使用…...

android usb dac,使用USB DAC来提升红米Note的音频播放效果
本人红米Note(移动4G单卡版)用户,外加320KBps MP3党一枚,喜欢听欧美流行,偶尔听听无损。最爱用的是网易云音乐和美乐时光,歌曲丰富,使用方便。大多数Android手机播放音频的质量都一般,还有SRC问题ÿ…...

51单片机c语言dac0832产生波形,单片机控制DAC0832产生各种波形Proteus仿真程序
#includesbit wrP3^6;sbit rdP3^2;sbit key0P1^0; //定义P1.0脚的按键为正弦波键key0sbit key1P1^1; //定义P1.1脚的按键为方波键key1sbit key2P1^2; //定义P1.2脚的按键为三角波键key2unsigned char flag; //fla…...

leetcode解题思路分析(一百三十八)1178 - 1189 题
猜字谜 外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。返回一个答案数组 answer,数组中的每个元素 answer[i] 是在给出的单词列表 words 中可以作为字谜迷面 puzzles[i] 所对应的谜底的单词数目。 采用字典树解题。 struct TrieN…...

SpringBoot高校餐厅缴费系统
SpringBoot高校餐厅缴费系统 帮朋友基于SpringBoot鲜花商城系统,订制开发了一套适用于高校餐厅缴费系统;添加的功能如下: 1.商品搜索功能 2.个人中心 3.购物车下单改造 4.支付宝功能接入 5.管理员板块校园卡管理功能 本系统涉及到的技术主要…...

SpringBoot快速整合SpringSecurity,新手都会的详细步骤
一、什么是SpringSecurity? Spring Security是一个基于Spring框架的安全性框架,提供了一组轻量级的API和工具,用于实现身份验证、授权、防止攻击等常见的安全性功能。它支持各种身份验证方式,例如基本身份验证、表单身份验证、OA…...

python高频小工具(持续更新)
无外乎处理各种文件和字符串,然后采用各种算法。excel文件操作采用openpyxl库(1)写数据import os from openpyxl import Workbookpath r"D:\python_practice" os.chdir(path) # 修改工作路径wb Workbook() wb.create_sheet(…...

SAP主配方需要ECN变更号才能更改
在流程制造中特别是制药行业,遵循的要求都是比较高的,像GMP的要求,CSV的认证,系统的变更都是需要进行申请审批通过以后才能进行变更的。 1、业务场景就是系统控制主配方需要有ECN号才能进行变更,否则不允许变更。 2、…...

Lock 接口解读
前置知识点Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{} 括起来的代码,作用的对象是调用这个代码…...

嵌入式物联网技术栈【协议篇】OPC UA协议
一、OPC UA协议简介 OPC UA前身是OPC,第一个OPC规范在1996年发布,包括一整套接口、属性和方法的标准集 OPC全称是Object Linking and Embedding(OLE) for Process Control,微软公司对象链接和嵌入技术在过程控制方面的应用,是一系列接口、方法和属性的标准集,是将通讯协…...

记录--我在前端干工地(three.js)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Three.js后,试着用他加载了一些模型three.js初体验简陋的了解了一下three.js的相关使用,并且写下了第一篇文章。但是过后还是对很多一知半解,作为不会…...

7个最受瞩目的 Python 库,提升你的开发效率
当今时代,数据分析和处理已经成为了各行各业中不可或缺的一环。Python作为一种非常流行的编程语言,为我们提供了许多强大的工具和库来处理不同类型的数据。 在这篇文章中,我将向您介绍七个非常有用的Python库,这些库各自有着独特…...

智能指针用法分析
智能指针分类auto_ptr (c 98),目前已经被unique_ptr替换了,所以大家不要再使用auto_ptr了unique_ptr (c11) 独占式指针,同一个时间内,只有一个指针能够指向该对象,当然该对象的所有权还是可以移交出去的。shared_ptr &…...

GuLi商城-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组
Nacos支持三种配置加载方方案 Nacos支持Namespace group data ID的配置解决方案 Namespace方案 通过命名空间实现环境区分 下面是配置实例: 1、创建命名空间: 命名空间—>创建命名空间: 创建三个命名空间,分别为dev&a…...

Java核心技术卷I-第五章
类、超类和子类定义子类(使用关键字extends表示继承)覆盖方法子类构造器一个对象变量可以指向多种实际类型的现象称为多态,在运行时能够自动地选择适当的方法,称为动态绑定继承层次多态理解方法调用(非private方法、st…...

C++ 98/03 应该学习哪些知识9
构造函数/析构函数/拷贝构造 C中的构造函数、析构函数和拷贝构造函数是面向对象编程中的重要概念。下面是它们的定义和案例解释: 构造函数 构造函数是在对象创建时调用的一种特殊的成员函数,用于初始化对象的数据成员和执行必要的设置操作。在C中&…...

(五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
前言 本节内容我们实现虚拟机的克隆,主要根据模板虚拟机克隆三台hadoop虚拟机,用于hadoop集群的搭建,同时根据上一小节的内容,配置hadoop虚拟机的主机名、ip网络等,最终完成hadoop虚拟机的实例化。 正文 虚拟机克隆…...

分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨,经典算法的解析✨都在这儿,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -…...

prometheus数据持久化 docker部署
https://segmentfault.com/a/1190000015710814 prometheus修改配置不需要停掉,只要修改yml之后用docker restart重启 prometheus存储方式 prometheus提供了本地存储,即tsdb时序数据库。 本地存储的优势就是运维简单,缺点就是无法海量的metrics持久化和…...

Airwallex 基于 Flink 打造实时风控系统
摘要:本文整理自 Airwallex Risk ML Platform Team 董大凡,在 Flink Forward Asia 2022 实时风控专场的分享。本篇内容主要分为五个部分: 背景介绍应对方案技术挑战与亮点可用性保证线上表现点击查看直播回放和演讲 PPT 一、背景介绍 Airwall…...
MySQL数据库知识整理
MySQL数据库知识整理 MySQL事务详解 事务四大特性ACID 原子性(Atomicity):一个事务是一个不可分割的最小单元,该事务的所有操作要么全部提交,要么失败回滚,不能只执行其中的一部分。 原子性是通过undo l…...

Java基本数据类型与String的互相转换
1、基本类型转String 把一个基本数据类型转为String类型,有三种通用方式:(以Integer i 为例) i.toString()String.valueOf(i)i"" 其中:i.toString()效率最高,用的最多 2、String转基本数据类…...

无刷直流电机介绍及单片机控制实例
无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器(ESC)Arduino BLDC电机控制电路图代码前言 在机器人的结构中,往往电机是必不可少的组成部分,例如地面智能车中的轮子驱动&…...

AlmaLinux构建LNMP
环境: 虚拟机:AlmaLinux9.1 hostname:localhost ip:192.168.123.228 #查看系统 cat /etc/redhat-release安装方式统一使用yum #查看yum版本 yum --versionyum4基于dnf技术,yum4命令提供了与早期版本中使用的Yum v3的…...

Three.js入门学习笔记09:Three.js对象拾取,鼠标点击对象响应事件
一.拾取对象概念 二.坐标转换 三.光线投射Raycaster 中文文档 http://www.webgl3d.cn/threejs/docs/#api/zh/core/Raycaster 英文文档 https://threejs.org/docs/index.html#api/en/core/Raycaster 官网例子 http://www.webgl3d.cn/threejs/examples/#webgl_interactive_cub…...

js-防抖和节流
核心要点 什么是防抖及实现方式?什么是节流及实现方式? 1、什么是防抖及实现方式? 防抖(debounce):触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间 实现方式&…...

RK3568开发板屏幕调试常用的debug方法查看屏幕的显示状态
查看当前的屏幕的显示状态输入以下命令: cat /sys/kernel/debug/dri/0/summary 对上图中的打印,我们来解释一下: 以下的 vop 代表 mipi 屏幕使用的 vop 是 vop1,vop0 是没有被使用的。 Video Port0: DISABLED Video Port1:…...

MAC认证原理描述
MAC认证原理描述MAC认证简介MAC认证流程MAC认证简介 定义: MAC认证,即MAC地址认证,是一种基于接口和终端MAC地址对用户的访问权限进行控制的认证方法。 优点: 用户不需要安装任何客户端软件MAC认证过程中,不需要手动…...

一站式自动化测试工具——AI-TestOps
文章目录软件测试的重要性龙测科技是什么?核心优势平台使用软件测试的重要性 软件测试在整个软件生命周期里,具有十分关键的地位,学校只可以在运行与后期维护时期以前,软件调试瀑布模型,是一类常规的运行方式…...

MATLAB | 全网最详细网络图(图论图)绘制教程
一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点,当然图论与网络优化的算法一篇不可能完全讲清楚,未来如果看的人多可以适当更新,同时做部分网络图绘图复刻。 以下是本篇绘图实验效果࿱…...

Flutter 小技巧之实现一个精美的动画相册效果
今天的小技巧主要是「抄袭」一个充满设计感的相册控件,如下图所示是 gskinner 开源应用 wonderous 里一个相片集的实现效果,可以看到相册支持上下左右滑动,并带有高亮展示的动画效果,而且相册整体布局可以超出屏幕滚动,…...

小程序(十六)消息功能
文章目录一、数据库设计二、系统消息的发送与收取设计三、业务设计四、消息实体设计五、SpringBoot异步任务1、开启异步注解功能2、线程池创建3、异步任务——消息生产4、同步任务——消息消费(写入MySQL)一、数据库设计 很多人以为消息模块的数据表设计…...

C++之模板(上)
文章目录前言一、泛型编程二、模板1.函数模板1.函数模板概念2.函数模板格式3.函数模板原理4.函数模板的实例化1.隐式实例化2.显示实例化5.模板参数的匹配原则2.类模板1.类模板的定义格式2.类模板的实例化3.类模板和模板类的区别总结前言 本文介绍了C模板的基础概念,…...

虚拟机装ftp, 简单版, 针对嵌入式开发者
以下是在Ubuntu上重新安装和配置FTP的简单步骤:打开终端并输入以下命令安装FTP服务器:sudo apt-get install vsftpd安装完成后,打开FTP服务器配置文件:sudo nano /etc/vsftpd.conf在打开的配置文件中,找到以下两行并将…...

数字孪生颠覆传统铝材挤压生产,全新生产方式即将到来!
随着市场经济的发展,各种新型的高科技建筑材料相继出现,所有的基础工程均需要大量的建筑,需要大量门窗和建筑材料,而铝及其铝合金在其中占有重要的地位。随着时代的进步,材料的应用也发生着变化。因铝合金型材具有强度…...

整合SpringCache
整合SpringCache 1、引入依赖cache还有redis <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId> </dependency>2、写配置 spring:cache:type: redis3、测试使用缓存 Cache…...

Azure OpenAI 官方指南03|DALL-E 的图像生成功能与安全过滤机制
2021年1月,OpenAI 推出 DALL-E。这是 GPT 模型在图像生成方面的人工智能应用。其名称来源于著名画家、艺术家萨尔瓦多 • 达利(Dal)和机器人总动员(Wall-E)。DALL-E 图像生成器,能够直接根据文本描述生成多…...

【Python_requests学习笔记(八)】基于requests模块 实现响应内容嵌入JS 进行url地址跳转 数据的爬取
基于requests模块构建免费代理IP池 前言 此篇文章中介绍基于requests模块,实现对在响应内容中嵌入JS,真实的url地址进行跳转后数据的爬取,并以爬取行政区划代码数据为例进行讲解。 正文 1、需求梳理 抓取民政部网站最新行政区划代码 一级…...

3D Slicer学习记录(6)-使用PLUSapp连接WebCam并实现marker跟踪
前记在上次的博客中已经演示了利用Intel realsense进行marker跟踪,如果没有intel realsense怎么办?其实在之前的博客中早就提到plusapp支持多种硬件设备,包括笔记本自带的相机,因此,如果没有双目相机,或许可以尝试笔记本自带的相机完成之前的任务,只不过在跟踪精度和mar…...

路径 Floyd 蓝桥杯 JAVA
题目描述: 小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径。 小蓝的图由2021 个结点组成,依次编号1 至2021。 对于两个不同的结点a, b,如果a 和b 的差的绝对值大于21,则两个…...

小迪安全day12WEB漏洞-SQL注入之简要SQL注入
小迪安全day12WEB漏洞-SQL注入之简要SQL注入 注入产生原理详细分析 可控变量带入数据库查询变量未存在过滤或过滤不严谨 连接符区分 and是sql语句连接符,&是uel参数连接符 and 11是注入语句, &是添加一个新变量 数据库内容 数据库A 网站…...

初级算法-哈希表
主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表一、有效的字母异位词二、两个数组的交集三、快乐数四、两数之和五、四数相加(二)六、赎金信七、三数之和八、四数之和哈希表 散列表有m个存储单元…...

什么是 LuaJIT?为什么 Apache APISIX 选择了 LuaJIT?
本文介绍了 LuaJIT 的高灵活性和高性能,以及 APISIX 作为云原生 API 网关选择 LuaJIT 的原因。 作者杨陶,API7.ai 技术工程师。 原文链接 什么是 LuaJIT 定义 简单地说,LuaJIT 是 Lua 这种编程语言的实时编译(JIT,J…...

基于jsp+ssm+springboot的人职匹配推荐系统【设计+论文+源码】
摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于人职匹配推荐系统当然也不能排除在外,随着网络技术的不断成熟,带动了人职匹配推荐系统,它彻底改变了过…...

【Linux】简易Shell的实现
🤣 爆笑教程 👉 《看表情包学Linux》👈 猛戳订阅 🔥 💭 写在前面:本章是个 "插叙",前几章我们学了程序替换,现在我们可以尝试动手做一个 "会创建,会终止…...

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)
文章目录第一步:构建路径与种类的映射关系第二步:载入所有的宝可梦图像第三步:打散顺序并通过路径名提取映射关系构建映射文件第四步:完善选取、获取图片信息功能并可视化第五步:对数据进行预处理第六步:批…...

【案例讲解】LVGL GIF开机动画和关机动画
更多源码分析请访问:LVGL 源码分析大全 目录 1、功能特性2、重点代码2.1、 覆盖其它图层2.2、 强制GIF只播放一次2.3、 任何页面中长按OK键跳出关机页面2.4、 完成时销毁自身3、参考源码1、功能特性 1、播放一次完整的GIF后就退出,退出时并销毁对象,以节省资源;2、图层能覆…...

腾讯云服务器带宽计费规则介绍
腾讯云服务器公网带宽计费模式按使用流量是怎么计算的?不按照带宽大小计费,按照实际云服务器公网出方向实际产生多少流量来收费,为了避免突发流量产生高额流量费,可以设置一个峰值带宽。 腾讯云服务器公网流量费计算的是出流量&a…...

主从高可用面试题大全
主从高可用面试题大全 目录 文档索引 面试题汇总 Q:注册中心是什么?为什么需要注册中心? Q:注册中心是如何实现的? Q:实例如何通过注册中心进行服务发现 Q:注册中心如何进行选型ÿ…...

C语言-程序环境和预处理(2)
文章目录预处理详解1.预定义符号2.#define2.1#define定义的标识符2.2#define定义宏2.3#define替换规则注意事项:2.4#和###的作用##的作用2.5带副作用的宏参数2.6宏和函数的对比宏的优势:宏的劣势:宏和函数的一个对比命名约定3.undef4.条件编译…...

抓包逆向神器Charles推荐,https接口了无秘密
业余时间想找个免费的智能AI接口用,体验了几款插件真不错,比如Bito插件和IDE神器Cursor,但不知道他们的后台接口。想着看看他们的接口,不用说肯定是https加密的。http包透明传输还好,但是大多数是https加密传输的&…...

什么品牌的蓝牙耳机适合学生党用?学生党高性价比国产蓝牙耳机推荐
最近看到很多网友问什么品牌的蓝牙耳机适合学生党用?现在的蓝牙耳机品牌越来越多,适合学生党用的蓝牙耳机品牌也不少。下面,我来给大家推荐几款适合学生党的国产高性价比蓝牙耳机,可以当个参考。 一、南卡小音舱蓝牙耳机 参考价…...

C语言指针链表
C语言指针链表是一种非常常见的数据结构,它可以用于在程序中存储和操作一系列相关数据,包括但不限于整数、字符串、结构体等类型。下面我们将介绍如何使用C语言指针链表,并提供一个可以执行的示例代码。 1. 定义链表结构体 链表是由若干个节…...

sh脚本中使用getopts解析的参数中含有空格的解决方法
一、getopts的问题 如下使用getopts时,当执行命令为 #sh test1.sh -s “A B C” 时, getopts只能解析到 -s A,空格后面的内容就没办法解析了,其实在使用$给fun_main函数传参的时候"A B C"就被分割成了三个参数了。 #!/bin/sh #t…...

关于测试,我发现了哪些新大陆
关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师在课堂上使用龙测为我们展示了一波测试的相关操作,我发现了一些新大陆,这篇文章就记录一下有关测试的相关操作。 开启测试之旅 进入官网了解到 龙测…...

HTTP状态代码以及定义
在我们平常浏览网页时,也会发现一些文件不存在时显示为“404错误”,这就是常见的Http请求状态(status) Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,…...

基于Springboot实现口腔牙诊所网站平台【源码+论文】
基于Springboot实现口腔牙诊所网站平台【源码论文】开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea M…...

SQLAlchemy查询不重复的数据
在SQLAlchemy中,如果你想查询不重复的数据,可以使用distinct()方法。以下是一个简单的示例: 首先,导入必要的库和对象: from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declar…...

Leetcode27—移除元素
27 移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…...

vue3 组件篇 Message
文章目录组件介绍组件使用组件代码参数说明关于vue3-dxui组件库组件介绍 Message组件用以消息提示,用户在前端完成某些交互时,在页面弹出的某种反馈。该组件一共有四种类型,info、success、warning、error。与一般的组件不同,该组…...

Linux宝塔面板搭建Discuz论坛, 并公网远程访问【内网穿透】
文章目录前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛前言 Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上&…...

最长公共子序列 以及 输出公共最长子序列
最长公共子序列 以及 输出公共最长子序列题目描述 给两个字符串,输出最长公共子序列 例如 ABCBDAB BDCABA 那么输出结果就是 BCBC 思路: f[i][j] 表示 1-i 和 1-j 中对应字符串A 和 字符串B的角标中 已经算出的最长子序列长度 b[i][j] 表示 字符串A和B…...

【vue2】使用elementUI进行表单验证实操(附源码)
🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:vue使用elementUI进行表单验证实操(附源码) 【前言】我们在构建一…...