自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 多线程技术实现并发控制在项目中的应用

多线程技术实现并发控制以及在项目中的应用先介绍下原理 多线程技术vs线程同步1多线程技术多线程可以实现并行处理,避免了某项任务长时间占用CPU的时间。大部分计算机都是单CPU处理器,为了运行所有这些线程,操作系统以轮换方式为这些线程提供时间片,给人一种假象,看起来像是同时运行多个线程,进程内的线程共享同一虚拟地址,相关系统资源和全局变量。但是如果两个非常活跃的线程抢占系统CPU时间,线程切换的时候就会消耗掉很多CPU资源,降低系统的性能。这一点在多线程编程时候要格外注意。2 MFC 多线程及线程同

2020-06-03 18:07:07 583

原创 进程的五种基本状态VS活动就绪&静止就绪&活动阻塞&静止阻塞

进程的五种基本状态1 创建状态: 进程正在被创建2 就绪状态: 进程被加入到就绪队列中等待CPU调度3 执行状态: 进程正在被运行4 等待阻塞状态: 进程因为某种原因,比如等待I/O,等待设备,暂时不能运行。5 终止状态: 进程运行完毕交换

2020-05-21 17:20:43 10629 3

原创 彻底搞清楚进程和线程的十条区别

进程和线程的区别我们说为什么有了进程,还要有线程呢???进程可以使多个程序并发执行,以提高资源的利用率和系统的吞吐量。 但是:进程在同一时间只能做一件事。进程在执行的过程中如果阻塞,整个进程就会挂起,即使进程中有些工作不依赖于等待的资源,仍然不会执行。因此,操作系统引入了比进程粒度更小的线程,作为并发执行的基本单位,从而减少并发执行时所付出的时空开销,提高并发性。和进程的三个方面相比,线程的优势如下:从资源上讲,线程是一种非常节俭的多任务操作方式。在linux系统下,启动一个新的进程必须分

2020-05-19 23:20:15 469

原创 数据加密函数设计

数据加密函数vs数据解密函数的设计数据加密函数Function: EncryptDescription: 数据加密函数Table Accessed: Table Updated: Parameter: const CString &sString - 需要加密的数据Return: CString - 经过加密的数据Others: 本加密函数为简单加密函数。加密策略如下:对于需要加密的每一个字符,按照顺序分别与’0’到’9’进行异或,异或后的数据再以16进制格式转换为字

2020-05-19 19:42:34 396

原创 数据解密函数设计

数据解密函数设计数据加密函数可以点这里: 数据加密函数的设计数据解密函数函数名: Decrypt函数描述: 数据解密函数参数: const CString &sString - 需要解密的数据返回值 CString - 经过解密的数据本解密函数是加密函数的反函数。解密策略如下:对于需要解密的字符串符,按照顺序将每两个字符转换为整数,然后与对应的加密因子进行异或操作,异或的结果即为原始的数据。比如:前两个字符为"51",转换为整数为0x51,0x51 ^ ‘0’ = 0

2020-05-19 19:40:47 359

原创 彻底搞懂const指针和指向const的指针

彻底搞懂const指针和指向const的指针我一直觉得迅速掌握一个新的知识点就是拿例子看,那我们直接来咯。看下面三种情况的例子:第(1)种情况有以上两种写法:(1) const int* p 和 int const * p ;我们发现:这两句代码有一个共性:不管 int 和 const 谁在前面,“*” 都在 const 的后面。也就是说这个 p 指针是 一个指向const int类型变量的指针,意思就是变量的值被固定了,不允许被修改。(const int 类型变量就可以理解成con

2020-05-19 19:07:30 533

转载 项目管理经典语录

项目管理经典语录1、中国充满大量非常敬业但不够职业的项目经理,不了解这一点,就做不好中国的项目。2、真正的原因往往都隐藏在表面的理由背后。3、做项目最高境界是和用户形成长期共生双赢关系。4、卖功能,卖利益,卖服务,卖价值,卖口碑,这是做项目的五个境界。5、大项目往往是从小项目建立信任开始的。6、做项目的公司梦想往往是通过项目形成一个好产品去走批量化复制的路。7、做大项目最大的愿望就是“不差钱”,最大的风险就是“没钱花”。8、大项目往往培养出很多赌性十足的销售。9、基于项目型运作最好的商业模

2020-05-17 20:07:52 4382

原创 (售前)销售经理和产品经理的区别以及未来发展

(售前)销售经理和产品经理的区别以及未来发展二者具体做什么。1 销售经理是寻找客户,构建双方买卖意向,然后就是签订合同。(合作协议、订单。)2 售前经理做的工作是根据客户意向制定实现客户需求的解决方案。( 售前经理的工作也就是获取到客户需求后的下一步工作。)拿软件需求来讲,客户需要实现什么功能,实现这个功能需要用到哪些硬件设备、软件、服务等等,解决方案通过后,售前工作通常还有前期相关的项目部署,简单来讲的就是完成合同上能够拿到客户第一笔钱所需要做的事情就就是一个售前经理的职责。进一步补充:

2020-05-17 19:52:41 9540

原创 从尾到头打印链表 之 “C++代码+思路解析 ”(允许原地修改链表)

从尾到头打印链表 之 “C++代码+思路解析 ”(允许原地修改链表)希望我的文字始终给您带来画面感。其实做算法题的过程也是在考验我们的大脑日常解决问题的能力,懂不懂得将生活中碰到的难题拆分,一一解决。今日感悟://不要去刻意记忆代码句,先用起来,积累框架,慢慢拿出来用。//不是所有的框架都是一样的,也要学会适应不同的变化。题目开始咯! 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。//这里敲黑板,千万注意:我们做算法题 ,最基本的也是最关键的题目一定要

2020-05-09 17:03:48 241

原创 数组长度为0和数组为null的区别(最详细易懂)

数组长度为0和数组为null的区别(最详细易懂)拿以下四句代码举例(1)int[] array; //只声明数组,未赋初值。(2)int[] array = null; //数组为null。(3)int[] array = {}; //数组长度为0。(4)int[] array = new int[0]; //数组长度为0。解析:(1)array声明时就在栈内存中开辟一块4byte空间,但是只是声明array,并没有给array装

2020-05-09 08:52:20 4089 1

原创 剑指offer之从尾到头打印链表(最浅显易懂)

从尾到头打印链表 之 “C++代码+思路解析 ”希望我的文字始终给您带来画面感。 题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList//这里敲黑板,千万注意:我们做算法题 ,最基本的也是最关键的题目一定要 理解准确。这道题涉及到允不允许原地修改链表,所以分为以下两种情况。 第一种情况:不允许原地修改链表,如果不允许原地修改链表, 那么可以利用栈后进先出的特点,遍历链表,逐个将链表元素放入栈中, 然后依次弹出栈顶元素并打印。代码实现部分://5月8日str

2020-05-09 00:00:46 999

原创 顺序访问vector的几种方式

顺序访问vector的几种方式vs几种常见算法版权声明:本文为CSDN博主「会表达的码码」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接: link上一篇文章 初始vector 链接在这里哦 初识 C++ vector目录顺序访问vector的几种方式vs几种常见算法1.1 对向量a添加元素的几种方式1.1.1 向向量a中添加元素1.1.2 从数组a中选择元素向向量b中添加1.1.3 从现有向量中选择元素向向量中添加1.1.4 从文件中读取元素向向量中添

2020-05-08 22:52:32 661

原创 初识 C++ vector

初识C++ vector本文链接: link.顺序访问vector的几种方式 : .文章目录初识C++ vector1.vector1.1 vector 简介1.2 vector初始化1.3 vector对象的常用内置函数使用(举例)1.vector1.1 vector 简介vector是向量类型,可以容纳许多类型的数据,所以也可叫它容器。vector其实就是一个动态数组,它是封装好了的类,所以使用vector前应添加头文件#include < vector >1.2 vec

2020-05-08 20:08:23 247

原创 腾讯编程题之压缩算法

> //c++实现#include <iostream>#include <string>using namespace std; int main(){ string s; cin>>s; int i = 0; while(i < s.length()){ if(s[i]...

2020-05-07 19:27:10 491 1

原创 通俗易懂化难啃的虚函数

深入浅出虚函数1 虚函数是什么呢?说白了就是前面加了virtual的函数。大部分都在父类(叫基类也可)里面声明。它存在的意义就是给继承我的子类们留下无限的想象力来完善或完全开发这个功能。上面这个“ 完善呢”是指不是纯虚的函数,也就是一般的虚函数,在父类里面加了一点点实现,剩下的大部分等着“儿子或孙子”去实现嘿嘿。那我上面说的这个“完全开发呢”就是指的这个纯虚函数了,纯虚函数里面是一丁点实...

2020-03-29 01:40:27 1052

原创 程序员面试必备宝典-《剑指offer》“搜索二维矩阵 ” 完整代码+思路总结(c++实现)

程序员面试必备宝典-《剑指offer》“搜索二维矩阵 ” 完整代码+思路总结(c++实现)励志于打造会说话的代码// 最完整 且 最简洁的 c++代码实现(每一句代码都有它的价值)//**2020年3月26日下午(我自己的代码习惯)**#include<iostream>#include<vector>using namespace std;cla...

2020-03-26 21:00:42 199

原创 程序员面试必备宝典-《剑指offer》完整代码+思路总结之 找出数组中重复数字

//今日总结:第一次做新的算法题的时候,想要最短时间实现代码,切记不要加自己的任何思考,每一行都要准确要完全遵照别人正确的代码并且理解转化成自己对这道题的固定思维模板,因为在这个过程中代码稍微任性改掉哪怕一丢丢,你想象不到要去百度查找多少个问题,只为了修改那一丢丢丢bug,而且问题会越查越远,迷失在百度,找不回原来的路.//分析原因:因为每个做算法题都有自己的代码习惯,变量顺序啊,参数设计啊,实现方法啊等等可能都不一样,就像装修房子,每个人的设计细节都不同,所以如果刚开始没经验的时候,就一定要专一的找对一

2020-03-26 08:58:10 443

原创 代码会说话之获取数组长度(c++实现)

获取数组长度(c++实现) ***拿到数组长度需要几种工具***1. sizeof( 数组名 ) / sizeof( 数组类型 )2. 自己写一个自定义函数 (我给它起名getLength)这里是引用int getLength( int nums[] ){int i=0;while( nums[i] )i++;return i;}...

2020-03-25 17:37:15 140

原创 梳理 “剑指offer+LeetCode” 算法思路之找出数组里重复的数字

整理思路之找出数组里重复的数字**题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。搞清楚题目首先要 搞清楚 题目的含义!!!(敲黑板)有以下这 3 个点:1 ...

2020-03-25 16:42:33 193

空空如也

空空如也

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

TA关注的人

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