- 博客(152)
- 收藏
- 关注
原创 Linux服务器开发-2. Linux多进程开发
程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释文件中的其他信息。(ELF可执行连接格式)机器语言指令:对程序算法进行编码。程序入口地址:标识程序开始执行时的起始指令位置。数据:程序文件包含的变量初始值和程序使用的字面量值(比如字符串)。符号表及重定位表:描述程序中函数和变量的位置及名称。这些表格有多重用途,其中包括调试和运行时的符号解析(动态链接共享库和动态链接信息。
2023-02-11 11:46:38 835 1
原创 Linux服务器开发-1. Linux系统编程复习
实际上,这个宏只是标志着编译器将会把代码按 C 还是 C++ 语法来解释如上所述,如果后缀为 .c,并且采用 gcc 编译器,则该宏就是未定义的否则,后缀是cpp,采用gcc编译,识别C++语法,就会对宏进行定义。
2023-02-05 23:50:19 906
原创 C++语法复习笔记-9.C++STl、Boost库、多线程编程(进行中)
【代码】C++语法复习笔记-9.C++STl、Boost库、多线程编程(进行中)
2023-02-05 17:39:01 998
原创 leetcode刷题记录总结-7.递归回溯算法(进行中)
回溯法也可以叫做回溯搜索法,它是一种搜索的方式。在二叉树系列中,我们已经不止一次,提到了回溯,例如二叉树:以为使用了递归,其实还隐藏着回溯 (opens new window)。回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。
2023-02-01 22:34:25 382
原创 leetcode刷题记录总结-7.二叉树
在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBInXkoR-1675071115879)(assets/20200806185805576.png)]这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。什么是完全二叉树?完全二叉
2023-01-30 17:32:59 539
原创 leetcode刷题记录总结-5.双指针专题
1.先去除首尾多余空格2.去除多余空格,并将整个字符串反转3.再将每个单词字符串反转public:// 1.去除首尾空格// 可以先去除首尾空格字符,调用erase函数,自动维护size大小// 2.去除多余空格,反转整个字符串,使用双指针法int i = 0;string res;// 重构,会影响原字符串字符j >= 0;= ' ') { // 过滤保序-不能直接加字符,还要加空格if(j!// 2.反转每个单词字符串end++) {
2023-01-28 20:53:41 654
原创 C++语法复习笔记-7. c++高级语法-面向对象三大特性
当index=5时跳出循环后,最后输入的一个数据变成脏数据,覆盖了下个缓存区中// 普通构造函数 String(const String & other);// 拷贝构造函数// String 的普通构造函数 String :: String(const char * str) {if(m_data!
2023-01-28 20:46:58 107
原创 C++语法复习笔记-6. c++基础句法
代码示例// demo6-2.cpp : 定义控制台应用程序的入口点。enum wT {// 声明wT类型 wT weekday;// 不能直接给int值,只能赋值成wT定义好的类型值 cout
2023-01-26 23:45:45 445
原创 leetcode刷题记录总结-1. 数组
要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是。
2023-01-20 21:39:33 719
原创 C++语法复习笔记-5. c++指针
测试数组只是指向了一块字符空间,没有自己真实的地址pStr1指向了数组指向的字符的地址,编译器做了优化pStr2-指针变量本身的地址,为字符数组地址pStr3地址指向的字符串内容不能有任何改变pStr2指针的内容可以改变,但是与pStr1指针指向的内存一致,因此,虽然pStr1只读,但pStr2改变后,pStr1指向内容还是发生了改变。
2023-01-20 16:22:09 1543
原创 MySQL学习笔记-8. 数据库高并发、高性能的基本保证--如何解决数据库超大容量
分库可以通过分表来实现使用拆分表,实现水平分库使用非拆分表,实现垂直分库。
2022-09-20 08:45:30 294
原创 多线程学习笔记-5.AQS
AQS理解与认识不止,其他协助类和锁,例如, 都是内部引入类,这个类继承,因此可以实现的功能在可重入锁中的使用原理不同的协作类有不同的实现将传入到类进行处理最终会调用AQS的获取状态方法的实现await5.3 AQS在Semaphore的应用会调用AQS类的方法的实现在中的实现有公平和非公平两种非公平
2022-09-17 16:35:56 259
原创 MySQl学习笔记-6.数据库安全策略-备份、权限隔离等
1.首先查询到MySQL的导出路径2.然后使用指令将查询结果导出到指定文件中3.可以在事务中备份同一时刻的一致性数据。
2022-09-03 18:14:39 503
原创 多线程学习笔记-4.多线程并发控制流程
一个线程等待多个线程都在执行完毕,再继续自己的工作/*** 描述: 工厂中,质检,5个工人检查,所有人都认为通过,才通过// 5个等待线程 ExecutorService service = Executors . newFixedThreadPool(5);i < 5;i ++) {try {System . out . println("No." + no + "完成了检查。");// 每个线程休眠后,会进行一次计数 } } };...
2022-08-31 21:26:09 426
原创 MySQL学习笔记-4.数据更新时的性能问题-日志、事务、锁和MVCC问题
为了兼顾性能和隔离效果,==一般使用中间的`READ COMMITTED `:读已提交;在这个事务持续期间,禁止其他事务对该表执行插入、更新和删除操作。能避免脏读、不可重复读和幻读。但有个问题,都是写入到内存,如果断电,数据会丢,这就涉及到redo Log 刷盘操作。3.不可重复读( Non-Repeatable Read )3.不可重复读( Non-Repeatable Read )某一个事务,对同一个表前后查询到的行数不一致。,导致另外一个事务已更新的数据丢失了。每次都是对内存中的数据进行操作,...
2022-08-01 16:32:59 464
原创 操作系统学习-2. 进程和多线程
进程是正在运行程序的抽象也是软件执行在内存中副本进程是资源分配的最小单位,线程是执行计算最小单位1是因为进程切换成本很高2是进程内部又分很多工作要做,因此,在进程中创建一种更加轻量的执行单位-线程例如Java创建线程跑在JVM虚拟机上,无需操作系统感知。......
2022-07-31 20:54:48 154
原创 多线程学习笔记-1.CAS
本质上是CPU的特殊指令由于是指令,由CPU保证了原子性,因此是线程安全的如果只考虑值的变化,有可能A被别的线程改成B,最后又改成了A,这样,当前线程会误以为没有版本变化,这样后序的一些操作会有隐患解决的策略是仿照数据库,给每个版本增加一个版本号进行维护,每次比较不只看值,还比较版本号是否改变。......
2022-07-15 11:25:40 146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人