自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux设备相关信息查询

Linux内存相关信息内存容量查询$ cat /proc/meminfo | grep MemTotalMemTotal: 98548932 kB内存相关信息$ cat /proc/meminfoMemTotal: 131738232 kBMemFree: 123788612 kBMemAvailable: 124824304 kBBuffers: 190904 kBCached: 1597672 kBSw

2021-10-24 17:06:24 2458

原创 庆祝博客访问量过10万

今天早上醒来翻翻个人博客,一看访问量竟然破十万了,发图庆祝一下!由于博主一直在上学读书,一直以来博客更新的不是很频繁,基本上是偶尔想到记些什么才写上去,等今后时间充裕了再多写写,争取博客访问量早日破百万~ 哈哈哈~...

2021-03-21 10:03:05 310

原创 git与github常用操作整理

概要Git是一种专为处理文本文件而设计的版本控制系统。允许你通过提交对一个系统(或一组)文件的历史进行注释。这些提交便是在给定时间点对系统做出的差异“快照”。单机上的文件版本管理可以只用git,但是用多台机器来管理同一个文件的时候,就需要用到github了。GitHub是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHubGithub 获取 Git 中的提交历史,并存储在服务器上,因此可以从任一一台电脑访问它。我们可以在本机推送(push

2021-03-12 10:37:30 267

原创 Linux下文件夹大小和磁盘使用率查询

硬盘容量占用查询df命令(英文意思指disk free):统计磁盘整体情况,包括磁盘大小,已使用的容量和未使用的情况。df命令格式:df [选项]... [FILE]...一般使用df -lh$ df -lh文件系统 容量 已用 可用 已用% 挂载点devtmpfs 47G 0 47G 0% /devtmpfs 47G 4.0K 47G 1% /dev/shmtmpfs 47

2021-01-19 20:33:37 846

原创 超级计算机榜单说明:TOP500、Green500、Graph500、IO500

TOP500TOP500始于1993年,由国际组织“TOP500”编制,每半年发布一次,是给全球已安装的超级计算机排名的知名榜单。Graph500评估超算系统遍历超大规模数据结构的能力,目前榜单分三个类别,BFS,SSSP,GREEN。Green500每年6月和11月各公布一次Green500榜单。Green500是节能超算排行榜单,榜单不以性能论英雄,而是以能效排名——每瓦性能比。下图是2020年11月的榜单:IO500自2017年11月起,每年在美国的SC和德国的ISC大会上各公布

2021-01-19 17:05:58 4198

原创 Linux存储性能观测——free命令详解

概要free命令报告系统中已经使用和未使用的内存容量信息。包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。这些信息是通过解析/ proc / meminfo收集的。安装方式#free属于procps软件包。#Ubuntuapt-get install procps#CentOSyum install procps-ngprocps软件包包含监视和终止系统进程的程序。它通过/proc目录搜集进程的信息.包含的程序: free, kill, pgrep, pki

2020-12-23 22:40:28 656

原创 source insight使用方法整理

阅读代码它可以将一个源码目录变成source insight工程,然后直接操作阅读源码:新建工程—>命名工程—>设置源码目录—>阅读新建工程之后是add and remove files这个窗口,一般add tree就把文件夹里的所有文件都加载进这个工程。那么Load文件完成之后,close对话框。当然还可以加不同路径的代码进入你的工程。功能支持语法高亮、符号跳转,还支持函数调用关系图显示。除支持完善的自定义功能外,几乎所有配置都能作个性化配置。有一套功能强大的宏语言(Mac

2020-12-18 16:54:19 1256 2

原创 Makefile文件编写快速入门

前言未完待续。。。开始MakefileMakefile是什么?:分布在Linux程序的源代码中,定义Linux 程序的编译规则,是一种程序构建工具。用户可以在 Makefile 中定义make的行为,来确定模块需要如何编译或重新编译在一起。Makefile有什么作用呢?:Makefile可以定义整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,如果将这些源文件编译成可执行文件,需要处理非常复杂的文件依赖。而在makefile中,可以定义一系列的规则来指定,哪

2020-12-11 23:02:22 794

原创 Shell 脚本编写快速入门

基本概念shell脚本(shell script):为shell编写的脚本程序, 与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件.Shell既是一种命令语言,又是一种程序设计语言(也就是shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。shell 脚本范例创建一个hello_world.sh的范例,内容如下:#!/bin/

2020-11-16 11:01:41 527

原创 Linux 文件I/O编程

基础概念I/O高级I/O:带缓冲区的I/O,比如ANSI C提供的标准I/O库,比如fopen,fread,fwrite等,会在系统调用前采用一定的策略。优点:比不带缓冲的I/O安全缺点:比不带缓冲的I/O速度慢低级I/O:不带缓冲区的I/O,是Linux提供的系统调用,比如函数open,read,write等。优点:速度快。文件描述符文件描述符:是一个非负整数。在linux中,所有对设备或者文件的操作都是通过文件描述符进行的。每当打开或者创建一个文件的时候,内核向进程返回一个文件

2020-11-12 16:18:29 134

原创 Linux性能观测——dstat命令详解

$ dstatYou did not select any stats, using -cdngy by default.----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai hiq siq| read writ| recv send| in out | int csw 3 0 96 0 0 0| 436k 879k| 0 0 |

2020-11-04 10:31:36 3708 1

原创 Linux存储性能观测——iostat命令详解

iostat(input/output statistics)报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。特点不能单独对某个进程进行分析,仅能够分析系统的整体情况安装方式:#iostat属于sysstat软件包。yum install sysstat iostat常用命令格式:iostat [参数] [时间] [次数]参数说明:-c 显示CPU使用情况-d 显示磁盘使用情况-k 以K为单位显示-m 以M为单位显

2020-11-03 23:53:40 926

原创 Linux存储性能观测——vmstat命令详解

功能:获得有关进程、虚存、页面交换空间及 CPU活动的信息特点:可以看到整个系统的负载情况,而不是单独看某个进程的负载情况。$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 5 0

2020-11-03 16:34:02 603

原创 Linux进程与线程状态监测

线程当一个程序内有多个线程被拆分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使拆分开销最小化,并避免大量高成本的IPC(进程间通信)通道。线程与进程之间的ID在Linux中,程序中创建的线程(也称为轻量级进程,LWP)会具有和程序的PID相同的“线程组ID”。然后,各个线程会获得其自身的线程ID(TID)。对于Linux内核调度器而言,线程不过是恰好共享特定资源的标准的进程而已。问题我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后

2020-10-28 21:54:51 2448

原创 Linux后台运行程序的方法总结

概述使用场景:用终端软件登录远程Linux服务器时,假设执行的shell命令耗时特别长,这时候因为各种因素导致掉线(网络不稳定)就会导致之前的执行前功尽弃,运行的命令进程会被系统kill,我们想要的结果也丢失了。如果想让终端关闭和掉线的情况下,命令和相关进程也能在远程Linux主机上执行,我们需要以脱离终端的方式在后台运行这个shell命令。主要有三种方法:命令后加&作用:让命令在后台处于运行状态 。缺点:退出终端就会退出执行。nohup:可以记录发生日志。tmux:可

2020-10-28 16:15:14 2239

原创 Linux管理员常用命令

查看linux中所有用户的三种方式查看/etc/passwd 文件,getent命令,compgen命令cat /etc/passwd getent passwd compgen -u // bash 的内置命令,它将显示所有可用的命令,别名和函数。说明/etc/passwd文件:包含每个用户基本信息的文本文件。当我们在系统中创建一个用户,新用户的详细信息就会被添加到这个文件中。getent命令显示Name Service Switch 库支持的数据库中的条目。这些库的配置文件为/etc/

2020-10-07 16:40:21 456

原创 C++构造函数总结

构造函数作用:构造函数的工作是保证每个对象的数据成员具有合适的初始值创建一个类类型的对象时,编译器会自动使用一个构造函数来初始化该对象。形式:构造函数是一个特殊的、与类同名的成员函数,用于给每个数据成员设置适当的初始值。特点:构造函数是特殊的成员函数,只要创建类类型的新对象,都要执行构造函数。构造函数自动执行,只要创建该类型的一个对象,编译器就运行一个构造函数。构造函数不能声明为 const构造函数可以被重载。如何定义构造函数构造函数的名字与类的名字相同,并且不能

2020-10-02 17:20:36 456

原创 Linux下shell美化教程—oh my zsh

zsh安装先安装zsh# sudo apt install zsh然后运行下面的命令,下载一些zsh工具主题插件sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"效果如下# sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Cloning Oh My Zsh

2020-09-27 20:43:27 1165

原创 进程和线程最通俗的形象比喻

前言让我们建立一些形象的比喻来讨论线程,进程,时间片以及操作系统中奇妙的“调度概念”线程和进程如何工作一个房子的过程让我们以一个日常的日常对象(一所房屋)为基础来进行进程程和线程的类比占用者为线程居住在房子里的人是活动的对象,他们是使用各种房间,看电视,做饭,洗澡的人。我们很快就会看到线程的行为。进程和线程就像一间房屋占用不动产一样,过程也要占用内存。正如房屋的占用者可以随意进入他们想要的任何房间一样,进程的线程都可以对该内存进行通用访问。如果某个线程分配了某些东西(妈妈出去玩游戏),那么

2020-08-28 21:50:26 1410

转载 Linux内核的整体架构

1. 前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定:a) 内核版本为Linux 3.10.29(该版本是一个long term的版本,会被Linux社区持续维护至少2年),可以从下面的链接获取:https://www.kernel.org/pub/linux/kernel/v3.x.

2020-07-13 23:34:35 158

原创 C++标准库常用算法

常用标准库算法:find(beg, end, val); 根据equal操作符,循序查找[first, last)内所有的元素,找出第一个匹配“等同条件者”。如果找到,就返回一个指向匹配元素的迭代器,否者返回迭代器end()。equal(beg1, end1, beg2); 确定两个序列是否相等。如果输入范围中的每个元素都与从beg2开始的序列中的对应元素相等,就返回true;min(val1, val2); 返回两个数中的大数max(val1, val2); 返回两个数中的小数min_e

2020-06-19 23:48:12 1164

原创 动态规划-剪绳子问题

题目给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m-1]。请问k[0]×k[1]×…×k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。题目解析首先题目描述并不是很清楚,我看了一下,比较准确的描述是,绳子分成m个部分,也就是m段。默认的条件是绳子不能不被分割,也就是至少被分为两个部分m、n都是整数,n>1并且m&gt

2020-05-31 23:01:52 2549

原创 多线程编程之交替打印(leetcode 1115)

题目我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个线程将会调用 foo() 方法,另一个

2020-05-26 17:10:27 338

原创 多线程编程之按序打印(leetcode 1114)

题目描述提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调用 two() 方法线程 C 将会调用 three() 方法请设计修改

2020-05-26 16:35:10 335

原创 《C++Primer》第四章-数组和指针-学习笔记(1)-数组指针引用

《C++Primer》第四章-数组和指针-学习笔记(1)-文章目录《C++Primer》第四章-数组和指针-学习笔记(1)-概述指针与数组之间的关系数组数组的定义和初始化显式初始化数组元素特殊的字符数组指针指针是什么取地址操作符指针的定义和初始化指针变量的定义指针可能的取值指针初始化和赋值操作的约束void* 指针**指针操作**指针和引用的比较向函数中传递指针和传递引用的区别向函数中传递指针的...

2020-04-28 00:52:16 279

原创 小猴子下落问题(二叉树)

小猴子下落(二叉树基础题)时间限制:3000 ms | 内存限制:65535 KB 难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴...

2020-04-25 18:15:40 1591

原创 latex教程——语法(一)

latex的每一行称作为语句(statement)语句(statement)又分为以下三种: 命令(command)普通命令(normal command)普通命令以 \ 作为开头,通常只有一行。环境 (environment)环境包含开头(start)和结尾(end),二者成对出现,通常在多行的情况下使用。普通命令和环境命令可以一起使用 数据(dat...

2020-03-29 21:40:02 3503

原创 《C++Primer》第五章-表达式-学习笔记(1)-delete&new&动态内存分配

《C++Primer》第五章-表达式-学习笔记(1)-delete&new&动态内存分配

2020-03-18 17:15:47 185

原创 《C++Primer》第十三章-复制控制-学习笔记(3)-智能指针&指针成员

《C++Primer》第十三章-复制控制-学习笔记(2)文章目录《C++Primer》第十三章-复制控制-学习笔记(2)管理指针成员一个带指针成员的简单类默认复制/赋值与指针成员指针共享同一对象可能出现悬垂指针定义智能指针类引入使用计数使用计数类使用计数类的使用赋值与使用计数改变其他成员建议:管理指针成员定义值型类小结日志:1,2020-03-17 笔者提交文章的初版V1.0作者按:...

2020-03-17 21:59:29 175

原创 《C++Primer》第十三章-复制控制-学习笔记(2)-析构函数

《C++Primer》第十三章-复制控制-学习笔记(2)文章目录《C++Primer》第十三章-复制控制-学习笔记(2)析构函数何时调用析构函数何时编写显式析构函数合成析构函数如何编写析构函数消息处理示例Message 类的复制控制put_Msg_in_Folders 成员Message 赋值操作符remove_Msg_from_Folders 成员Message 析构函数日志:1,202...

2020-03-16 22:55:39 187

原创 《C++Primer》第十三章-复制控制-学习笔记(1)-复制构造函数&赋值操作符

《C++Primer》第十三章-复制控制-学习笔记(1)文章目录日志:1,2020-03-10 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-变量和基本类型-学习笔记(1)《C++Primer》第三章-标准库类型-学习笔记(1)《C++Primer》第八章-标准 IO 库-学习笔记(1...

2020-03-16 22:23:58 553

原创 《C++Primer》第十一章-泛型算法-学习笔记(3)-泛型算法的结构

《C++Primer》第十一章-泛型算法-学习笔记(3)文章目录泛型算法的结构算法的形参模式带有单个目标迭代器的算法带第二个输入序列的算法算法的命名规范区别是否实现复制的算法版本容器特有的算法小结日志:1,2020-03-16 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-变量和基本类型-...

2020-03-16 00:34:06 255

原创 《C++Primer》第十一章-泛型算法-学习笔记(1)-读,写,排序算法

《C++Primer》第十一章-泛型算法-学习笔记(1)文章目录日志:1,2020-03-10 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-变量和基本类型-学习笔记(1)《C++Primer》第三章-标准库类型-学习笔记(1)《C++Primer》第八章-标准 IO 库-学习笔记(1...

2020-03-15 23:18:21 214

原创 《C++Primer》第十章-关联容器-学习笔记(2)-set&multimap&multiset

《C++Primer》第十章-关联容器-学习笔记(1)文章目录《C++Primer》第十章-关联容器-学习笔记(1)set 类型set 容器的定义和使用在 set 中添加元素从 set 中获取元素创建“单词排除”集multimap 和 multiset 类型10.5.1. 元素的添加和删除在 multimap 和 multiset 中查找元素使用 find 和 count 操作与众不同的面向迭代...

2020-03-15 00:28:47 222

原创 《C++Primer》第十章-关联容器-学习笔记(1)-pair&map

《C++Primer》第十章-关联容器-学习笔记(1)文章目录日志:1,2020-03-10 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-变量和基本类型-学习笔记(1)《C++Primer》第三章-标准库类型-学习笔记(1)《C++Primer》第八章-标准 IO 库-学习笔记(1)...

2020-03-14 17:49:01 258

原创 《C++Primer》第九章-顺序容器-学习笔记(3)-容器适配器&栈&队列

《C++Primer》第九章-顺序容器-学习笔记(3)文章目录《C++Primer》第九章-顺序容器-学习笔记(3)容器适配器适配器的初始化覆盖基础容器类型适配器的关系运算栈适配器队列和优先级队列小结参考资料注解日志:1,2020-03-12 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-...

2020-03-12 18:29:20 414

原创 《C++Primer》第九章-顺序容器-学习笔记(2)-自增长&容器选用

《C++Primer》第九章-顺序容器-学习笔记(2)文章目录《C++Primer》第九章-顺序容器-学习笔记(2)vector 容器的自增长capacity 和 reserve 成员容器的选用插入操作如何影响容器的选择元素的访问如何影响容器的选择选择容器的提示参考资料注解日志:1,2020-03-12 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所...

2020-03-12 16:43:03 152

原创 《C++Primer》第九章-顺序容器-学习笔记(1)-顺序容器定义与操作

《C++Primer》第九章-顺序容器-学习笔记(1)文章目录《C++Primer》第九章-顺序容器-学习笔记(1)摘要顺序容器的定义容器元素的初始化将一个容器初始化为另一个容器的副本初始化为一段元素的副本日志:1,2020-03-10 笔者提交文章的初版V1.0作者按:最近在学习C++ primer,初步打算把所学的记录下来。传送门/推广《C++Primer》第二章-变量和...

2020-03-11 23:59:14 248

原创 《C++Primer》第十五章-面向对象编程-学习笔记(3)-纯虚函数&句柄类与继承

《C++Primer》第十五章-面向对象编程-学习笔记(3)文章目录《C++Primer》第十五章-面向对象编程-学习笔记(3)纯虚函数容器与继承句柄类与继承指针型句柄使用计数式复制控制构造句柄复制未知类型定义句柄构造函数句柄的使用比较两个Sales_item 对象使用带关联容器的比较器容器与句柄类使用句柄执行虚函数总结日志:1,2020-03-10 笔者提交文章的初版V1.0作者按...

2020-03-11 00:31:20 310

原创 《C++Primer》第十五章-面向对象编程-学习笔记(2)-构造函数和复制控制&作用域

《C++Primer》第十五章-面向对象编程-学习笔记(2)文章目录《C++Primer》第十五章-面向对象编程-学习笔记(2)构造函数和复制控制基类构造函数和复制控制派生类构造函数合成的派生类默认构造函数定义默认构造函数向基类构造函数传递实参在派生类构造函数中使用默认实参只能初始化直接基类复制控制和继承定义派生类复制构造函数派生类赋值操作符派生类析构函数虚析构函数构造函数和赋值操作符不是虚函数...

2020-03-09 21:03:16 203

计算机网络 应用层-思维导图-工程师小星星

计算机网络教程自顶向下方法—应用层—思维导图笔记(包含xmind,freemind格式) 《计算机网络教程:自顶向下方法》是计算机领域知名作者Forouzan按照目前计算机网络教学比较流行的自顶向下方法编写的一部重要教材。书籍写得非常棒,笔者阅读的时候做了一些思维导图笔记,在此分享给大家。

2020-12-11

空空如也

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

TA关注的人

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