工具专栏
文章平均质量分 73
qq_18145605
这个作者很懒,什么都没留下…
展开
-
常用shell命令
目录netstatnetstat用途:在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询参数说明 -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。 -n : 不进行DNS轮询,显示IP(可以加速操作)原创 2021-07-22 17:29:26 · 2253 阅读 · 1 评论 -
Linux同一客户端多个git账号的配置
多个git账号配置1. 用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。2. 配置~/.ssh/config文件,以我自己的机器为例3. 执行ssh-agent让ssh识别新的私钥。4. 在git网页上添加id_rsa_gitee.pub的内容5. 使用命令进行测试连接在进行下列步骤前需要先查看git全局配置git config --list并清除共有的name, email, password的配置git config --global --unset原创 2022-05-09 13:30:57 · 3225 阅读 · 0 评论 -
ssh配置vscode实现一台电脑连接多台服务器进行开发
这里写目录标题背景操作步骤1. 安装 SSH2. 安装插件3. 配置SSH密钥1、使用如下命令,在本机生成 SSH 公钥文件。如果已经生成,则可直接使用,跳到步骤二。2、一般生成的密钥文件,路径为:C:\Users\user\.ssh ,找到公钥文件 id_rsa.pub ,复制到远程服务器 根目录 的 .ssh 文件夹中。3、生成 authorized_keys 文件。这样后续在使用 Remote 插件时,不需要密码,就可以直接登录到服务器。4、在 cmd 窗口,再次尝试如下,可以看到无需密码,直接连上服原创 2021-12-23 14:30:31 · 11108 阅读 · 1 评论 -
环形缓存区ringbuffer
目录概念原理代码及测试案列概念环形缓冲器(ringr buffer),也称作圆形队列(circular queue),循环缓冲区(cyclic buffer),圆形缓冲区(circula buffer),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。原理设计一种结构,包含一个标识读位置、写位置、已存储数据量、最大存储空间、内存空间写入数据时,判断内存中是否有足够的空间用来写入,没有则写入数据失败,有则写入数据并且移动写标识,并处理已存储数据量变量读取数据时,判断内存中原创 2021-08-13 18:22:04 · 293 阅读 · 0 评论 -
线程池原理浅析、java线程池
目录线程池概念线程池原理线程池的工作流程线程池的C实现java线程池线程池的生命周期线程池参数解析线程池的工作流线程池的拒绝策略线程池概念线程池(thread pool)是一种线程使用模式。线程过多或者频繁创建和销毁线程会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着管理器分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价,以及保证了线程的可复用性。线程池不仅能够保证内核的充分利用,还能防止过分调度。线程池原理预先创建预定数量的线程,将多个任务加入到任务原创 2021-08-06 09:22:27 · 95 阅读 · 0 评论 -
nginx线程池浅析
目录nginx线程池nginx线程池简化流程数据结构分析任务队列线程池代码分析入口函数ngx_thread_pool_init_worker线程池初始化ngx_thread_pool_init线程运行函数主线程post任务通知主线程函数ngx_thread_pool_handler线程池结束函数销毁线程池thread_pool线程池的使用示例nginx线程池源代码在ngx_thread_pool.c中nginx线程池简化流程A线程准备任务—>post任务—>线程池唤醒一个线程处理–&原创 2021-08-05 15:04:25 · 1706 阅读 · 1 评论 -
redis专栏
一. 环境介绍redis6.0 + vscodecentos 7 + vscode(wsl插件)二.编译安装 redis$ cd redis-6.0.3$ makemake 之后就编译完成了。有时间还可以 make test$ sudo make install默认安装到/usr/local/bin/目录,对应的命令redis-server 是服务器程序redis-cli 是客户端程序查看版本命令:$ redis-server -v显示:Redis server v=6.0.3 s原创 2021-08-05 10:13:13 · 204 阅读 · 0 评论 -
CMake专栏
基本语法规则变量使⽤${}⽅式取值,但是在IF 控制语句中是直接使⽤变量名指令(参数1 参数 2…)参数使⽤括弧括起,参数之间使⽤空格或分号分开。指令是⼤⼩写⽆关的,参数和变量是⼤⼩写相关的。但,推荐你全部使⽤⼤写指令。指令PROJECTPROJECT 指令的语法是: PROJECT(projectname [CXX] [C] [Java])你可以⽤这个指令定义⼯程名称,并可指定⼯程⽀持的语⾔,⽀持的语⾔列表是可以忽略的,默认情况表 示⽀持所有语⾔。这个指令隐式的定义了两个 cma原创 2021-08-05 09:53:58 · 93 阅读 · 0 评论 -
gdb调试--基础
目录gdb1. 文档2. 作用3. 调试GDB的cpp源代码4. 调用GDB的方式1. **直接使用 gdb 指令启动 GDB 调试器**:2. **调试尚未执行的程序**:gdb program3. **调试正在执行的程序**4. **调试执行异常崩溃的程序**GDB调试器启动可用参数常用命令断点break命令tbreak命令rbreak命令watch/rwatch/awatch命令查看当前建立的观察点的数量注意watch命令的实现原理catch命令注意condition命令ignore命令禁用和删除断点原创 2021-07-29 16:26:35 · 296 阅读 · 0 评论 -
GDB 高级调试-多线程、后台调试、多进程、反向调试
目录调试多线程GDB调试多线程程序常用命令查看所有线程调整当前线程为特定线程设置断点设置线程锁GDB non-stop 模式后台执行调试命令暂停后台线程执行多进程调试GDB多进程调试常用命令GDB attach命令调试进程显式指定要调试的进程detach-on-fork选项反向调试GDB反向调试的常用命令handle命令:信号处理查看栈信息frame命令选定要查看的栈帧查看当前栈帧中存储的信息backtrace命令调试多线程GDB调试多线程程序常用命令调试命令功 能info thr原创 2021-07-29 16:26:21 · 4243 阅读 · 2 评论 -
windows - MinGW安装包下载及下载失败解决
MinGM安装过程 一、下载 MinGM官网下载地址: http://www.mingw.org/. 第一步: 第二步: 第三步: 下载到电脑,如果页面出现下载弹框,直接下载;若没有,则点击图中所示链接下载。 第四步: 直接安装,打开界面后选择以下文件进...转载 2021-06-01 11:12:12 · 5391 阅读 · 2 评论 -
使用log4cplus时遇到的链接错误:无法解析的外部符号 “public: static class log4cplus::Logger __cdecl log4cplus::Logger::get
#include "stdafx.h"#include <log4cplus/logger.h>#include <log4cplus/loggingmacros.h>#include <log4cplus/configurator.h>#include <log4cplus/fileappender.h> #include ...原创 2021-05-17 23:48:59 · 835 阅读 · 0 评论 -
P2P框架学习笔记
P2P(peer-to-peer)点对点的意思作用:去中心化,网络穿透P2P解决的是客户端到客户端的通讯NAT(Network Address Transform)网络地址转换局域网内部到达公网服务器的流程是怎样的?为什么要有NAT?ipv4地址不足讲p2p为什么要讲到NAT?因为ipv4地址不足,需要引入网络穿透,需要穿透网关,也被称为打洞。p2p中为什么还要启动服务器?帮助找到对方,找到对方的网关ip地址与端口为什么要用udp?tcp可不可以?因为udp容易实现tcp也可以,原创 2021-01-05 17:55:00 · 411 阅读 · 0 评论 -
mysql_redis连接池
连接池和线程池的区别?连接池是被动使用,请求和回收都是用池去管理(对象池也是被动使用)线程池是主动使用,线程是主动不断地从队列取任务执行连接池一般是结合线程池一起使用mysql连接池具有重连机制mysql_pingmysql_options(m_mysql, MYSQL_OPT_RECONNECT, &reconnect); // 配合mysql_ping实现自动重连怎么更好的设计连接池?(1)重连次数统计(2)总连接次数统计(3)峰值连接次数,比时间间隔1 5 15秒统计一原创 2021-01-05 17:54:11 · 112 阅读 · 0 评论 -
用户态协议栈
章节用户态协议栈dpdk/netmapc10M的问题,千万并发客户端发送数据到服务器,服务器接收数据的步骤:1. 从网卡copy到内核协议栈2. 从内核协议栈copy到应用程序提升系统的性能,降低瓶颈,我们可以设计用户态协议栈,实现零拷贝(直接从网卡copy到应用程序,减少了一次拷贝操作)为了使网卡的数据,直接到达我们应用程序的方案:mmappf_ring, libcap, raw_socket.既然原生的socket可以实现抓取到链路层的数据,是因为网卡抓取到链路层的数据不代原创 2021-01-05 17:53:36 · 1337 阅读 · 0 评论 -
协程学习笔记
问题:libco, ntyco,libgo,boost协程协程暂只在x86上有用协程是什么?轻量级的调度运行单位协程用在哪里?客户端:服务器:协程用来解决什么问题?同步:请求数据与响应数据,在同一个流程中(优点:逻辑流程清晰,直观)异步:请求数据与响应数据,不在同一个流程中(性能比同步快,当时会出现多个线程抢占资源的问题)同步与异步是用来形容两者之间的关系协程有异步的性能,同步的编程方式协程是如何拥有异步的性能,同步的编程方式?如何把同步操作改为异步?使用king原创 2020-12-21 17:37:41 · 92 阅读 · 0 评论 -
rpc应用与原理学习笔记
概念RPC(remote process call)远程过程调用BRPC支持的协议更多,也支持grpcBRPC 百度开源, 它的资料比较消息无锁队列、cpu cache, (协程M :N(pthread))特点同步常见的负载均衡机制轮询随机哈希REST与rpc的区别1.rest大部分是对外提供公共服务,rpc是内部服务器之间...原创 2020-12-21 17:06:34 · 743 阅读 · 2 评论 -
windows文件夹共享
请查看:https://blog.csdn.net/qq_28189423/article/details/82585735转载 2020-12-12 13:58:27 · 57 阅读 · 0 评论 -
ubuntu虚拟机上配置samba
环境1.系统: Ubuntu 16.04.6 LTS步骤安装:sudo apt-get install samba修改配置文件 /etc/samba/smb.conf添加用户登录密码sudo smbpasswd -a root注意root用户必须是ubuntu上存在的用户,不然操作会失败重启samba/etc/init.d/samba restart在windows上配置共享目录1.右键我的电脑2. 在文件夹中输入ip地址和共享的文件夹,点击完成,输入用户名和密码3. 最原创 2020-10-30 16:54:50 · 246 阅读 · 0 评论 -
valgrind 内存检查工具
valgrind1. 编译安装wget https://fossies.org/linux/misc/valgrind-3.15.0.tar.bz2tar -jxvf valgrind-3.15.0.tar.bz2cd valgrind-3.15.0./configuremakesudo make install2. valgrind包含的工具Memcheck。这是 valgrind 应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内原创 2020-09-30 11:09:38 · 158 阅读 · 0 评论 -
make专栏
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-09-23 17:30:38 · 101 阅读 · 0 评论 -
阿里云Centos 7上配置samba 4总结
安装和启动查看是否安装:rpm -qa | grep samba查看配置文件的位置:rpm -qc samba samba-common查看:rpm -qi samba安装:yum -y install samba查看防火墙状态:systemctl status firewalld使用的端口:137、138、139、445查看samba端口:netstat -tlnp |grep smb开放防火墙端口:firewall-cmd --zone=public --add-port=137/udp原创 2020-08-01 11:42:01 · 366 阅读 · 0 评论