自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (3)
  • 收藏
  • 关注

转载 Kafka 入门介绍

Kafka 入门介绍Topic消费模型Partition 与消费模型物理存储小结参考Kafka 的大名相信大家早有耳闻,就是《变形记》的作者……咳咳……是一个著名的分布式消息队列,据说是因为作者特别喜欢作家卡夫卡才取名 Kafka 的。开始接触 Kafka 时最头疼的就是它的概念,什么是 group,什么是 partition …… 这里咱们从头开始理一理 Kafka 的基本概念。Topic...

2019-07-19 14:34:37 792

转载 MYSQL中的COLLATE

转载链接https://www.cnblogs.com/qcloud1001/p/10033364.html在mysql中执行show create table 指令,可以看到一张表的建表语句,example如下:CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` ...

2019-07-16 16:50:03 973

原创 Java中的String,StringBuilder,StringBuffer三者的区别

String,StringBuilder,StringBuffer三者的区别运行速度线程安全总结String,StringBuilder,StringBuffer三者的区别三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。运行速度运行速度比较:StringBuilder > StringBuffer > StringString最慢的原因:String为字符串常量...

2019-06-05 17:15:01 151

原创 Liunx之网络编程

Liunx网络编程进程线程TCP/IP协议簇并发编程操作系统进程进程:资源分配的最小单元,操作系统执行的最小单位;Linux对进程采用了一种层次系统,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程,该进程负责进一步的系统初始化操作,并显示登录提示符或图形登录界面(现在使用比较广泛)。因此init是进程树的根,所有进程都直接或间接起源自该进程。fork()函数可以创建当前进程...

2019-04-16 17:31:10 444

原创 C++之常用排序算法

#include<iostream>#include<vector>using namespace std;//冒泡排序void Bubble_Sort(vector<int> &vec){ int temp = 0; for (int i = 0; i < vec.size()-1; i++) { for (int j =...

2019-04-16 17:26:00 182

原创 C++之STL仿函数、内存池、Lambda表达式

C++之STL仿函数仿函数内存池Lambda表达式仿函数要将某种“操作”当做算法的参数,唯一办法就是先将该“操作”(可能拥有数条以上的指令)设计为一个函数,再将函数指针当做算法的一个参数;或是将该“操作”设计为一个所谓的仿函数(就语言层面来说是个class),再以该仿函数产生一个对象,并以此对象作为算法的一个参数。根据以上陈述,既然函数指针可以达到“将整组操作当做算法的参数”,那又何必有所谓...

2019-04-16 17:21:00 354

原创 C++之STL空间置配器

STL之空间置配器空间配置器(SGI版)二级空间配置器的逻辑步骤:空间配置器的其他问题空间配置器(SGI版)STL里面的空间配置主要分为两级,一级空间配置器(__malloc_alloc_template)和二级空间配置器(__default_alloc_template)。在STL中默认如果要分配的内存大于128个字节的话就是大块内存,调用一级空间配置器直接向系统申请,如果小于等于128个字...

2019-04-16 17:18:10 252 2

原创 C++之STL常用函数及原理

C++之STL常用函数及原理lower_boundupper_boundbinary_serachrandom_shufflepartial_sortpartial_sort_copysortequal_rangeinplace_range(应用于有序序列)nth_elementlower_bound作用:在有序区间上寻找值为value的位置;Interator lower_bound(In...

2019-04-16 17:16:19 910

原创 Java之泛型程序设计

Java之泛型程序设计概述定义简单泛型类泛型方法类型变量的限定泛型代码和虚拟机类型擦除翻译泛型表达式翻译方法调用约束和局限性运行时类型查询只适用于原始类型不能创建参数化类型的数组不能构造泛型数组不能抛出和捕获泛型类的实例可以消除对受查异常的检查注意擦除后的冲突泛型类型的继承规则通配符类型通配符概念概述泛型程序设计意味着编写的代码可以被很多不同的对象所重用。使得程序具有更好的可读性和安全性。类似...

2019-03-28 20:16:06 190

转载 java:详解关键字newInstance和方法new

在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对...

2019-03-28 15:23:04 243

原创 Java之异常

Java之异常异常分类声明受查异常如果由于出现错误而出使得某些操作没有完成,程序应该:1)返回到一种安全状态,并能够让用户执行一些其他的命令2)允许用户保存所有操作的结果,并以妥善的方式终结在java中华,如果某个方法不能够采用正常的途径完整它的任务,就可以通过另一个路径退出方法。在这种情况下,方法并不返回任何值,而是抛出(throw)一个封装了错误信息的对象。需要注意的是,这个方法将会立...

2019-03-26 20:00:56 85

原创 java之内部类

Java之内部类概述使用内部类访问对象状态内部类的特殊语法规则局部内部类由外部方法访问变量匿名内部类静态内部类概述内部类是定义在另一个类中的类。使用原因如下:内部类可以访问该类定义所在的作用域中的数据,包括私有数据内部类可以对同一包中的其它类隐藏当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷使用内部类访问对象状态内部类既可以访问自身的数据域,还可以访问创建它的外围...

2019-03-26 18:52:30 93

原创 java之lambda表达式

lambda表达式lambda表达式概述函数式接口方法引用1、静态方法引用2、特定实例对象的方法引用3、任意对象(属于同一个类)的实例方法引用4、构造方法引用变量作用域处理lambda表达式lambda表达式概述lambda表达式是一个可传递的代码块,可以在以后执行一次或者多次。lambda 表达式的语法格式如下:(parameters) -> expression或(param...

2019-03-26 10:46:34 119

原创 java类之接口

java类之接口接口接口的特性接口和抽象类默认方法Comparator接口对象克隆接口在java程序设计语言中,接口不是类,二是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。public interface Comparable{ int compareTo(Object other);}就是说,任何实现Comparable接口的类都需要包含compareTo方法...

2019-03-25 20:51:03 207

原创 java继承

Java继承类、超类和子类定义子类覆盖方法子类构造器继承层次多态理解方法调用阻止继承:final类和方法强制类型转换抽象类受保护访问类、超类和子类继承的明显特征是“is-a”关系。继承由关键字extends表示。定义子类public class Manger extends Employee{ //添加方法或域}注:java和C++定义继承类的方式比较相似。java使用关...

2019-03-20 21:25:25 160

原创 Java类剖析

Java类剖析构造器隐式参数和显式参数封装的优点类的访问权限私有方法final实例域静态域与静态方法静态域静态常量静态方法main方法方法参数对象构造重载默认初始化无参数的构造器显式域初始化调用另一个构造器初始化块对象析构与finalize方法包将类放入包中包的作用域构造器1、构造器与类同名;2、每个类可以有一个以上的构造器;3、构造器可以有0个、1个或者多个参数;4、构造器没有返回值;...

2019-03-20 17:08:11 110

原创 MySQL框架之事务的隔离级别

隔离级别READ UNCOMMITTED(未提交读)READ COMMITTED(提交读)REPEATABLE READ(可重复读)SERIALIZABLE(可串行化)在SQL标准中定义了四中隔离级别,每一种级别都规定了一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。READ UNCOMMITTED(未提交读)在RE...

2019-02-17 18:59:49 160

原创 MySQL框架之事务的四大特性

事务就是一组原子性的SQL查询,或者说是一个独立的工作单元。事物内的语句,要么全部执行成功,要么全部执行失败。

2019-02-17 11:10:17 141

原创 MySQL框架之并发控制

并发控制读写锁锁粒度读写锁读锁是共享的,或者说是互相不阻塞的。多个客户端在同一时刻可以读取统一资源,而互不干扰。写锁则是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,这是出于安全策略的考虑,只有这样,才能确保在给定的时间内,只有一个用户能执行写入,并防止其他用户读取正在写入的统一资源。锁粒度表锁是MySQL中最基本的策略,并且是开销最小的策略,它会锁定整张表。一个用户在对表进行写操作前,...

2019-02-17 10:37:55 119

原创 C++字符和数字、字符大小写之间的转换

#include&lt;iostream&gt;int main(){ //其实就是对ASCii表的操作 string s; char a = 'a'; int b = a - '0'; //字符转成数字 int c = (int)a; //就是ASC码十进制值,不加(int)也会隐式转 char ch=b+'0'; /...

2018-07-21 23:30:02 3807

转载 c++ list, vector, map, set 区别与用法比较

List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要改变...

2018-07-21 23:05:49 250

原创 C++值传递、引用传递和传指针的区别

传值传递的是是实参的拷贝,实参不会被修改;#include&lt;iostream&gt;void swap(int a, int b){ int temp = a; a = b; b = temp;}int main(){ int a = 5, b = 10; swap(a, b); std::cout &lt;&lt; "a = " &lt;&lt; a &lt...

2018-07-21 22:53:50 266

原创 C++中指针和引言的区别

指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用的实质上是原变量的一个别名。如:int a=1;int *p=&amp;a;int a=1;int &amp;b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面2句定义了一个整形变量a和这个整形a的...

2018-07-21 22:41:53 168

原创 前置++和后置++的区别

++a表示取a的地址,增加它的内容,然后把值放在寄存器中;a++表示取a的地址,把它的值装入寄存器,然后增加内存中的a的值;前置++和后置++,有4点不同:返回类型不同 形参不同 代码不同 效率不同1、返回类型前置++的返回类型是&amp;,后置++的返回类型const值。这意味着,前置++返回的是左值(可以被修改,也就是说可以对它进行前置++、后置++、赋值等操作),后置...

2018-07-21 22:25:21 4594

原创 C++变量申明和定义的关系

为了允许程序拆分成多个逻辑部分进行编写,C++语言支持分离式编译机制,该机制允许将程序分割成若干个文件,每个文件可被独立编译。       如果将程序分为多个文件,则需要有在文件间共享代码的方法。例如,一个文件的代码可能需要使用另一个文件中定义的变量。一个实际的例子就是std::cin和std::cout,他们定义于标准库中,却能被我们写的程序使用。       为了支持分离式编译,C++

2017-06-12 15:05:26 690

原创 在c++中怎么创建命名空间

什么是命名空间呢?举一个现实中的例子,命名空间就像是一个企业,每个企业都有自己的员工。在这里假设每一个员工代表一个类,于是每一个命名空间中都包含若干个类。优于命名空间不同,编译器就可以将同名的类区别开来。这就像企业A中有个叫“张三”,企业B也有个叫“张三”的。但是由于两个企业不同,人们还是可以把两个人区分开来。使用命名空间的方式有以下两种:方法一:#include"iostream"

2017-05-13 11:35:34 9478

原创 C++之模板

C++程序是由函数和类组成的,座椅模板也分为类模板和函数模板。模板就是把功能相似、仅数据类型不同的函数或类设计为通用的函数模板或类模板,提供给用户。模板是“泛型编程”的基础,所谓泛型编程就是用独立于任何特定类型的方式编写代码。所以简单地说,类是对象的抽象,而模板又是类的抽象,用模板能定义出具体类。模板的语法:函数模板的一般定义形式为:Template或typename T>返回类型

2017-04-03 10:22:40 539

原创 c++:文件操作

打开文件1.用文件流的成员函数open()打开文件ifstream,ofstream、fstream等三个文件流类中各有一个成员函数open():voidifstream::open(const char *, int = ios::in, int = filebuf::openprot);voidofstream::open(const char *, int = ios::ou

2017-03-03 21:18:12 665

原创 C语言:枚举类型

在枚举类型的定义中列出所有可能的取值,被说明为该枚举类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为他不可能再分解为任何基本类型。枚举类型的定义如下:enum 枚举名{枚举值表};例:enum weekday{sun,mou, tue, wed, thu, fri, sat};枚举变量的说明:enu

2017-03-03 16:00:37 589 1

原创 C语言:共用体

共用体类型的说明一般形式Union共用体标识名{类型名1  共用体成员名1;类型名2  共用体成员名2;……类型名n  共用体成员名n;};共用体变量的一般定义和结构体相似。如(1)union un{inti;floatx;}s1, s2;(2)union un{inti;floatx;};union un s

2017-03-03 16:00:03 514

原创 c语言:结构体

结构体类型结构体类型的一般形式如下:struct结构体表示名{类型名1   结构体成员名表1;   类型名2    结构体成员名表2; …… 类型名n    结构体成员名表n;};其中struct是关键字,是结构体的标志。“结构体标识名”和“结构体成员名”都是用户定义的标识符。“结构体标识名”是可选项。每个“结构体成员名表”中都可包含有多个同类型的成员名,他们之间用

2017-03-03 15:59:19 479

原创 c语言:字符串与字符串指针变量

字符数组和字符指针变量都能实现字符串的存储和运算,但它们之间是有区别的,主要有以下几点:1.字符数组由若干个元素组成,每个元素存放一个字符,而字符串指针变量中存放的是地址(字符串的首地址)。例:#include"stdio.h"void main(){charstring1[] = "i am a student";char*string2 = "i am a

2017-03-03 15:58:30 2615

原创 VS2013/MFC编程入门之三十九(MFC常用类:CString类)

上一节讲了分割窗口的有关知识,本节开始讲解MFC的一些常用类,先来说说CString类。       CString类简介       CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。因为字符串的使用比较普遍,而CString类又提供了对字符串的便捷操作,所以它给MFC开发人员带来了高的开发效率,受到了开发者的

2017-02-15 21:43:22 3386

原创 VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)

上一节中讲了文档、视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口。      分割窗口概述      分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。       MFC分割窗口的方式有两种,动态分割和静态分割。       动态分割窗口通常用于创建同一个文档对应的多个视图

2017-02-15 21:19:28 3939

原创 VS2013/MFC编程入门之三十七(文档、视图和框架:各对象之间的关系)

前面一节中进行了文档、视图和框架的概述,本节主要讲解文档、视图、框架结构中各对象之间的关系。       各个对象之间的关系       文档、视图、框架结构中涉及到的对象主要有:应用程序对象、文档模板对象、文档对象、视图对象和框架窗口对象等。根据上一节的概述,大家对它们的概念已经有所了解了,下面就对它们之间的关系进行总结和概括,并对各个关系中用到的类的成员函数进行介绍。

2016-12-08 19:53:34 2295

原创 VS2013/MFC编程入门之三十六(文档、视图和框架:概述)

前面几节讲了菜单、工具栏和状态栏的使用,本节开始将为大家讲解文档、视图和框架的知识。       文档、视图和框架简介       在VS2013/MFC编程入门之三十二(菜单:VS2013菜单资源详解)创建的单文档工程Example32中,我们可以看到MFC向导自动为我们生成了CExample32Doc类、CExample32View类和CMainFrame类,它们就分别是文档类

2016-12-07 23:24:42 3012

原创 VS2013/MFC编程入门之三十五(状态栏的使用详解)

上一节中讲了工具栏的创建、停靠与使用,本节来讲解状态栏的知识。       状态栏简介       状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。       用MFC向导生成的单文档或多文档程序都会自动创建状态栏,大家可以运行下VS2013/M

2016-12-07 23:04:22 3221

原创 VS2013/MFC编程入门之三十四(工具栏:工具栏资源及CToolBar类)

上一节中讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏。       工具栏简介       工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。       一般工具栏中的按钮在菜单栏中都有对应的菜单项中,

2016-12-05 23:21:36 8661 1

原创 VS2013/MFC编程入门之三十三(菜单:菜单及CMenu类的使用)

在上一节中讲的是VS2013的菜单资源,本节主要讲菜单及CMenu类的使用。       CMenu类的主要成员函数       MFC为菜单的操作提供了CMenu类,下面就常用的几个成员函数进行简单的介绍。       BOOL LoadMenu(UINT nIDResource);       加载菜单资源,并将其附加到CMenu对象上。参数nIDResourc

2016-12-04 22:36:38 8178 3

原创 VS2013/MFC编程入门之三十二(菜单:VS2013菜单资源详解)

前面我们已经讲完了所有的常用控件,本节开始为大家讲解菜单的概念及使用。       菜单简介       菜单可以分为下拉式菜单和弹出式菜单。       下拉式菜单一般在窗口标题栏下面显示,大家还记得我们在VS2013/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)中创建的HelloWorld单文档工程吗?它的运行结果窗口的标题栏下就是下拉式菜单。下拉式菜单通

2016-12-04 10:43:30 7140

分数阶傅里叶变换

分数阶Fourier变换是信号在时频平面内坐标轴绕原点逆时针旋转任意角度后构成的分数阶Fourier域上的表示方法,是一种广义的Fourier变换。

2017-12-25

Matlab时频工具箱 tftb-0.2

安装方法: [size=-1] 比如我要添加时频分析工具箱tftb,步骤如下: 1,把tftb文件夹复制到toolbox下,如路径为:[size=-1]D:\Program Files\MATLAB\R2008a\toolbox\tftb-0.2[size=-1]。 2 在matlab命令行输入如下命令: addpath(genpath('D:\Program Files\MATLAB\R2008a\toolbox\tftb-0.2')); 3. savepath保存路径

2016-10-30

Matlab时频工具箱 tftb-0.1

安装方法: [size=-1] 比如我要添加时频分析工具箱tftb,步骤如下: 1,把tftb文件夹复制到toolbox下,如路径为:[size=-1]D:\Program Files\MATLAB\R2008a\toolbox\tftb-0.1[size=-1]。 2 在matlab命令行输入如下命令: addpath(genpath('D:\Program Files\MATLAB\R2008a\toolbox\tftb-0.1')); 3. savepath保存路径

2016-10-30

空空如也

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

TA关注的人

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