自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Pthread线程同步总结——APUE学习笔记

扩展一下,如果本来不止AB两个线程在阻塞,而是多个线程在阻塞,那么因为使用if,所有的线程可能都被唤醒,接着不管条件x是否满足,全都往下执行,则发生了“惊群效应”。首次判断时x==1,此时进入if块内,执行wait函数,当前线程阻塞。以上,不管是为了防止虚假唤醒或是惊群效应,本质都是由于线程被唤醒是一回事、条件满足是另一回事,被唤醒不代表条件一定被满足,因此唤醒后需要再检查一遍条件,只有使用while才能在循环中再判断一次,而if不能,所以pthread_cond_wait函数常与while搭配使用。

2023-06-29 18:25:02 142 1

原创 gcc/g++相关用法罗列

gcc基本用法

2023-02-09 22:52:26 120

原创 C语言:静态全局变量为什么能在外部访问?

static全局变量不可在外部访问

2023-01-12 13:53:20 849

原创 JSON对象转为Java类对象

JSON对象转为Java类对象

2022-09-16 16:05:24 23564 2

原创 char[] / char* / string(C++) 相关关系

char[] / char* / string(C++) 相关关系

2022-08-10 18:11:43 290

原创 迭代(非递归)遍历二叉树

详解在代码注释,后序遍历比较复杂,主要因为在将某一点加入结果集时,需要判定它的左右子节点是否被访问过(已加入结果集),因此将访问过的节点值设为999,以便压栈时检查。// 迭代先序vector<int> preorderTraversal(TreeNode* root) { vector<int> ret; stack<TreeNode*> stk; // 辅助栈 while (root || !stk.empty()) {

2022-03-24 10:06:09 608

原创 C++智能指针简明教程

智能指针基本知识点

2022-01-20 11:47:03 450

原创 mysql索引

mysql

2022-01-10 09:14:38 130

原创 gdb学习笔记

gdb使用

2021-12-26 16:55:55 163

原创 gcc、编译、生成静态库、可执行文件

库文件、头文件、源文件 结构安排

2021-12-26 00:52:14 1280

原创 配置:.vimrc

.vimrc最基础配置,包含括号补全、括号TAB键跳出,标尺,行号显示等功能

2021-12-12 20:15:44 234

原创 Linux IO多路复用(多路转接)

IO多路复用(多路转接)在没有IO多路复用技术前,进程在同一时间只能监控一个IO状态(一个文件描述符的状态),例如A和B两个文件在操作,定的顺序是A前B后,那么在A阻塞过程中、B在后面也是不能被操作的,这样会造成资源浪费、响应缓慢。IO多路复用:同时监控多个IO文件描述符状态,如果没有准备好的描述符、则进程始终处于睡眠状态;如果有准备好的描述符、则告诉进程,进程开始处理就绪的描述符。///////////////////////////////////////////////////////////

2021-03-17 15:48:56 296

原创 Mysql导出表、导入表相关操作

导出数据1、备份全部数据库的数据和表结构mysqldump -uroot -ppassword -A >all.sql2、只备份表结构,不备份数据mysqldump -uroot -ppassword -A -d > database.sql3、只备份数据库,不备份表结构mysqldump -uroot -ppassword -A -t > data.sql4、备份单个数据库的数据和表结构(只备份数据或者表结构可以用-t或者-d)mysqldump -uro

2020-12-16 09:01:38 257 1

原创 Mysql查询慢sql

# 查询慢sql语句:show variables like 'slow_query_log'; -- 查询是否开启记录慢sql语句结果如下:+----------------+-------+| Variable_name | Value |+----------------+-------+| slow_query_log | ON |+----------------+-------+如果是OFF,则执行以下语句:set global slow_query_log='...

2020-10-30 10:37:08 309

转载 签名验签原理(转载)

一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥, 只有我才能解密,解密后就得到a。这样,我们就可以传送加

2020-05-13 13:50:47 7813 1

原创 理解 hashCode 和 equals 方法的概念与联系

来源:hashCode和equals方法都是 Object类所带的方法,所以在日常工作中,要么我们不会动这两个方法,要么就是Override(重载)这两个方法。默认值: (1)hashCode方法返回值是用Object对象的存储地址; (2)equals方法也是以Object对象的存储地址作为比较,判定结果为true/false;理解概念: (1)hashCode方法...

2020-05-05 19:30:53 256

原创 Docker基本知识

Docker常用命令镜像:docker search [镜像名] # 示例: docker search redis # 搜索redis的镜像docker pull [镜像名]:[版本号] # 示例: docker pull redis:3.2 # 下载redis3.2版本的镜像,如果版本号没写,则默认latest,也就是最新版本​docker images ...

2020-02-20 11:11:25 231

转载 Golang项目结构

出自 https://www.cnblogs.com/ghgyj/p/4051768.html其实golang的工程管理还是挺简单的,完全使用目录结构还有package名来推导工程结构和构建顺序。当然,首先要说的是环境变量GOPATH,项目构建全靠它。这么说吧,想要构建一个项目,就要将这个项目添加到GOPATH,项目构建全靠它。这么说吧,想要构建一个项目,就要将这个项目添加到GOPAT...

2019-06-22 19:50:03 1177

转载 ubuntu上传代码github

一、Ubuntu下安装GitUbuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装。如果没有安装,使用命令: sudo apt-get install git git-core 安装git二、ssh认证在Ubuntu下使用ssh命令连接github.com的SSH服务,登录名为[email protected](所有Git

2016-04-11 16:38:55 492

转载 Tmux快捷键

类似各种平铺式窗口管理器,tmux使用键盘操作,常用快捷键包括:Ctrl+b激活控制台;此时以下按键生效系统操作?列出所有快捷键;按q返回d脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话D选择要脱离的会话;在同时

2015-07-01 17:26:17 376

空空如也

空空如也

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

TA关注的人

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