自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

转载 MySQL 线程池、连接池、长连接、短连接概念

线程池简介1、mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来的所有命令2、每个线程会占用一定的系统资源,线程数越多消耗的系统资源也越多3、线程的创建和销毁有一定的开销4、当线程数过多时,如果大部分线程都处于活跃状态,会导致频繁的上下文切换,从而造成系统巨大的开销5、线程的本质就是线程共用,多个连接之间共享线程何时使用1、在有大量短...

2019-03-27 14:52:16 1645

转载 吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:1. 响应时间(RT)  响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输...

2019-03-26 09:33:18 556

原创 量子软件开发包QPanda2学习之路(三)利用量子云平台进行量子计算

当我们构建好量子程序后,可以利用QPanda2内置的量子虚拟机程序运行并获取结果,也可以将计算任务提交给性能更为强劲的量子云平台计算服务器。该部分的使用类似QPanda2的量子虚拟机功能,不同的任务类型,调用不同的接口,下面是示例程序。MEASURE我们需要在量子程序中添加measure节点用于获取计算结果,否则服务器不会返回任何结果。MEASURE的结果具有随机性,它仅仅表示一次运行...

2019-02-22 09:01:03 765

原创 量子软件开发包QPanda2学习之路(二)量子程序转化模块

上一节中提到,QRunes文本是用于表述量子程序的指令集文本,所以在使用QPanda2的过程中不可避免的牵扯到量子程序的转化问题,在QPanda2中提供相关的函数接口支持转化功能的实现。量子程序转化QRunes模块欲使用这一功能,我们先进行量子程序的构建。具体看下面这一段简单的示例代码    init();    auto prog = CreateEmptyQProg();...

2019-02-22 09:00:59 670

原创 量子软件开发包QPanda2学习之路(一)基础入门

1.QPanda2简介Q-Panda 2 SDK(Quantum Panda 2 Software Development Kit)是由本源量子推的开源量子程序开发工具包。其支持主流的量子逻辑门操作,并且可对不同平台下的量子程序进行针对性优化,可适配多种量子芯片。QPanda 2 使用C++语言作为经典宿主语言,并支持以QRunes和QASM书写的量子语言。目前,QPanda 2.0支持本...

2019-02-22 09:00:53 3283 1

原创 OpenMP用法大全(个人整理版)

 OpenMP基本概念OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C、C++和Fortran。OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的并行程序设计。编译器根据程序中添加的pragma指令,自动将程序并行处理,使用OpenMP降低了并行编程的难度和复杂度。当编译器不支持OpenMP时,程序会退化成普通(串行)程序。程序中已有的O...

2018-07-18 11:10:57 66126 5

转载 auto的用法

用于代替冗长复杂、变量使用范围专一的变量声明。想象一下在没有auto的时候,我们操作标准库时经常需要这样:#include<string>#include<vector>int main(){ std::vector<std::string> vs; for (std::vector<std::string>::iterator...

2018-07-02 16:44:48 9512 7

原创 STM32学习笔记(五)LCD函数

//x,y :起点坐标  //len :小数点后的位数//size:字体大小,此处省略,默认1608字体//color:颜色,此处仅保留前景色,可自行修改//num:数值(0~4294967295);  void LCD_ShowNum(u16 x,u16 y,float num,u8 len,u16 color)[html] view plain copy#include "led.h"  #i...

2018-05-12 11:08:12 26419 2

原创 数据结构整理双向链表

双向链表- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -和单向链表相比有以下优势:插入删除不需要移动元素外,可以原地插入删除可以双向遍历- - - - -...

2018-04-17 20:48:56 233

转载 初探语音识别技术

语音识别      语音识别根据实际需求的不同也会有所不同。目前主要追求大词汇量、连续、非特定人。       语音识别主流开源框架:HTK、Kaldi、CMUSphinx。因为目前只接触了Sphinx,对于另外两个框架没有太深入研究。        1)Kaldi适用于在服务器搭建的语音识别系统,也可以适用于android,但没有实验过,根据官方提供方法:http://jcsilva.githu...

2018-04-17 19:44:43 11824 2

转载 Linux进程相关整理

1. 进程是什么         进程(process)的概念最早是由美国麻省理工学院的 J.H.Sallexer 于1966年提出的,是现代操作系统最基本、最重要的概念。进程的引入很好的描述了程序的执行过程和并发行为。  定义: 进程是并发程序的一次执行过程,进程是具有一定独立功能的程序关于某个数据集合的一次运行过程。      进程的本质:           1.进程的存在必然需要程序的存在...

2018-04-17 18:54:05 377

转载 Linux 中的五种 IO 模型

1 概念说明在进行解释之前,首先要说明几个概念:用户空间和内核空间进程切换进程的阻塞文件描述符缓存 IO1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核...

2018-04-13 21:34:19 947

转载 三层架构

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从...

2018-04-13 21:17:09 354

原创 C++学习笔记(三十四)知识整理1

1.整数转化字符串,不用itoa   using namespace std;//字符串整数转化int main(){ int num = 12345; char str[7], s[7]; int i = 0, j = 0; while (num) { s[i] = num % 10 + '0'; i++; num = num / 10; } s[i] = 0; cout <<...

2018-04-11 20:02:55 241

原创 C++学习笔记(三十三)构造函数、析构函数与虚函数的使用

构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。2 虚函数的...

2018-04-11 18:12:42 244

原创 C++学习笔记(三十二)回头再看虚函数原理

C/C++杂记:虚函数的实现的基本原理1. 概述简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针。例:其中:B的虚函数表中存放着B::foo和B::bar两个函数指针。D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::...

2018-04-07 20:46:44 213

转载 二叉树的遍历

二叉树及二叉树遍历完全二叉树二叉树的遍历遍历的性质1、完全二叉树对于一棵具有n个节点的二叉树(按层序编号),如果编号为i的节点与同样深度的满二叉树中编号为i的节点在二叉树的位置完全相同,则为完全二叉树。换句话来说,如果每个节点按照满二叉树的结构逐层顺序进行编号,如果编号出现编号空挡,就说明不是完全二叉树,否则就是。如下图所示:左边二叉树按照完全二叉树进行编号,出现了10号的空挡,右边二叉树出现了6...

2018-04-07 20:46:08 213

原创 C++学习笔记(三十一)拷贝构造函数与赋值运算符重载的区别

拷贝构造函数发生在对象还没有创建;赋值操作符重载仅发生在对象已经创建的情况下。一个对象的诞生首先必须经历构造过程,这也是构造函数存在的意义,而=运算符本身并不具有代替构造函数的作用,在题目中由于obj1、obj2、obj3都是首次出现的对象,因此必须经历构造函数,因此,即使obj3使用了=运算符,但是仍然必须要执行构造函数,此时的=也会被理解成调用了拷贝构造函数。通常拷贝构造函数应用的场合有以下几...

2018-04-07 16:46:10 288

原创 Stm32学习笔记(四)通用定时器基本原理

2018-04-06 17:03:45 570

原创 Stm32学习笔记(三)串口通信基本原理

串行通信方式STM32的串口通信接口UART:通用异步收发器USART:通用同步异步收发器大容量STM32F10x系列芯片,包含3个USART和2个UARTUART异步通信方式引脚连接方法:UART异步通信方式特点:全双工异步通信。分数波特率发生器系统,提供精确的波特率。     --发送和接受共用的可编程波特率,最高可达4.5Mbits/s可编程的数据字长度(8位或者9位);可配置的停止位(支持...

2018-04-06 16:25:21 1228

转载 NetWork【计算机网络相关】

[Network] 计算机网络基础知识总结阅读目录1. 网络层次划分2. OSI七层网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由选择协议7. TCP/IP协议8. UDP协议 9. DNS协议10. NAT协议11. DHCP协议12. HTTP协议13. 一个举例  计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则...

2018-04-06 16:13:47 345

原创 QT学习笔记(十)数据库基础

SQL执行操作QSqlQuery提供了对数据库记录的Select、Insert、Update、Delete操作。SELECT操作: QSqlQuery query;query.exec("SELECT name, salary FROM employee WHERE salary > 50000");while (query.next()) {    QString name = query...

2018-04-03 20:33:35 363 1

原创 QT学习笔记(九)服务器与线程

头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTcpServer> // tcp 服务器类,=====> 负责监听是否有客户端连接#include <QTcpSocket> // tcp socket ======> 负责tcp的通信namespace U...

2018-04-03 15:47:31 390

原创 QT学习笔记(八)画图

头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QVector>#include <QPoint>#include <QPaintEvent>#include <QMouseEvent>#include <QKeyEvent>namespace Ui...

2018-04-03 14:50:30 387

原创 QT学习笔记(七)QDataStream传递自定义的数据类型

QT自带的QDataStream只能传递它自己要求的数据类型。但是我们可以自己重载QDataStream& operator<<()和QDataStream& operator>>();mydatastream.h[cpp] view plain copy#ifndef MYDATASTREAM_H  #define MYDATASTREAM_H    #i...

2018-04-03 11:27:32 2771

原创 QT学习笔记(六)各种控件

槽函数private slots: void on_comboBox_currentIndexChanged(const QString &arg1);private: Ui::Widget *ui; QTimer timer;Widget.cpp#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidge...

2018-04-02 21:46:28 651

原创 QT学习笔记(五)登录注册、打开保存文件

// 模态对话框void Widget::on_pushButton_2_clicked(){ Login dlg; // 会接管 app 的 exec,处理消息事件 int ret = dlg.exec(); if (ret == QDialog::Accepted) // 调用accept函数结束窗口返回 Accepted qDebug() &...

2018-04-02 19:47:30 689

原创 QT学习笔记(四)模态和非模态对话框

Qt中QDialog类是所有对话框的基类,对话框窗口是一个经常用来完成一个短小任务和用户进行简单交互的顶层窗口。对话框被分为两类模态的和非模态的。  模态对话框就是没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,比如新建项目是弹出的对话框。而对于非模态对话框,既可以和它进行交互,也可以与同一程序中的其他窗口交互。[cpp] view plain copy#ifndef MYWIDGET_...

2018-04-02 19:07:20 324

原创 QT学习笔记(三)单行文本输入框与自动补全

main.cpp#include <QApplication>#include "mywidget.h"#include <QPushButton>int main(int argc, char **argv){ QApplication app(argc, argv); MyWidget w; w.show(); return app.exec()...

2018-03-31 12:00:55 1615 1

原创 QT学习笔记(二)自定义窗口

主函数 main.cpp#include <QApplication>#include "mywidget.h"#include <QPushButton>int main(int argc, char **argv){ QApplication app(argc, argv); MyWidget w, w1; //自定义构造后创建窗口 w.sho...

2018-03-31 11:06:53 332

原创 QT学习笔记(一)窗口与按钮

// 应用程序类#include <QApplication>// 窗口类头文件#include <QWidget>//按钮头文件#include <QPushButton>int main(int argc, char **argv){ // 定义一个应用程序对象 代表当前应用程序 QApplication app(argc, argv); ...

2018-03-31 10:18:28 329

原创 C++学习笔记(三十)建造者模式

建造者模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式包括的角色:(1)Builder:给出一个抽象接口或抽象类,以规范产品的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建,一般由子类具体实现。(2)ConcreteBuilder:Builder接口的实现类,并返回组建好对象实例。(3)Director:调用具体建造者...

2018-03-29 10:52:12 224

原创 C++学习笔记(二十九)简单工厂、工厂方法、抽象工厂之小结、区别

简单工厂、工厂方法、抽象工厂之小结、区别  很多时候,我发现这三种设计模式难以区分,常常会张冠李戴闹了笑话。很有必要深入总结一下三种设计模式的特点、相同之处和不同之处。1 本质  三个设计模式名字中都含有“工厂”二字,其含义是使用工厂(一个或一系列方法)去生产产品(一个或一系列类的实例)。  另外,有时候,我们常常会将生产产品的一个或一系列方法封装到一个类中,我习惯把这个类叫做“工厂类”;而被实例...

2018-03-29 10:37:35 231

原创 C++学习笔记(二十八)工厂模式、简单工厂模式与抽象工厂模式

工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口(纯虚函数,抽象类),将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。 抽象工厂(Creator)角色工厂方法模式的核心,...

2018-03-28 21:12:14 254

原创 C++编程题整理(持续更新中)

1.给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符。输入描述:输入数据一个字符串,包括字母,数字等。输出描述:输出首先出现三次的那个英文字符示例1输入Have you ever gone shopping and输出e#include <iostream>#include <string>using namespace std;int main(...

2018-03-28 20:26:47 10884 1

原创 C++学习笔记(二十七)cin.getline()、getline()的用法

cin.getline()用法:接收一个字符串,可以接收空格并输出#include <iostream>using namespace std;main (){char m[20];cin.getline(m,5);cout<<m<<endl;}输入:jkljkljkl输出:jklj接收5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;如果把5改成...

2018-03-28 19:23:15 178

原创 C++学习笔记(二十六)设计模式学习之单例模式

单例模式作用:保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象为什么需要单例模式?  在多个线程之间,比如初始化一次socket资源  在整个程序空间使用全局变量,共享资源  大规模系统中,为了性能的考虑,需要节省对象的创建时间实现单例步骤常用步骤   构造函数私有化  提供一个全局的静态方法(全局访问点)  在类中定义一个静态指针,指向本类的变量的静态变量指针...

2018-03-28 19:17:44 172

原创 C++学习笔记(二十五)设计模式概述

设计模式是什么设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化。 设计模式的分类:       创建型模式             通常和对象的创建有关,涉及到对象实例化的方式。(共5种模式)       结构型模式          ...

2018-03-26 20:36:16 253

原创 C++学习笔记(二十四)笔试编程题整理

一、题目描述现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度输入描述:输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组成,下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号输出描述:输出树的高度,为一个整数示例1输入50 10 21 31 4输出3#include <iostrea...

2018-03-26 19:31:51 421

原创 C++学习笔记(二十三)遍历算法

vector<int>  v;for (int i = 0; i < 10; i++)v.push_back(i+1);     //把1-10插入容器vector中 // 遍历算法// 第一个参数:要遍历的数据的起始位置 // 第二个参数:要遍历的数据的结束位置 // 第三个参数:函数对象,要对数据做些什么事情// 运行过程:从开始到结束 一个一个取出元素,给第三个参数调用 f...

2018-03-26 19:29:58 290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除