- 博客(16)
- 资源 (18)
- 收藏
- 关注
原创 Linux环境SOCKET编程2:epoll分析
我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式,而ET模式只能通过一种方式。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(ET模式),再来讨论一般情况(LT模式)。1ET根据上一节对两种加入rdlist途径的分析,可以得出ET模式下被唤醒(返回就绪)的条件为:对于读取操作:(1)当buffer由不可读状态变为...
2019-08-31 23:28:47 224
原创 Ubuntu16.04安装boost库
到boost官网安装一个boost库的压缩包,我下的是1.70.0版本 执行下面的命令解压tar -xzvf boost_1_70_0.tar.gz解压出来以后,进入解压出来的文件夹,执行下面的命令sudo ./bootstrap.sh在执行下面的命令,这样头文件就被默认安装在/usr/local/include头文件下,库文件就被默认安装在/usr/local/lib下s...
2019-08-31 00:14:13 1610
原创 C++对象模型
菱形继承也称为钻石型继承或重复继承,它指的是基类被某个派生类简单重复继承了多次。这样,派生类对象中拥有多份基类实例(这会带来一些问题)。为了方便叙述,我们不使用上面的代码了,而重新写一个重复继承的继承层次:测试代码如下:#include <iostream>using namespace std;class B{public: int ib;p...
2019-08-29 16:23:12 120
转载 Linux进程地址空间探究
我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。那虚拟内存空间是什么呢,它与实际物理内存空间又是怎样对应的呢,为什么有了虚拟内存技术,我们就能运行比实际物理内存大的应用程序,它是怎么做到的呢?呵呵,这一切的一切都是个迷呀,下面我们就一步一步解开心中的谜团吧!...
2019-08-29 12:56:20 175
转载 实现一个shared_ptr
参考:实现一个简单的shared_ptr智能指针原理及实现(1)shared_ptr写的很棒,学习一波。一句话介绍shared_ptr智能指针:多个shared_ptr中的T *ptr能指向同一个内存区域(同一个对象),并共同维护同一个引用计数器。一般来说,智能指针的实现需要以下步骤:1.一个模板指针T* ptr,指向实际的对象。2.一个引用次数(必须new出来的,不然会多个shar...
2019-08-28 21:41:57 504
转载 TCP三次握手与四次挥手的过程及原因
一、TCP的连接建立——三次握手1、最初两端的TCP进程都处于CLOSED(关闭)状态。A主动打开连接,B被动打开连接2、B的TCP**服务器进程创建传输控制块TCB(Transmission Control Block),然后处于LISTEN(收听)状态,准备接受客户端的连接请求**3、A的TCP**客户端进程也创建传输控制块TCB,向B发出连接请求报文段,此报文段中同步位SYN...
2019-08-28 11:13:06 329
原创 最大堆与最小堆
基本概念:1、完全二叉树:若二叉树的深度为h,则除第h层外,其他层的结点全部达到最大值,且第h层的所有结点都集中在左子树。2、满二叉树:满二叉树是一种特殊的的完全二叉树,所有层的结点都是最大值。堆树的定义:1、堆是一颗完全二叉树。2、堆中的某个结点的值总是大于等于(最大堆)或小于等于(最小堆)其孩子结点的值。3、堆中每个结点的子树都是堆树。构造最大堆 对于...
2019-08-23 11:48:57 359
原创 MySQL 之 四种隔离级别
一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...
2019-08-19 10:06:58 153
原创 MySQL之 锁
1. 锁 InnoDB存储引擎不需要锁升级,因为一个锁和多个锁的开销是相同的,实际上,只有实现本身会增加开销时,行级锁才会增加开销。1.1 什么是锁 操作缓冲池中的LRU列表,删除、添加、移动LRU列表中的元素,为了保证一致性,必须有锁的介入。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。1.2 lock和latch...
2019-08-18 18:05:08 146
原创 MySQL之 表
表是关于特定实体的数据集合,这也是关系型数据库模型的核心。1索引组织表在InnoDB存储引擎中,每张表都有一个主键(Primary Key),如果创建表时没有显示定义主键,则会按照如下方式创建主键:存在非空的唯一索引(Unique NOT NULL),则该列为主键。 存在多个非空唯一索引时,会自动选择建表时第一个定义的非空唯一索引为主键。 如不符合上述条件,会自动...
2019-08-16 16:43:39 227
原创 MySQL之语法入门与基础命令
一、MySQL SELECT语句 SELECT语句是控制查看哪些列和行数据,具体如下:SELECT column_1, column_2, ...FROM table_1[INNER | LEFT |RIGHT] JOIN table_2 ON conditionsWHERE conditionsGROUP BY column_1HAVING g...
2019-08-16 16:27:56 138
原创 334. Increasing Triplet Subsequence
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.Formally the function should:Return true if there existsi, j, ksuch thatarr[i]<arr[...
2019-08-14 21:51:36 94
原创 322. Coin Change
You are given coins of different denominations and a total amount of moneyamount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money ...
2019-08-13 23:30:19 96
原创 279. Perfect Squares
Given a positive integern, find the least number of perfect square numbers (for example,1, 4, 9, 16, ...) which sum ton.Example 1:Input: n = 12Output: 3 Explanation: 12 = 4 + 4 + 4.Exampl...
2019-08-12 23:37:44 106
原创 236. Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to thedefinition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p...
2019-08-07 22:19:51 99
原创 208. Implement Trie (Prefix Tree)
Implement a trie withinsert,search, andstartsWithmethods.Example:Trie trie = new Trie();trie.insert("apple");trie.search("apple"); // returns truetrie.search("app"); // returns fals...
2019-08-01 21:08:56 110
配置文件读取demo.zip
2019-09-16
模式识别 第三版(高清版)
2018-03-06
stm32f4 标准库 flash模拟eeprom
2017-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人