<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[你应该知道真相]]></title><description><![CDATA[真相会使你自由]]></description><link>https://blog.youkuaiyun.com/Pearson9</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Pearson9]]></copyright><item><title><![CDATA[使用Intel VTune Amplifier工具分析CTP热点]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/81561913</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/81561913</guid><author>Pearson9</author><pubDate>Fri, 10 Aug 2018 15:24:59 +0800</pubDate><description><![CDATA[使用Intel VTune Amplifier工具分析了CTPII代交易主机front_idtp组件的热点，以不带流的方式启动，采集数据时长30min（期间无用户登录和交易请求），得到的热点如下图所示：



排名第1的是epoll_wait，这是易于理解的，因为front_idtp闲着无事，只好一直在监听端口，CTPII采用的I/O复用方式为epoll，该机制主要涉及三个函数：epoll_cre...]]></description><category></category></item><item><title><![CDATA[查看Linux服务器上的CPU信息]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/81561716</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/81561716</guid><author>Pearson9</author><pubDate>Fri, 10 Aug 2018 13:26:15 +0800</pubDate><description><![CDATA[1.查看物理CPU个数（Physical CPU count ）
#cat /proc/cpuinfo | grep &quot;physical id&quot; | sort | uniq | wc –l

2.查看逻辑CPU个数（Logical CPU count）

#cat /proc/cpuinfo | grep &quot;processor&quot; | wc –l

3.查看单颗CPU核数

#cat /proc/c...]]></description><category></category></item><item><title><![CDATA[Intel VTune Amplifier以及VNC Server在Linux环境下的安装]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/81506444</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/81506444</guid><author>Pearson9</author><pubDate>Wed, 08 Aug 2018 13:05:16 +0800</pubDate><description><![CDATA[Intel VTune Amplifier在Linux环境下的安装

$tar zxvf vtune_amplifie_2018_update3.tar.gz 

$cd vtune_amplifie_2018_update3

$install.sh

接下来就是傻瓜式操作了，如果是在线安装，需要Serial Number，如果是离线安装，则需要一份.lic文件。对于试用版，Serial Num...]]></description><category></category></item><item><title><![CDATA[Linux下修改PATH]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/81502300</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/81502300</guid><author>Pearson9</author><pubDate>Wed, 08 Aug 2018 09:32:15 +0800</pubDate><description><![CDATA[查看PATH：echo $PATH

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

 

修改方法二：
通过修改.ba...]]></description><category></category></item><item><title><![CDATA[网络I/O模型]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80976465</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80976465</guid><author>Pearson9</author><pubDate>Mon, 09 Jul 2018 20:17:17 +0800</pubDate><description><![CDATA[同步：指用户线程发起I/O请求后，需要等待或轮询内核I/O操作完成后才能继续执行。异步：指用户线程发起I/O请求后，仍继续执行，当内核I/O操作完成后会通知用户线程或者调用用户线程注册的回调函数。所以说同步和异步描述的是用户线程与内核的交互方式。  ...]]></description><category></category></item><item><title><![CDATA[网络基础知识]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80976180</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80976180</guid><author>Pearson9</author><pubDate>Mon, 09 Jul 2018 20:00:18 +0800</pubDate><description><![CDATA[OSI参考模型（七层）：应用层（数据），表示层（数据），会话层（数据），传输层（数据段Segment），网络层（数据包Packet，路由器），数据链路层（数据帧Frame，交换机），物理层（比特流Bit，网卡）TCP/IP网络模型（四层）：应用层，传输层，网络层，链路层TCP是面向连接的（指在正式通信前，必须要与对方建立连接），有比较高的可靠性：TCP的可靠性1）数据分割2）超时重发3）延时确认4...]]></description><category></category></item><item><title><![CDATA[加密套件ECDHE_SM2_WITH_SM4_SM3及握手分析]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80931970</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80931970</guid><author>Pearson9</author><pubDate>Thu, 05 Jul 2018 19:42:21 +0800</pubDate><description><![CDATA[应证监局要求，国内金融产品程序化交易软件应采用国密算法实现SSL/TLS通讯，我司采用开源项目GmSSL2.0实现。加密套件选用ECDHE_SM2_WITH_SM4_SM3，其中协议版本为TLS1.2，密钥交换（Key-Exchange）算法为ECDHE，认证（Authentication）算法为SM2，加密（Encryption）算法为SM4，消息认证码（Message-Authenticati...]]></description><category></category></item><item><title><![CDATA[C++中的内存管理]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80865571</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80865571</guid><author>Pearson9</author><pubDate>Sat, 30 Jun 2018 12:22:21 +0800</pubDate><description><![CDATA[首先我们需要对概念有深刻的理解，什么是对象？什么又是变量呢？对象是存放某类型值的内存空间，类型（分为内置类型和用户自定义类型比如类、枚举）定义了一组可能的值以及一组（对象上的）操作，值是一组二进制位；变量则是一个命名的对象。...]]></description><category></category></item><item><title><![CDATA[shell命令：解压文件]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80811558</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80811558</guid><author>Pearson9</author><pubDate>Tue, 26 Jun 2018 10:26:59 +0800</pubDate><description><![CDATA[unzip filename.zip]]></description><category></category></item><item><title><![CDATA[shell命令：远程传输文件]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80810912</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80810912</guid><author>Pearson9</author><pubDate>Tue, 26 Jun 2018 09:53:43 +0800</pubDate><description><![CDATA[scp front_mt trade5@172.24.121.43:/home/trade5/front1/bin/]]></description><category></category></item><item><title><![CDATA[shell命令：查找文件]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80810768</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80810768</guid><author>Pearson9</author><pubDate>Tue, 26 Jun 2018 09:46:10 +0800</pubDate><description><![CDATA[find -name ssleay32.a]]></description><category></category></item><item><title><![CDATA[静态库和动态库的使用方法]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/80810569</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/80810569</guid><author>Pearson9</author><pubDate>Tue, 26 Jun 2018 09:35:42 +0800</pubDate><description><![CDATA[一. 静态库与动态库的区别与联系 
二. 静态库与动态库的创建 
三. 静态库与动态库的使用 
1. Windows平台 
静态库：.lib 
动态库：.dll 
以Visual Studio集成开发环境为例介绍静态库、动态库的使用 
2. Linux平台 
静态库：.a 
动态库：.so...]]></description><category></category></item><item><title><![CDATA[构造函数]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/53152458</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/53152458</guid><author>Pearson9</author><pubDate>Sun, 13 Nov 2016 21:36:45 +0800</pubDate><description><![CDATA[C++中const修饰符的作用 
&lt;1&gt; 常量 
&lt;2&gt; 常量引用指对常量的引用(reference to const) 
&lt;3&gt; 常量指针(const pointer)与指向常量的指针(pointer to const) 
&lt;4&gt; 常量成员函数
深入理解构造函数构造函数的定义：A constructor is a special kind of class member function that]]></description><category></category></item><item><title><![CDATA[减少临时对象，代码运行地再快些]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/53149276</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/53149276</guid><author>Pearson9</author><pubDate>Sun, 13 Nov 2016 15:28:46 +0800</pubDate><description><![CDATA[临时对象不可避免，但是可以减少。尽可能地减少临时对象的产生，就是尽可能地减少临时对象所带来的性能损耗。临时对象产生的主要情形： 
&lt;1&gt; 参数 
比如：函数的入口参数设置成list l, string name之类的 
避免方法：采用传常量引用或者指针取代传值。 
传值传递方式下，在调用过程中，会根据具体的实参来生成对应的拷贝，也就是临时对象，并传入函数以供使用。&lt;2&gt; 后缀  
在后缀重载实现中，]]></description><category></category></item><item><title><![CDATA[C++悄悄为类做的事]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/53148898</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/53148898</guid><author>Pearson9</author><pubDate>Sun, 13 Nov 2016 14:30:27 +0800</pubDate><description><![CDATA[//C++悄悄做的事有Big Three:
//一个或多个构造函数
//一个析构函数
//一个拷贝赋值运算符
class Empty{};
class Empty {
public:
    Empty();
    Empty(const Empty&amp;)
    ~Empty();
    Empty&amp; operator=(const Empty&amp; rhs);
};需要注意的是，编译器版本的拷贝构]]></description><category></category></item><item><title><![CDATA[多态是怎么实现的？]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/52986158</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/52986158</guid><author>Pearson9</author><pubDate>Mon, 31 Oct 2016 20:26:12 +0800</pubDate><description><![CDATA[VB语言支持类，但它不支持多态，所以VB是一个基于对象而非面向对象的语言。 
多态性：同一操作作用于不同的对象，可以有不同的解释，产生不同的执行结果。要理解多态，首先要了解程序的执行过程： 
1. 源程序通过编译生成可执行文件时，是放在外存中的，程序中的变量和函数只有逻辑地址。 
2. 程序运行时，程序从外存加载到内存，为程序中的变量和函数分配物理内存单元，使其具备物理地址。物理地址与变量民、函数名]]></description><category></category></item><item><title><![CDATA[时间戳]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/52770074</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/52770074</guid><author>Pearson9</author><pubDate>Sun, 09 Oct 2016 20:17:07 +0800</pubDate><description><![CDATA[以下代码运行环境均为Visual Studio 2015 Community. 
写这篇文章主要是受了一个笔试题目的刺激，题目要求写一个函数，其中一个功能是要求计算完成某一项工作所需的时间，精确到秒级，这倒不是什么难事，我在Linux环境下做过类似的事情，用的是gettimeofday()，可以精确到微秒呢，只是C++下跟Linux C一样吗？ 
带着这个疑问，我整理了一下，C++下关于时间的处理操]]></description><category></category></item><item><title><![CDATA[构造函数不能虚，多态基类析构函数应为虚]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/52724500</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/52724500</guid><author>Pearson9</author><pubDate>Sun, 02 Oct 2016 18:07:43 +0800</pubDate><description><![CDATA[由于派生类和基类之间的关系是一种IS-A的关系，所以通常用基类指针或引用指向派生类对象。 
为了构造对象，constructor必须要事先知道对象的确切类型，所以constructor不能为virtual.构造函数是用来干嘛的？对于基类（when base is instantiated）：
分配一块内存
调用构造函数
初始化列表初始化变量
执行构造函数函数体部分
控制权返回至调用者
对于派生类（w]]></description><category></category></item><item><title><![CDATA[malloc/free与new/delete]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/52724236</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/52724236</guid><author>Pearson9</author><pubDate>Sun, 02 Oct 2016 16:50:01 +0800</pubDate><description><![CDATA[先说C语言里面的malloc/free 
1. 使用malloc和free需要包含stdlib.h，这表明malloc和free是标准库函数； 
2. malloc的返回类型是void*，，需要进行强制转型 
3. malloc若失败了，返回的是NULL，所以才有了要在malloc之后判断其返回值是否为NULL的建议； 
4. malloc仅仅实现了内存分配与释放；再说说new/delete 
1.]]></description><category></category></item><item><title><![CDATA[重载（overload），重写（override），隐藏（hiding）]]></title><link>https://blog.youkuaiyun.com/Pearson9/article/details/52713767</link><guid>https://blog.youkuaiyun.com/Pearson9/article/details/52713767</guid><author>Pearson9</author><pubDate>Fri, 30 Sep 2016 21:41:11 +0800</pubDate><description><![CDATA[重载overload：同一个作用域内的多个函数名字相同，但签名不同，就会发生重载。 
签名（signature）：由parameter的number和type构成 
编译器compiler在一个作用域的可用候选函数中选择其形参parameter与函数调用中的实参argument有着最佳匹配的哪一个函数，此即重载！ 
重写override：派生类函数和基类虚函数具有相同的函数名和签名时，就会发生重写]]></description><category></category></item></channel></rss>