- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 负载均衡学习之路
文章目录一、 负载均衡分类及特点 负载均衡是一种计算机网络技术,建立在现有网络结构之上,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其它资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。一、 负载均衡分类及特点 根据计算机网络的OSI模型,负载均衡可以分为以下几类:...
2021-04-07 09:52:17 554 1
原创 Java学习之路二:Java基础框架组件
Java基础框架组件一. Maven1.1 POM1.2 Jar Repositories 大量的应用使用Java进行开发,其原因之一是Java拥有非常丰富和框架与基础组件,这些框架与组件使得Java的开发十分高效和便捷。一. Maven Maven是基于项目对象模型(POM),利用一个中央仓库管理项目的构建、报告和文档等操作过程。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven的框架如下图所示:1.1 POM POM(Project O
2021-03-24 00:04:00 256
原创 Java学习之路一:Java基础
Java基础 Java介于编译型语言和解释型语言之间。编译型语言(C、C++)其代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。解释型语言(Python、Ruby)由解释器直接加载源码然后运行,代价是运行效率太低。而Java是将代码编译成一种“字节码”,针对不同平台编写虚拟机(JVM),不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”。 Java中包括很多的开发工具,如JDK(Java Dev
2021-03-07 23:06:11 363
原创 分布式学习之路一
分布式一. 分布式基本特性 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统分为分布式计算(computation),分布式存储(storage),分布式管理(mangement)。 Q1. 分布式与集群的区别 ? ① 分布式是工作方式,而集群是一种物理形态 ② 分布式将不同的子业务分布在不同的位置,而集群是将多台服
2021-02-27 23:31:48 123
原创 开发工具之一:Git
Git一. Git的工作流程及结构1.1 Git的工作流程1.2 Git结构与命令 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。一. Git的工作流程及结构1.1 Git的工作流程 Git 作为一个源码管理系统,需要多人协作。那么协作必须有一个规范的工作流程,对于Git,其工作流程如下图所示: 项目的主分支master用于存放对外开放的版本,任何时候在这个分支拿到的,都是稳定的分布版。其他的分支则是用于开发的分支。 git的工作流程如下
2021-02-07 23:51:21 475
原创 数据库学习之路一:MySQL
文章目录一. MySQL 数据库概述二. SQL 语言1.1 InnoDB 引擎后台线程一. MySQL 数据库概述 数据库是是依照某种数据模型组织起来数据的集合。在数据库之上存在着数据库实例程序,该程序是用户与操作系统之间的数据管理软件。因此,MySQL其实是一种基于客户端-服务器的数据管理软件(DBMS),用于管理存放数据的文件。 MySQL是属于关系型数据库,采用了关系模型来组织数据的数据库,其以行和列的形式存储数据。其特点如下:二. SQL 语言 MySQL通过结构化查询
2020-10-29 21:02:42 692
原创 大纲
文章目录计算机网络 https://blog.csdn.net/weixin_42963969/article/details/103549126操作系统与Linux2.1 计算机系统 https://blog.csdn.net/weixin_42963969/article/details/1057687642.2 操作系统 https://blog.csdn.net/weixin_42963969/article/details/1052559482.3 Linux系统 https://b
2020-08-09 17:09:52 183
原创 计算机系统与操作系统学习之路三:Linux系统
文章目录三、Linux 系统1、Linux 进程编程1.1 idle 进程(0号进程)1.2 init 进程(1号进程)1.2 父进程与子进程2、Linux 多线程编程2、Linux 网络编程1.1 Socket API1.2 Socket 建立连接 操作系统是管理计算机硬件与软件资源的计算机程序。操作系统是计算机中负责支撑应用程序运行环境以及用户操作环境的系统软件。三、Linux 系统...
2020-05-02 23:45:52 1023
原创 计算机系统与操作系统学习之路一:计算机系统
文章目录一、计算机系统1. 计算机系统的整体框架2. 存储器2.1 存储缓存 cache3. 程序3.1 程序编译3.2 程序局部性一、计算机系统1. 计算机系统的整体框架 一个经典的计算机系统,通常由五部分组成:运算器,存储器,控制器,输入设备,输出设备。如下图为更详尽的计算机的系统框架: ① 总线:总线用于各个部件间的信息的传递,总线被设计成传送定长的字节块(字,word)。...
2020-04-28 23:11:55 475
原创 C++学习之路三:设计模式
文章目录三、设计模式1. 设计模式需要遵循的基本原则2. 设计模式具体实现2.1 单例模式三、设计模式 设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 设计模式分为三大类: ① 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 ② 结...
2020-04-04 09:33:24 317
原创 计算机系统与操作系统学习之路二:操作系统
文章目录一、操作系统体系结构二、进程与线程2.1 进程创建/终止/调度2.2 进程间通信三、死锁3.1 资源循环及死锁的产生3.2 死锁问题解决四、内存管理4.1 内存地址的查找4.2 内存超载问题4.3 内存(页面)置换问题五、文件管理 操作系统是管理计算机硬件与软件资源的计算机程序。操作系统是计算机中负责支撑应用程序运行环境以及用户操作环境的系统软件。一、操作系统体系结构二、进程与...
2020-04-03 09:43:24 838
原创 算法与数据结构学习之路三:数学问题
文章目录四、数学基础1.素数(质数)问题2. 最大公约数与最小公倍数问题3.分解质因数四、数学基础 数学是程序的基础,很多问题可以通过转换为数学问题而减少计算过程,从而减少算法的时间复杂度。1.素数(质数)问题 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 素数的常见问题如下: (1). 如何获得自然数n以内的全部素数? 常用的素数的检测...
2020-03-31 09:36:40 211
原创 算法与数据结构学习之路一:数据集合及其结构
文章目录一、前言二、数据结构基础一、前言 算法与数据结构是程序的精髓与灵魂。所谓数据结构,就是数据在内存中的存储方式。所谓算法,是在数据结构的基础之上,针对某一特定问题产生了解决思路和方法。因此算法与数据结构中,数据结构是基础,算法是在基础之上的解决方案。二、数据结构基础...
2020-03-27 22:59:37 1086 1
原创 算法与数据结构学习之路二:算法基本思想
文章目录三、算法基本思想1. 排序思想1.1 排序的概念1.2 常见的排序方法2. 查找思想3. 动态规划4. 贪心思想三、算法基本思想1. 排序思想 排序思想是一个"古老而经典"的解决问题的方法。排序的依据是关键字之间的大小关系。1.1 排序的概念 (1). 什么是排序的稳定性? 假设ki=kj (i≠j),且在排序前的序列中i>j,若排序后的序列中i>...
2020-03-13 23:14:00 1027
原创 算法与数据结构学习之路三:算法与数据结构的融合应用 -- 字符串
文章目录六、字符串1.字符串匹配问题 -- KMP六、字符串1.字符串匹配问题 – KMP KMP算法是一种改进的字符串匹配算法。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的,消除了指针i的回溯问题。KMP算法的时间复杂度O(m+n)。设主串为Str,模式串为Pat,以 Str=BBC ABCDAB ABCDABCDABDE ...
2020-03-04 20:17:48 166
原创 算法与数据结构学习之路三:算法与数据结构的融合应用 -- 一些数学问题
文章目录四、数学问题1. 素数(质数)问题四、数学问题1. 素数(质数)问题 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 素数的常见问题如下:???? ① 如何获得自然数n以内的全部素数 ? 常用的素数的检测方法为:埃拉托斯特尼筛法(埃氏筛) 该算法思路为:【要得到自然数n以内的全部素数,必须把不大于n\sqrt nn 的所有素数的倍数剔除,剩下...
2020-03-03 22:29:24 203
原创 算法与数据结构学习之路三:算法与数据结构的融合应用 -- 栈与队列
文章目录五、栈与队列问题1. 数据栈与辅助栈解决问题2. 队列与栈的转换(相互实现)3. 单调栈五、栈与队列问题 栈是数据结构的基础,也是解决问题的重要方法。???? STL中的栈与队列 在STL中,stack表示栈,Queue表示队列。 (1).stack stack是通过序列容器来实现的。stack主要有以下几个特点: ① stack严格遵循后进先出(LIFO)...
2020-03-03 22:28:53 164
原创 数据库学习之一:MySQL
文章目录〇 数据库概述一. InnoDB存储引擎1.1 InnoDB引擎后台进程1.2 InnoDB引擎内存1.3 CheckPoint技术二. 表2.1 InnoDB逻辑存储结构2.2 约束2.3 视图 VIEW2.4 分区 PARTITION三. 索引与算法3.1 B+树索引3.2 哈希算法3.3 全文检索四. 锁待整理内容〇 数据库概述???? 0.1 数据库简述 数据库是...
2020-03-03 22:28:01 247
原创 计算机网络基础
文章目录一、计算机网络体系结构二、网络层2.1 IP协议 所谓的计算机网络就是一个大的协议规则,用户通过这些协议将用户数据传递到实际的物理链路上进行传输,到达指定的地址后,再进行一层层的协议解析获得用户的数据。一、计算机网络体系结构 计算机网络是计算机相互连接的基础,是一组组定义的不同设备与层之间的协议。不同的标准对网络体系结构的定义是不同的: ① 应用层:通过应用进程间的交...
2020-02-04 18:03:34 347
原创 算法与数据结构学习之路三:算法与数据结构的融合应用 -- 树
文章目录二、树1. 普通二叉树2. 二叉搜索树(BST)二、树 面对树的数据结构问题,重点是要理解不同种类的树的性质,以及其运算过程。在树的数据结构中,常用递归来求解,必须熟悉掌握递归过程中的逻辑关系。 针对树数据结构的递归问题,通常通过以下一个三个步骤去理解和建立递归: ① 整个递归的终止条件及终止后的返回值。 ② 找到递归的返回值-注意,这里的递归返回值与终止后...
2019-12-19 16:13:48 397
原创 C++学习之路一:C语言基础
文章目录一、C++ 函数1. 函数简介2. 函数参数与参数传递3. 函数的递归4.内联函数 inline5. 引用5.1 何时使用引用5.2 引用的应用5.3 引用总结6. 函数默认参数7. 函数重载7.1 运算符重载8. 函数模板(泛型编程)一、C++ 函数1. 函数简介 2. 函数参数与参数传递 在C++语言中函数有两种传参的方式: 传值和传址。 ...
2019-12-04 22:44:15 1206 1
原创 Effective C++总结
Effective C++一.让自己习惯C++条款1.视C++为一个联邦C++以C语言为基础,添加了C With Object, Template C++和STL条款02.尽量以const,enum,inline替换#define1.const 与#define的区别:① 类型和安全检查不同:const定义的常数是变量,带类型,#define定义的只是个文本,不带类型② 编译器处理方...
2019-12-04 17:11:36 837
原创 操作系统与linux编程
文章目录〇 操作系统概述1. 用户空间与内核空间一、进程与线程1.进程2.线程〇 操作系统概述1. 用户空间与内核空间 内核空间用于运行操作系统核心组件,比如内存管理组件,IO交互组件,文件管理、中断管理组件等,同时驱动程序(Driver)也运行在内核空间。 用户空间,用于运行普通应用程序。用户空间是无法直接调用内核空间,只能通过内核提供的接口来调用内核空间。 ????当进程运行在内核空...
2019-12-04 17:10:34 542
原创 算法与数据结构学习之路三:算法与数据结构的融合应用 -- 数组问题
文章目录一、数组1. 杨辉三角问题一、数组1. 杨辉三角问题 杨辉三角,是二项式系数在三角形中的一种几何排列。杨辉三角的重要数学性质:1. 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。2. 第n行的m个数可表示为 C(...
2019-12-04 17:07:51 584
原创 C++学习之路二:C++
文章目录一、C++ Object(对象和类)1. 面向对象编程OOP简介2. 抽象2.1 抽象和类3.友元 friend4.继承4.1 派生类构造函数4.2 派生类和基类的关系 -> is-a关系4.3 继承的关系5. 多态二、C++ 异常安全1.不泄漏资源1.1 RAII技术 Resource Acquisition Is Initialization1.2 shared_ptr() 智能...
2019-11-13 11:12:09 1704 1
原创 Linux 程序工程管理---CMakeLists.txt编译C++
一般来说编译单个C++源文件只需要采用g++指令即可,但是一般工程都是包含几个,几十个乃至几百个源文件。此时,如果用g++指令一个一个去编译就会非常麻烦。所以Linux采用了make指令来根据makefile中的相关规则编译所有的源文件,在这里介绍CMakeLists.txt文件中的部分指令实现简单C++工程的编译。1.C++ 工程的建立 一个完整的C++工...
2019-06-04 20:47:16 631
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人