自定义博客皮肤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)
  • 资源 (10)
  • 收藏
  • 关注

转载 程序性能优化

因此,在追求高效代码的过程中,我们需要不断追求卓越的设计和深刻的理解,以确保我们的程序不仅运行高效,而且具有良好的可维护性和可扩展性。正如哲学家亨利·戴维·梭罗在《瓦尔登湖》中所说:“细节是造成美丽的源泉”,在软件开发的世界里,对缓存的理解和优化,就是那些决定程序性能优雅与否的细节。在编程世界中,数据结构的设计和选择对程序的性能有着深远的影响。正如计算机科学家和心理学家Donald Knuth所指出,“在编程中,我们不能忽视数据结构的重要性,因为数据结构不仅是计算机的骨架,也是我们思考问题的方式。

2024-04-24 18:34:17 4

原创 指针地址对齐

【代码】指针地址对齐。

2024-04-24 18:17:24 103

转载 简单内存池实现

也就是说,我把elem这块内存的内容删除了,然后把这块地址分成若干4字节(32位系统下)的连续块,把pHead指向的第一个空闲地址块的地址放倒这块抵制块的第一个4字节中保存,然后pHead = elem;若pHead不指向NULL,则说明已经有申请好的内存(可能是某个对象析构之后,留下来,没有返还给系统的),取到pHead指向的第一块空闲内存块的地址,然后然pHead指向这块空闲地址质指向的空闲地址块(即 pHead = *(reinterpret_cast<T**>(pHead));但是其实质是相同的。

2024-04-15 17:53:41 4

原创 std::is_invocable是C++17

具体来说,is_invocable模板接受一个函数类型和一组参数类型作为模板参数,并提供一个名为value的静态成员常量,用于表示给定的函数类型是否可以被调用。如果value为true,则表示给定的函数类型可以被调用,否则表示不可调用。std::is_invocable是C++17中引入的一个类型特性模板,用于判断给定的函数类型是否可以被调用。

2024-03-07 18:53:18 346 1

原创 数组“之”字打印,状态机做法

状态机的转换主要用于处理下一步的走法,这一个题目的复杂点只能是逐步走,不能上来就确定8位置是怎么走,没有动态规划的特征。到6点newState = down, column=0, 无法--,只能向下走,column不变,row++;到1点 nextState = leftdown, 左下方向,row++,column--;比如0是起点:下一步向右,nextState=Right, column++;按照这个规率找到各个状态机之间的切换原理,就可以解决这个题目,

2024-02-03 15:36:13 319 1

原创 之字打印c++

/ 最后一列横坐标加1。// 最后一列纵坐标加1。int x1 = 0;//(x1,y1)横向走的坐标 (x2,y2)纵向走的坐标。

2024-02-02 02:07:48 357

原创 cmake 之 ExternalProject_Add 引入本地文件

CONFIGURE_COMMAND:执行cmake文件的指令,类似平常的"cmake …INSTALL_COMMAND:等效于手动输入"make install"BINARY_DIR:输出目前的目录,也就是平常使用的build目录。DOWNLOAD_DIR:存放下载文件的路径。SOURCE_DIR:存入编译源文件的路径。URL:代码外部依赖的路径。

2023-12-02 15:56:23 475

原创 epoll demo

如果返回 EAGAIN,把 socket 加入 epoll,在 epoll 的驱动下写数据,全部数据发送完毕后,再出 epoll。这种方式的缺点是,即使发送很少的数据,也要把 socket 加入 epoll,写完后在移出 epoll,有一定操作代价。使用Linux epoll模型,水平触发模式;epoll 只会通知一次,accept 只处理一个连接,导致 TCP 就绪队列中剩下的连接都得不到处理。考虑这种情况:多个连接同时到达,服务器的 TCP 就绪队列瞬间积累多个就绪连接,由于是边缘触发模式,

2023-07-05 09:16:34 99 1

原创 IP头中TTL字段的作用

3,TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。4,如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。1,TTL的作用是限制IP数据包在计算机网络中的存在的时间。2, 虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。

2023-05-12 14:40:04 667

原创 共享内存的pub与sub

共享内存 IPC shared memory pub sub

2023-03-28 09:22:49 143

原创 获取线程的CPU运行时间

cpu时间获取

2023-02-24 10:50:30 286

转载 动态库之间单例模式出现多个实例(Linux)

单例 动态库

2022-09-09 10:38:39 497

原创 C++中成员函数 赋值给普通函数

c++ 成员函数 this 指针 传递给普通函数执行

2022-04-15 00:06:48 802

原创 单向链表的N*log(N)的原址排序

#include <cstdint>#include <algorithm>#include <unistd.h>#include <stdio.h>struct node{ int value; node *next; node(int v) : value(v), next(nullptr){}};node *Partion(node *begin, node *end){ if (begin == n.

2022-02-28 09:10:03 200

原创 c++11 函数的引用限定符(reference qualifiers)

在C++11的新特性中,关于左值/右值的对象调用函数,有了一些新的变化。如下面的代码:class Widget {public: void doWork() & //只有*this为左值的时候才能被调用 { std::cout << "left value call" << std::endl; } void doWork() && //只有*this为右值的时候才能被调用 { std::

2022-02-11 17:25:13 547

原创 LRU 缓存的实现

LRU缓存的实现有以下几个着重点:1.缓存大小2.被用的对象排到头3.查询效率的问题。最久未使用的对象被移除,即是在Put新对象时,size > capacity时,需要删除list尾部的数据,同时删除cache_中,并且把Put的对象放在list的头部为了提高查询效率用map存放一个key值,只有当find的时候,效率高一点。下面是简单的实现代码:#pragma once#include <iostream>#include <map&g

2021-11-04 19:57:41 357

原创 关于go语言中range值拷贝理解

package mainimport ( "fmt")func test_range_val_copy() { a := []int{1, 2, 3, 4} // 下面使用的v是一个临时变量 // 相当于 var v int // 这时临时变理v的地址是固定下来了,每次v的值在变,但是&v的地址是不变的 // 最后&v会...

2020-03-15 11:41:04 1141

原创 linux内核copy_process

/* * This creates a new process as a copy of the old one, * but does not actually start it yet. * * It copies the registers, and all the appropriate * parts of the process environment (as per t...

2020-03-10 21:55:53 375

原创 linux内核中如何通过pid得到 struct pid

struct pid *find_pid_ns(int nr, struct pid_namespace *ns)用于从namespace 下的pid找到对应的pid结构体,位置:/linux/kernel/pid.c声明:struct pid * find_pid_ns(int nr struct pid_namespace * ns );功能:此函数用于获取进程描述符,此进程应该满...

2020-03-10 21:10:13 1135

转载 Poco数据库操作用户手册(一)

一个简单的例子POCO Data提供了一个抽象的数据层,以供用户方便的与不同的数据库交互,以下是一个完整的实例:[code]#include "Poco/Data/Common.h"#include "Poco/Data/SQLite/Connector.h"#include using namespace Poco::Data;vo

2015-09-11 21:16:53 1311

转载 POCO: 类型和字节序

固定长度的整型,字节序转换,以及Any/DynamicAny类型固定长度整型Poco定义了一些固定长度的整型:#include "Poco/Types.h"(Poco/Foundation.h自动包含了以上文件)Poco::Int8, Poco::Int16, Poco::Int32, Poco::Int64Poco::UInt8, Poco::

2015-09-11 21:11:25 660

转载 Poco数据库操作用户手册(二)

记录集(RecordSet)Poco::Data::RecordSet类提供了一个通用的方法与数据库的表进行交互,你可以使用RecordSet进行:a. 遍历数据表中所有的行与列b. 获取各列的元信息,比如名称,类型,长度等.使用RecordSet,需要先创建一个Statement并执行他,从Statement创建一个RecordSet,如下:Stateme

2015-09-11 21:09:16 601

转载 Poco数据库操作用户手册(一)

一个简单的例子POCO Data提供了一个抽象的数据层,以供用户方便的与不同的数据库交互,以下是一个完整的实例:[code]#include "Poco/Data/Common.h"#include "Poco/Data/SQLite/Connector.h"#include using namespace Poco::Data;vo

2015-09-11 21:06:28 516

vc显示行号文件及使用说明

VC显示行号插件说明 --------------------------------------- 1. 如果你的VC安装在C盘,请拷贝文件VC6LineNumberAddin.dll到如下目录: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 2. 注册 双击VC6LineNumberAddin.reg进行注册。 3. 启用 打开vc6,菜单栏:Tools -> customize -> Add-ins and Macro Files 选中VC6LineNumber Developer Studio Add-in hi.baidu.com/codefish 2008-12-5

2011-01-03

神经计算中若干问题的研究

神经计算中若干问题的研究 南京优秀毕业论文

2010-12-19

数据结构树与二叉树汇总

数据结构树与二叉树汇总,是学习数据结构树的算法,很好的资料

2010-11-14

最新的腾讯面试题,一起分享

最新的腾讯面试题,给大家一起分享 腾讯笔试题:两个整数集合A和B,求其交集 两个整数集合A和B,求其交集。 1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。 2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。 通过更改map中的值,避免了将同样的值输出两次。 腾讯笔试题:找出1到10w中没有出现的两个数字 有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数? 申请10w个bit的空间,每个bit代表一个数字是否出现过。 开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。 然后依次读入已经打乱循序的数字,并将对应的bit设为1。

2010-09-29

JQuery经典实例

几十个超经典的JQuery实例,希望对JQuery的人员有用,待来分享

2010-05-20

Install shield api中文版

制作安装文件包的一个很好的软件工具 如何在Install Shield制作的安装程序中检测到某个程序已经运行——一般就是要安装的程序自己?

2010-05-18

servlet 2.5 .jar

servlet jar,为大家学习提供便…………

2010-05-14

Spring-Reference_zh_CN.chm

一块学习,不容 错过 Spring-Reference_zh_CN

2009-03-19

java连接数据库JDBC学习

java连接数据库JDBC学习,源码,教你一步步学习,

2009-01-05

jspshop网上购物系统源码

jsp版本的网上购物源码,供大家学习,有知道大家一起分享,共同学习

2008-12-15

空空如也

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

TA关注的人

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