自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 C++实现内存池基本思路

【代码】C++实现内存池基本思路。

2024-12-02 23:12:14 119

原创 c++实现计时器Timer

【代码】c++实现计时器Timer。

2024-11-06 11:30:01 330

原创 C++多线程同步和加锁的方式

推荐使用std::lock_guard或std::unique_lock等封装类,他们可以在构造时自动加锁,在析构式自动解锁,从而简化代码并减少死锁风险。条件变量用于线程间的等待和唤醒操作,通常与互斥锁一起使用,C++标准库提供了std::condition_variable和std::condition_variable_any类来实现条件变量。递归锁是互斥锁的一种特殊形式,允许同一线程多次获得锁而不会导致死锁,C++标准提供了std::recursive_mutex类来实现递归锁。

2024-10-23 14:43:45 522

原创 什么是虚函数和纯虚函数?以及区别

被virtual关键字修饰的成员函数。在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。其用法格式为:virtual 函数返回类型 函数名(参数表){函数体}。特性:虚函数实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。实现:虚函数既有定义,也有实现的代码。类对象:包含虚函数的类可以定义其对象。

2024-10-23 14:39:14 664

原创 线程同步方式-互斥锁与信号量的对比

互斥锁主要用于单个资源的互斥访问,即“锁住某一资源”的概念。信号量则更适用于多个同类资源的同步访问,其计数器可以表示可用资源的数量。● 操作方式:互斥锁的加锁和解锁必须由同一线程分别对应使用。信号量则允许一个线程释放信号量,另一个线程获得信号量。● 灵活性:信号量相对于互斥锁具有更高灵活性,因为它可控制多个资源的访问,而互斥锁只能控制单个资源的访问。● 系统开销:互斥锁和信号量都需要消耗一定的系统资源,但信号量由于引入了计数器机制,其开销可能相对更大一些。

2024-10-23 14:36:56 310

原创 智能指针unique_ptr与auto_ptr的区别

当一个auto_ptr被复制到另一个auto_ptr时,原来的auto_ptr会失去对内存的所有权,而新的auto_ptr将获得所有权。当所有权从一个unique_ptr转移到另一个unique_ptr时,原来的unique_ptr会被置为nullptr,从而避免了内存泄漏和悬空指针的问题。而auto_ptr的复制操作实际上是所有权转移,这违反了STL容器的要求。● auto_ptr:在异常发生时,如果auto_ptr所管理的资源没有被正确释放,可能会导致资源泄漏。

2024-10-23 14:34:17 252

原创 C++实现stack功能

【代码】C++实现stack功能。

2024-10-23 14:31:49 459

原创 三次握手-四次挥手

TCP/IP协议中的三次握手和四次挥手是TCP(传输控制协议)建立连接和终止连接的重要过程。

2024-10-23 14:30:00 223

原创 TCP/IP详解

TCP/IP协议栈通过各层之间的协同工作,确保了数据在网络中的可靠传输。每一层都使用不同的协议来实现特定的任务,共同构成了现代计算机网络通信的基础。了解TCP/IP协议栈的工作原理对于深入理解计算机网络的工作过程具有重要意义。

2024-10-23 14:27:47 646

原创 k8s集群部署

k8s集群部署该文档实现了一个master两个node。

2023-10-16 17:28:04 112

原创 新装的Centos7虚拟机没有网络怎么办?

2、 找到 /etc/sysconfig/network-scripts/ifcfg-ens33 该文件使用vi进行编辑;systemctl restart network 或者 service network restart。1、Vmware 右击虚拟机 -> 网络适配器 -> 选择桥接模式;3、把 ONBOOT的值改为yes,保存退出;4、重启网络服务,完成;

2023-10-16 17:04:48 496

原创 ascii编码与utf8互转、ascii编码与unicode互转、utf8与unicode互转(C语言、c++)

【代码】ascii编码与utf8互转、ascii编码与unicode互转、utf8与unicode互转(C语言、c++)

2023-10-12 15:03:34 2493

原创 判断文件是否存在(C语言、c++)

【代码】判断文件是否存在(C语言、c++)

2023-10-12 14:49:46 210

原创 获取某个路径下所有的文件名(C语言、C++)

【代码】获取某个路径下所有的文件名(C语言、C++)

2023-10-12 14:47:27 746

原创 分割字符串路径,获取路径和文件名(C语言、C++)

【代码】分割字符串路径,获取路径和文件名(C语言、C++)

2023-10-12 14:39:10 451

原创 获取时间戳、时间字符串转时间戳(C语言、C++)

如下给出一个Windows和linux平台通用的时间字符串转时间戳的接口

2023-10-12 14:34:16 674

原创 如何编写makefile?

【代码】如何编写makefile?

2023-06-28 17:02:08 95

原创 vs2013调试JNI接口

命令参数:java -DFile.encoding=UTF8 -classpath "class文件路径;" class文件名称;注意:main.java中需要编写调用接口代码;命令:java的可执行程序全路径;生成Main.class文件;

2023-06-28 15:40:44 395 1

原创 linux下SO文件增加实时获取动态库加载路径属性

linux下使用makefile编译so文件增加实时获取动态库加载路径属性

2023-06-21 14:49:35 197

原创 CreateFile用法详解

CreateFile可以用来打开很多设备,例如:文件、目录、串口、并口、邮件槽、命名管道、逻辑磁盘驱动器、物理磁盘驱动器等。

2023-06-21 14:36:02 1081

原创 对称加密与非对称加密的含义及区别

对称加密与非对称加密的含义及区别

2022-09-05 16:07:40 2034

原创 linux-Ubuntu常用命令

tar -zvxf 文件名 /目录 解压 tar -cvzf(起个包名) /目录 打包cd 切换目录ls 查看当前文件夹下的文件名或目录名 ls -l 查看权限 r (read 可读,) w (write写入) x(executable 可执行)ll 查看当前文件夹下的文件的详细信息 (ll不是一个基本命令,ls -l)chmod修改权限(777可读可写可执行) (r-w-x 读-写-可执行 4-2-1)ps -ef | grep 程序名 ..

2021-06-25 11:37:59 139

原创 Ubuntu查看、开启、关闭防火墙命令

Ubuntu查看防火墙状态:sudo ufw status—关闭sudo ufw disable—开启sudo ufw enable

2021-06-25 11:30:34 617

原创 strcat 、strcpy、strcmp常用的字符串处理函数

strcat 、strcpy、strcmp常用的字符串处理函数:1. strcat:stract是string catenate的缩写,此函数有两个字符数组参数,函数的作用是将第二个字符数组中的字符串连接到第一个字符数组的字符串后面。例如: char str01[10] ="Hello "; char str02[10] = "World"; cout << strcat(str01,str02);结果为: Hello World注意:第二个参数为字符型常数组,应为:strc

2021-02-18 10:59:17 1662

原创 Ubuntu中配置jdk环境变量

Ubuntu中配置jdk环境变量:一般jdk都存放在 /usr/local/java 文件夹当中:创建目录:cd /usr/local ##这个是打开目录mkdir java ##创建java文件夹然后把下载好的jdk文件,一般结尾是tar.gz,或者tar,或者zip,都可以,不过使用解压命令的时候要注意。解压完毕之后,修改一个环境文件:vim /etc/environment ##打开这个这个文件##打开之后把光标移动到文件的末尾,进行添加下面的命令:e

2021-02-05 11:34:39 7114 2

原创 简谈C语言中的指针

简谈C语言中的指针:1.指针是什么?当程序中定义了一个变量,那么在对程序进行编译的时候,系统会给这个变量分配内存单元;内存区中的每一个字节都有一个编号,这就是“地址”;通过这个地址就可以找到定义的变量,也就是说地址指向该变量;那么将该地址就可以形象化的称为“指针”。2.定义指针变量类型名 * 指针变量名例如:int * pointer_1;3.编写程序#include<stdio.h>int main() { int a=10,b=20; //初始化变量a,b

2021-01-29 13:53:56 131 2

原创 Ubuntu下使用shell脚本实现自动输入sudo密码

Ubuntu下使用shell脚本实现自动输入sudu密码#!/bin/bash sudo -S service talend -runtime* status<<EOF你的密码EOF使用以上命令就可以实现使用sudo时,自动输入密码的效果!小编刚刚接触这方面的知识,如果有不准确的地方,欢迎批评指正!...

2021-01-28 15:52:58 2538 4

k8s集群部署文档说明

k8s集群部署文档说明

2023-10-16

空空如也

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

TA关注的人

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