- 博客(14)
- 收藏
- 关注
原创 数据库学习
什么是数据库事物事务(transaction)是作为一个单元的一组有序的数据库操作事物的特性:1.原子性 事务要么全部执行,要么全部不执行2.一致性 事务的执行会使数据库从一种一致性状态进入另一种一致性状态3.隔离性:并发执行时,一个事务的执行不影响其他事务的执行4.持久性:事务一旦执行就是永久的不论断电或者机器故障拿转账来说:一致性就是 A和B的账号一共有2000元 无论怎么转正他们的账户都有2000元。脏读 ,不可重复读,幻读1.脏读就是读取到其他事务未提交的数据
2021-07-15 19:37:20 52
原创 redis学习
一共有16个数据库set name " "设置一个键值对get name得到Key对应的valueEXPIRE name 1010秒钟后自动过期select 3 切换到第三个数据库DBSIZE数据库大小FLUSHALL清空全部数据库flushdb清空当前数据库Redis-keyStringEXISTS name 判断这个key是否存在move name 1 将当前name移除tpye name查看name...
2021-05-28 22:14:46 90
原创 设计模式学习
设计模式的目标:复用解决复杂性问题的两种方法1.分解:大问题分为小问题,将复杂问题分解成简单的小问题。2.抽象(分层)比如操作系统就是硬件的抽象,上层应用不用管硬件的细节而直接使用操作系统提供的接口。忽略本质,而去处理泛化和理想化的模型。面向对象原则:1.依赖倒置原则高层模块不应该依赖于底层模块(变化),二者都应该依赖于抽象(多态,虚函数)抽象不应该依赖于实现细节,而实现细节应该依赖于抽象。举个例子class car{ private: //doub
2021-05-10 22:30:48 68
原创 动态链接与静态链接的区别——程序员的自我修养
静态链接的缺点:1.每次链接都是将所有的目标文件打包在一起成为可执行文件,所以文件和内存中都有一个副本,浪费空间2.版本升级的时候会有问题,假如程序A依赖于库A,如何库A升级,那么所有都需要重新编译一遍,所以引用动态链接动态链接的步骤如下:1.装载可执行文件2.加载动态链接器(有个段存放动态链接器的软连接地址)3.加载程序所依赖的共享库映射到程序的地址空间。4.符号引用绑定与重定位。将共享文件映射到进程的内存空间的时候会有一个问题,采用的是随机分配,也就是说共享文件在每.
2021-04-29 23:49:01 156 2
原创 程序员的自我修养学习笔记(1)
一直听闻这本书的名声,我现在看到第四章后感觉非常的棒,讲得很清楚也很容易懂,主要是我看了深入理解计算机系统的关于链接的章节后感觉很迷茫,就是那种懂了一点又感觉不懂的那种感觉,所以看了这本书后如饮甘泉。看了前四章静态链接的章节,想做一个总结和复习。第一章1.为了协调I/O设备与总线之间的速度,也为了能够让CPU能够和I/O设备进行通信,一般设备都会有一个相应的I/O控制器2.对称多处理器(SMP),理论上讲增加CPU的速度就可以提高运算速度,并且理想情况下,速度的提高与CPU的数量成正比但是事
2021-04-24 20:03:09 119
原创 C++知识点面经总结
写这篇文章是为了对面试遇到的知识点,和在牛客看到的一些知识点进行总结,以便自己以后好复习。会比较杂乱因为我是想到哪里写哪里,会进行持续的更新1.static关键词的作用C++内存分布为,代码段,只读数据段,数据段,堆 文件映射 共享区 栈 内核。static修饰函数和全局变量的时候表明函数和全局变量是属于文件的,在编译的时候其他文件是不可见的,如果是修饰局部变量的话其和全局变量一样都是存放在数据段中,只不过其作用域只限于函数,如果是修饰类的成员变量和成员函数的话,表明其不属于某个对象而...
2021-04-20 11:56:02 134
原创 muduo库学习第四天日志类的封装Logging
https://blog.csdn.net/weixin_46074727/article/details/115752252?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_46074727/article/details/115690387?spm=1001.2014.3001.5501https://blog.csdn.net/weixin_46074727/article/details/115657695?spm=1001.2014.
2021-04-20 10:37:31 98
原创 muduo库学习第三天线程类和线程池的实现
每天写文章相当于对前面的知识点进行总结,并且以后好复习。线程类的实现其实简化起来比较简单,但是作者写得我有点看不懂,所以看了两天后我将其简化了并且测试通过了首先是Current头文件的学习,然后是Thread头文件的学习一 Current类的学习知识点:1 __thread线程共享进程的地址空间,全局变量,有自己的栈,程序计数器和寄存器等资源,也就是说全局变量是线程共享的,所以当我们需要既是全局变量,又要是线程独享的话,我们需要将变量声明为 __thread,注意两道下划线。这个关键
2021-04-16 13:19:40 153
原创 muduo库学习第二天生产者和消费者
https://blog.csdn.net/weixin_46074727/article/details/115657695?spm=1001.2014.3001.5501今天学习的是有界队列和无界队列,也就是经典的生产者消费者问题,对于有界队列和无界队列有不同的实现一无界队列生产者可以无限的制造商品,而消费者在队列元素为0时需要阻塞用一个条件变量阻塞消费者,每次生产者生产元素时通知阻塞的消费者实现起来也比较简单用一个队列和一个锁和一个条件变量来实现template<t
2021-04-14 10:04:43 69
原创 muduo库学习第一天锁的封装
感觉自己的项目经验什么的都太少了,所以想学习学习muduo库,然后如果不复习复习的话可能经常容易忘,所以打算把自己学习的东西写下来一.第一天的学习是同步的封装前沿知识:1RAII机制RAII机制就是利用类的构造函数和析构函数进行资源的管理,在构造函数中进行资源的申请构造,在析构函数中进行资源的释放这样就可以简单的进行管理,假如是对锁进行管理的话就可以简单的避免忘记解锁而造成死锁,列如有如下的函数,在正确的代码中我们就可以利用函数返回时生命期结束然后调用析构函数进行解锁。//错误
2021-04-13 11:29:46 84
原创 linux c/c++实现一个简单服务器
目录一前言部分1 主要用到的技术有:2 具体的功能实现:二 具体实现1.线程池的封装2.同步封装3.http封装4.main函数三 效果图四 总结五 参考与资源一前言部分实现 一个简单的http服务器,暂时只实现get请求。1 主要用到的技术有:1.线程池2.状态机3.epoll ET模式4.模拟proactor模式2 具体的功能实现:1.对get请求进行解析2.若请求为静态内容就加载文件传回...
2021-03-17 11:31:32 351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人