自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你应该知道真相

真相会使你自由

  • 博客(23)
  • 收藏
  • 关注

原创 使用Intel VTune Amplifier工具分析CTP热点

使用Intel VTune Amplifier工具分析了CTPII代交易主机front_idtp组件的热点,以不带流的方式启动,采集数据时长30min(期间无用户登录和交易请求),得到的热点如下图所示:排名第1的是epoll_wait,这是易于理解的,因为front_idtp闲着无事,只好一直在监听端口,CTPII采用的I/O复用方式为epoll,该机制主要涉及三个函数:epoll_cre...

2018-08-10 15:24:59 1770

原创 查看Linux服务器上的CPU信息

1.查看物理CPU个数(Physical CPU count )#cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc –l2.查看逻辑CPU个数(Logical CPU count)#cat /proc/cpuinfo | grep "processor" | wc –l3.查看单颗CPU核数#cat /proc/c...

2018-08-10 13:26:15 1420

原创 Intel VTune Amplifier以及VNC Server在Linux环境下的安装

Intel VTune Amplifier在Linux环境下的安装$tar zxvf vtune_amplifie_2018_update3.tar.gz $cd vtune_amplifie_2018_update3$install.sh接下来就是傻瓜式操作了,如果是在线安装,需要Serial Number,如果是离线安装,则需要一份.lic文件。对于试用版,Serial Num...

2018-08-08 13:05:16 2174

原创 Linux下修改PATH

查看PATH:echo $PATH以添加mongodb server为列修改方法一:export PATH=/usr/local/mongodb/bin:$PATH//配置完后可以通过echo $PATH查看配置结果。生效方法:立即生效有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置用户局限:仅对当前用户 修改方法二:通过修改.ba...

2018-08-08 09:32:15 2059

原创 网络I/O模型

同步:指用户线程发起I/O请求后,需要等待或轮询内核I/O操作完成后才能继续执行。异步:指用户线程发起I/O请求后,仍继续执行,当内核I/O操作完成后会通知用户线程或者调用用户线程注册的回调函数。所以说同步和异步描述的是用户线程与内核的交互方式。  ...

2018-07-09 20:17:17 198

原创 网络基础知识

OSI参考模型(七层):应用层(数据),表示层(数据),会话层(数据),传输层(数据段Segment),网络层(数据包Packet,路由器),数据链路层(数据帧Frame,交换机),物理层(比特流Bit,网卡)TCP/IP网络模型(四层):应用层,传输层,网络层,链路层TCP是面向连接的(指在正式通信前,必须要与对方建立连接),有比较高的可靠性:TCP的可靠性1)数据分割2)超时重发3)延时确认4...

2018-07-09 20:00:18 157

原创 加密套件ECDHE_SM2_WITH_SM4_SM3及握手分析

应证监局要求,国内金融产品程序化交易软件应采用国密算法实现SSL/TLS通讯,我司采用开源项目GmSSL2.0实现。加密套件选用ECDHE_SM2_WITH_SM4_SM3,其中协议版本为TLS1.2,密钥交换(Key-Exchange)算法为ECDHE,认证(Authentication)算法为SM2,加密(Encryption)算法为SM4,消息认证码(Message-Authenticati...

2018-07-05 19:42:21 8788 2

原创 C++中的内存管理

首先我们需要对概念有深刻的理解,什么是对象?什么又是变量呢?对象是存放某类型值的内存空间,类型(分为内置类型和用户自定义类型比如类、枚举)定义了一组可能的值以及一组(对象上的)操作,值是一组二进制位;变量则是一个命名的对象。...

2018-06-30 12:22:21 186

原创 shell命令:解压文件

unzip filename.zip

2018-06-26 10:26:59 3819

原创 shell命令:远程传输文件

scp front_mt trade5@172.24.121.43:/home/trade5/front1/bin/

2018-06-26 09:53:43 2505

原创 shell命令:查找文件

find -name ssleay32.a

2018-06-26 09:46:10 3062

原创 静态库和动态库的使用方法

一. 静态库与动态库的区别与联系 二. 静态库与动态库的创建 三. 静态库与动态库的使用 1. Windows平台 静态库:.lib 动态库:.dll 以Visual Studio集成开发环境为例介绍静态库、动态库的使用 2. Linux平台 静态库:.a 动态库:.so...

2018-06-26 09:35:42 716

原创 构造函数

C++中const修饰符的作用 <1> 常量 <2> 常量引用指对常量的引用(reference to const) <3> 常量指针(const pointer)与指向常量的指针(pointer to const) <4> 常量成员函数深入理解构造函数构造函数的定义:A constructor is a special kind of class member function that

2016-11-13 21:36:45 364

原创 减少临时对象,代码运行地再快些

临时对象不可避免,但是可以减少。尽可能地减少临时对象的产生,就是尽可能地减少临时对象所带来的性能损耗。临时对象产生的主要情形: <1> 参数 比如:函数的入口参数设置成list l, string name之类的 避免方法:采用传常量引用或者指针取代传值。 传值传递方式下,在调用过程中,会根据具体的实参来生成对应的拷贝,也就是临时对象,并传入函数以供使用。<2> 后缀 在后缀重载实现中,

2016-11-13 15:28:46 244

原创 C++悄悄为类做的事

//C++悄悄做的事有Big Three://一个或多个构造函数//一个析构函数//一个拷贝赋值运算符class Empty{};class Empty {public: Empty(); Empty(const Empty&) ~Empty(); Empty& operator=(const Empty& rhs);};需要注意的是,编译器版本的拷贝构

2016-11-13 14:30:27 189

原创 多态是怎么实现的?

VB语言支持类,但它不支持多态,所以VB是一个基于对象而非面向对象的语言。 多态性:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。要理解多态,首先要了解程序的执行过程: 1. 源程序通过编译生成可执行文件时,是放在外存中的,程序中的变量和函数只有逻辑地址。 2. 程序运行时,程序从外存加载到内存,为程序中的变量和函数分配物理内存单元,使其具备物理地址。物理地址与变量民、函数名

2016-10-31 20:26:12 6520

原创 时间戳

以下代码运行环境均为Visual Studio 2015 Community. 写这篇文章主要是受了一个笔试题目的刺激,题目要求写一个函数,其中一个功能是要求计算完成某一项工作所需的时间,精确到秒级,这倒不是什么难事,我在Linux环境下做过类似的事情,用的是gettimeofday(),可以精确到微秒呢,只是C++下跟Linux C一样吗? 带着这个疑问,我整理了一下,C++下关于时间的处理操

2016-10-09 20:17:07 771

原创 构造函数不能虚,多态基类析构函数应为虚

由于派生类和基类之间的关系是一种IS-A的关系,所以通常用基类指针或引用指向派生类对象。 为了构造对象,constructor必须要事先知道对象的确切类型,所以constructor不能为virtual.构造函数是用来干嘛的?对于基类(when base is instantiated):分配一块内存调用构造函数初始化列表初始化变量执行构造函数函数体部分控制权返回至调用者对于派生类(w

2016-10-02 18:07:43 465

原创 malloc/free与new/delete

先说C语言里面的malloc/free 1. 使用malloc和free需要包含stdlib.h,这表明malloc和free是标准库函数; 2. malloc的返回类型是void*,,需要进行强制转型 3. malloc若失败了,返回的是NULL,所以才有了要在malloc之后判断其返回值是否为NULL的建议; 4. malloc仅仅实现了内存分配与释放;再说说new/delete 1.

2016-10-02 16:50:01 364

原创 重载(overload),重写(override),隐藏(hiding)

重载overload:同一个作用域内的多个函数名字相同,但签名不同,就会发生重载。 签名(signature):由parameter的number和type构成 编译器compiler在一个作用域的可用候选函数中选择其形参parameter与函数调用中的实参argument有着最佳匹配的哪一个函数,此即重载! 重写override:派生类函数和基类虚函数具有相同的函数名和签名时,就会发生重写

2016-09-30 21:41:11 301

原创 常量成员函数

类的非常量成员函数,this指针的类型是 C *const. 也就是顶层指针,其本身是个常量,指向的内容可变。 set()成员函数必须是非常量的。类的常量成员函数, this指针的类型是const C *const. 既是顶层指针,又是底层指针,新增加的功能是:指向的类对象不可修改.对象的逻辑状态: 对象的物理状态:

2016-09-30 21:35:37 278

原创 函数对象

函数指针显得危险,笨拙而且过时。 函数对象function object是常规的类对象,函数对象类型重载函数调用操作符(),来创建类似于函数指针的东西。 函数对象的两个优点: 1)函数对象可以封装数据; 2)函数对象可以通过虚拟成员表现出动态行为

2016-09-30 18:18:38 251

原创 动态申请二维数组

Q:如何动态申请二维数组, A:先申请行(宏观上),再申请列(次级),释放时按照相反的顺序。 具体有如下4种方式: 方法1. malloc() 方法2. new 方法3. vector 方法4. vector 注意,前方高能! 不知道大家注意到没有,以上的方法申请的二维动态数组每一行不是连续的,有点类似于“链地址”的感觉,那么如何申请地址连续的二维数组呢?下面不一一详解了,以new为

2016-09-30 17:59:16 305

空空如也

空空如也

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

TA关注的人

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