自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jigetage的专栏

记录开发生涯的点滴

  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

原创 几种树的优缺点和应用场景

二叉树:解决的是线性表插入慢,链表查找慢的问题,是一种这样的方法。时间复杂度介于对数级和线性级之间。当是完全的平衡二叉树时,时间复杂度是对数级,当时完全的不平衡二叉树时,即已经退化为链表,是线性级。单纯的二叉树只是一个概念,并没有实际应用场景。二叉查找树:又名二叉排序树,二叉搜索树。如果存在左子树,那么左子树上所有节点均小于根节点,如果存在右子树,那么右子树上所有节点均大于根节点。并且,...

2019-03-27 15:01:50 3072

原创 go语言如何引用别的文件的内容

go不同文件之间的相互引用靠包来实现,总结下来就是:1,文件夹就是包,文件夹名就是包名2,同一文件夹(包)下的所有文件可以视为同一文件,也就是可以随意拆分或者合并为一个或多个 go 文件都没有影响,文件名对程序也没有影响3,同一文件夹(包)下的所有文件, package name 必须一致。4,如果要使用其他文件夹(包)下的资源,使用 import 导包, import 导包的路径...

2019-03-27 00:04:08 20577 2

原创 树的高度、深度、层数

可能是全网最透彻的讲解树的基本概念的一篇文章了。对于很多朋友来说,特别是半路出家转码农的朋友来说,数据结构是最薄弱的一项了,线性表和链表还好理解(如果链表不懂的见我的另一篇文章https://blog.csdn.net/jigetage/article/details/88694867),一到树就完全懵逼了,甚至看不懂别的网友发的博客。大部分原因是不知道有关树的基本概念。这里总结出来,熟练背诵...

2019-03-26 16:31:28 6730 2

原创 同步、异步、阻塞、非阻塞的区别

这可能是全网把同步/异步、阻塞/非阻塞区别分析的最到位的一篇文章了。朋友,如果你看完了,并且也觉得可以,请赏赐本屌一个赞吧!~比心~同步/异步、阻塞/非阻塞是针对不同的场景来说的。同步/异步:针对的是调用过程,对象是两个进程。进程1调用了进程2,进程2接收了这个调用,然后开始处理。如果是同步调用,那么在进程2处理完之前,进程2不能干别的事情了,得一直处理这个调用过程。如果是异步调用,那...

2019-03-25 14:44:19 357

原创 io复用相对于多进程、多线程的优势

网络编程中,实现并发的方法一般都是多线程、多进程、io复用技术。当被问到io复用技术相对于多线程、多进程的优势时,可以这样回答:cpu的最佳理想工作状态时:当需要的时候立即被调度到,当不需要的时候就好像没有一样。对于多进程、多线程方式,不论有无实际消息进来,线程/进程都可能被分配cpu的时间片,如果被cpu调度的时候,正好没有消息进来,那么就会造成cpu空调度,浪费资源。而对于io复用技术...

2019-03-25 14:21:27 1035

原创 最容易理解的tcp校验和

什么是tcp校验和?tcp报文中,在tcp的首部之前,多了一个12字节的伪首部,伪首部中4个字节保存源ip信息,4个字节目的ip信息,一个字节的保留位置,一个字节保存协议号(6代表tcp,17代表udp),2个字节保存tcp的真正首部和数据。根据伪首部的信息通过位运算,得到了一个校验和数据,保存在tcp保温的checksum字段。接收端接收到tcp报文后,也按照特定算法计算出一个校验和...

2019-03-22 13:59:52 4658

原创 c++ 模板template中的class和typename区别

在实际使用中注意以下两点即可。1,在类外或者方法外添加模板声明时,二者无区别。2,当template<typename T>或者template<class T>中的T是一个类类型,而且这个类又有子类(假设名为 innerClass) 时,应该用 typename T::innerClass 的方式来声明innerClass变量,比如:typename T::...

2019-03-22 09:38:27 3152

原创 为什么链表特别难以理解

为什么对于某些同学来说,链表特别难以理解?大概率的原因是没有分清楚节点和指向节点的指针这两个概念。节点:固定的,是一块内存区域,存储节点的信息。指向节点的指针:自由的,可以随意更改。下面通过两个典型代码进行详细分析。pNode1 = pNode2; // 这行代码的意思是:将pNode1 指针指向pNode2指针所指向的节点,造成一个节点被两个指针指向pNode1-...

2019-03-20 17:42:09 2226

原创 单链表中的环面试题目

对于链表中的环,常见面试题目有下面几个:1.给一个单链表,判断其中是否有环的存在?思路:采用快慢指针,快指针每次走2,慢指针每次走1,如果在快指针遍历链表结束之前,二者相遇,则说明有环。2.如果存在环,找出环的入口点?思路:从链表起点到环的入口点,与从快慢指针相遇点到环的入口点,距离相同。3.如果存在环,求出环上节点的个数?思路:1,采用已经进入环中慢指针遍历环,当再次到达...

2019-03-20 17:22:27 275

原创 对链表翻转/逆置的一些理解

// 写在前面,首先是要区分节点和指向节点的指针,链表在内存中是以节点的形式存在的,节点指针只是为了方// 便写程序的时候操作,而认为创造出来的。node* rev(node *head) {node *prev=NULL,*next=NULL; while(head){next=head->next; // 将next指针指向头结点的下一个节点head->next=p...

2019-03-20 16:35:03 153

原创 QString和std::string转换乱码的解决方法

std::string cstring;QString qstring;//从std::string 到QStringqstring = QString(QString::fromLocal8Bit(cstring.c_str()));//从QString 到 std::stringcstring = std::string((const char *)qstring.toLocal8...

2019-03-19 18:23:02 6138 4

原创 ZeroMQ教程入门学习攻略

本人在zeromq使用过程中主要参考了如下博客。1,概要和快速入门https://www.cnblogs.com/chenny7/p/6245236.html2,使用举例https://blog.csdn.net/brimsullowr/article/details/827704443,架构分析https://www.cnblogs.com/rainbowzc/p/335...

2019-03-15 18:00:30 6471

原创 mac下通过homebrew安装mysql5.7后运行mysql_secure_installation时失败,提示需要输入默认密码,保存默认密码的文件路径找不到

mysql5.7以后mysql太坑了,为了安全机制,会生成一个默认的root密码,在安装完毕后,运行mysql_secure_installation时,需要输入默认密码。但是,你找遍了整个mac,也找不到保存这个密码的文件放在了哪里。如果通过下载dmg安装包的形式,则不会碰到这个问题,因为安装包上会明确的写出密码。那么,如果碰到了这个问题怎么办呢?一般思路就是找密码,但是你会发现,找遍这...

2019-03-15 00:25:28 3562

原创 mac下vscode安装go扩展失败的解决方法

网上搜索了很多方法来解决安装go扩展失败的问题,很多回答都比较乱,自己按照下面的步骤解决了问题。// 路径下创建此文件mkdir -p $GOPATH/src/golang.org/x// 切换到此目录cd $GOPATH/src/golang.org/x// 通过git安装 toolsgit clone https://github.com/golang/tools....

2019-03-10 22:56:40 3130 4

原创 如何理解go语言中的闭包

对于闭包的理解,按照下面2点切入即可:1,闭包函数的返回值是函数2,返回的函数绑定在闭包函数内一个变量上。对于第2条如果不好理解的话,可以这么理解。把外层的函数去掉,把函数内定义的变量想象成全局变量,把返回的函数想象成普通函数。本质上,就是返回了一个函数,这个函数内操作的变量是在另一个函数中定义的,而且是以引用的形式被调用。一个闭包只有没有外界引用时,才会连同状态一起被销毁。典...

2019-03-07 16:07:50 954

原创 vtk中如何添加qt支持

在vtk中添加qt支持,其实就是在编译vtk的时候,打开qt的编译选项。主要分为三步。第一步:在系统环境变量中添加qt安装路径,比如第一步:修改vtk源代码最上级的cmakelists.txt文件,加上 set(CMAKE_PREFIX_PATH $ENV{QT_PATH})第三部:在cmake gui客户端或者命令行添加与qt相关的编译选项,包括: -DModule_v...

2019-03-04 15:54:09 2002

原创 windows .bat脚本如何添加换行符

当一条命令需要设置的参数过多时,如何写在同一行,会造成一行特别特别长,很影响阅读和修改,可以考虑使用换行符。在.bat脚本文件中,换行符是"^",即shift + 6。...

2019-03-04 15:49:04 36239 1

windows atl 族类头文件

windows的alt族类头文件。windows10系统不含有此类头文件。当需要引用时,下载本资源,然后引入工程,即可。

2019-01-05

spawn-fcgi-1.6.4.tar.gz

c++开发fastcgi应用是需要的cgi管理工具,版本是1.6.4,解压缩后,运行./configure -> make -> make install 安装

2018-12-10

JsonViewer

最好用的本地json查看器--JsonViewer。 积分不够的话,可以给我留言,单独发给你。

2018-04-02

谷歌Google C++ 代码规范

附件中是中文版的谷歌C++代码规范,其中对于一些重点知识有醒目标注。本来想免费的,但是上传时候资源分最少也是1分,所以就设置了一个1分。没有分数的可以在论坛,或者这个帖子下面给我留言,我单独发你。还有一个在线版的,地址是http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/

2017-09-09

phantomjs-1.9.8-macosx.zip

phantomjs mac

2016-07-11

tomcatPluginV331 for eclipse using mac

mac系统下eclipse进行tomcat安装的插件

2016-07-02

xstream-1.4.8.jar

eclipse java 将文本消息转化成xml格式

2016-07-02

xmlpull-1.1.3.1.jar

eclipse jave 下将文本消息转换成xml格式

2016-07-02

空空如也

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

TA关注的人

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