<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cbmj11的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cbmj11</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cbmj11]]></copyright><item><title><![CDATA[研发测试那点事]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/134540129</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/134540129</guid><author>cbmj11</author><pubDate>Tue, 21 Nov 2023 20:18:50 +0800</pubDate><description><![CDATA[测试]]></description><category></category></item><item><title><![CDATA[Thread.Yeild / Thread.Sleep(0) / Thread.Sleep(1)优缺点对比]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/128318280</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/128318280</guid><author>cbmj11</author><pubDate>Wed, 14 Dec 2022 16:27:02 +0800</pubDate><description><![CDATA[这段时间就让给另一个就绪的线程。这段时间就让给另一个就绪的线程。告诉操作系统自己要休息 n 毫秒，告诉操作系统自己要休息 n 毫秒，]]></description><category></category></item><item><title><![CDATA[unordered_map map 自定义key]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/127258617</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/127258617</guid><author>cbmj11</author><pubDate>Tue, 11 Oct 2022 10:28:25 +0800</pubDate><description><![CDATA[std::map]]></description><category></category></item><item><title><![CDATA[C语言字节对齐]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/124110800</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/124110800</guid><author>cbmj11</author><pubDate>Mon, 11 Apr 2022 22:13:20 +0800</pubDate><description><![CDATA[字节对齐概念
在访问特定类型变量的时候经常在特定的内存地址访问，这就需要各种类型数据按照一定的规则在空间上排列，而不是顺序的一个接一个的排放，这就是对齐


字节对齐后字段的偏移大小


代码优化（无实际作用，提醒）
3.1 插入reserved成员， 提高寻址效率 空间换时间
struct A{undefined
char a;
char reserved[3];//使用空间换时间
int b;
}


字节对齐的原因
字节对齐的作用不仅是便于cpu快速访问，同时合理的利用字节对齐可以有效地节省存储空..]]></description><category></category></item><item><title><![CDATA[select，poll，epoll]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/122580280</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/122580280</guid><author>cbmj11</author><pubDate>Mon, 11 Apr 2022 21:34:09 +0800</pubDate><description><![CDATA[网络收包流程]]></description><category></category></item><item><title><![CDATA[快速排序算法]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/123976665</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/123976665</guid><author>cbmj11</author><pubDate>Tue, 05 Apr 2022 20:38:40 +0800</pubDate><description><![CDATA[算法思想：

给定一个基准值1， 比基准值1小的都放右边， 比基准值大的都放左边
在基准值1的左边和右边分别再选择一个基准值进行排序
知道全部小区域都排序

典型的分治法
Paritition1(int A[], int low, int high) {
int pivot = A[low];
while (low &lt; high) {
while (low &lt; high &amp;&amp; A[high] &gt;= pivot) {
–high;
}
A[low] = A[high];
wh]]></description><category></category></item><item><title><![CDATA[链表-链表反转]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/123295182</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/123295182</guid><author>cbmj11</author><pubDate>Sat, 05 Mar 2022 16:26:48 +0800</pubDate><description><![CDATA[头插入法：
开辟一个新链表Presult头为空，通过指针pfor遍历给定的链表， 每个node都插入到Presult头部，
注意：
1.1. 每次插入node时， Presult-&gt;next都会更改， 需要先保存，保证给定链表不断
1.2. 在 Presult 头部插入后，Pfor要改为之前保存的tmp；

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if((head == NULL) ||.]]></description><category></category></item><item><title><![CDATA[mac HomeBrew]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/122580339</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/122580339</guid><author>cbmj11</author><pubDate>Wed, 19 Jan 2022 14:28:46 +0800</pubDate><description><![CDATA[HomeBrew简介
我们在使用Linux系统的时候，都很喜欢 (Debian/Ubuntu)系列的apt包管理系统和(Redhat/Fedora)系列的yum包管理系统。Mac OS X系统下面有apple的官方Mac App Store。但是好多软件是找不到的，所以我们也向在苹果下找到一款比较方便的包管理系统，就是Homebrew。
什么是Homebrew呢？Homebrew is the easiest and most flexible way to install the UNIX tools A]]></description><category></category></item><item><title><![CDATA[C++虚函数准则]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/122370967</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/122370967</guid><author>cbmj11</author><pubDate>Fri, 07 Jan 2022 19:35:55 +0800</pubDate><description><![CDATA[虚函数表是一个 函数指针数组 的 指针
单继承只有一个虚函数表
多重继承场景下， 有几个父类就有几个虚函数表
多重继承场景下， 虚函数表顺序按照继承顺序， 如果中间没有则放到最后，优先有虚函数的父类

参考：https://blog.twofei.com/496/#layout_10

...]]></description><category></category></item><item><title><![CDATA[单例模式懒汉模式，饿汉模式]]></title><link>https://blog.youkuaiyun.com/cbmj11/article/details/122289030</link><guid>https://blog.youkuaiyun.com/cbmj11/article/details/122289030</guid><author>cbmj11</author><pubDate>Mon, 03 Jan 2022 16:42:34 +0800</pubDate><description><![CDATA[饿汉模式： 类加载的时候就已经实例化，并且创建单例对象，以后只管用即可。  天然多线程安全， 不需要时，也要占用资源（static 不占内存）
class Sigleton{
private:
Sigleton(){ std::cout &lt;&lt; “Sigleton construct” &lt;&lt; std::endl;}

public:
Sigleton(const Sigleton&amp;) = delete;
Sigleton&amp; operator=(const Siglet.]]></description><category></category></item></channel></rss>