积累
文章平均质量分 56
来老铁干了这碗代码
算法爱好者 终生学习践行者 雨雪刀霜阻不住 不成大神誓不休
展开
-
【通俗易懂】什么是状态机?
前言状态机在实际工作开发中应用非常广泛,在刚进入公司的时候,根据公司产品做流程图的时候,发现自己经常会漏了这样或那样的状态,导致整体流程会有问题,后来知道了状态机这样的东西,发现用这幅图就可以很清晰的表达整个状态的流转。很多协议的开发都必须用到状态机;一个健壮的状态机可以让你的程序,不论发生何种突发事件都不会突然进入一个不可预知的程序分支。本篇文章带你简单了解一下状态机什么是状态机?定义状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。先来解释什么是“状态”( Stat翻译 2021-10-26 11:03:52 · 1347 阅读 · 0 评论 -
【通俗易懂】C语言中,for循环中i++与++i的区别
然后我们也知道for循环的执行顺序:for(A;B;D) { C;}按ABCD的顺序执行。因此for(int i = 0; i<10; i++) { printf("%d", i);}相当于for(int i = 0; i<10;) { printf("%d", i);、 i++;}而for(int i = 0; i<10; ++i) { printf("%d", i);}相当于for(int i = 0; i&l原创 2021-10-25 15:43:16 · 903 阅读 · 1 评论 -
最最最最终极办法!解决Idea乱码问题
如果所有能试过的方法都试过了,还是没有用。就下载一个最新版的Idea专业版,注意是专业版! 专业版里有更强的对编码的转化功能!整整找了两天的Bug,最后下了个专业版解决了问题!原创 2021-07-14 10:14:48 · 126 阅读 · 0 评论 -
通俗易懂!navicate如何导入MySQL数据库的.sql文件?
1、启动navicate,新建一个连接2、右键连接,选择新建数据库建立一个与要导入sql文件同名的数据库,比如我要导入的.sql文件名是miaosha.sql,我要建立的数据库名字就是miaosha3、右键连接,选择运行SQL文件选项,点击导入。导入完成后,右键刷新即可。如果刷新后数据库还未更新,就重新启动一下。有用就点个赞吧!...原创 2021-07-04 13:35:18 · 638 阅读 · 3 评论 -
史上最全总结!Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析
文章目录前言工具类层Util数据层POJO对象domainentitymodel总结数据访问层daomapper业务层service控制层Controller前言做开发项目时,总会遇到这些包,理清他们的层次,非常有助于我们对于项目的理解和建立。现阶段CSDN上貌似没有很系统,很详细的关于层级类的解释。因此总结了一下自己的经验和思考,也算是小小的回馈一下一直帮助自己的CSDN。工具类层Utilutil = 工具顾明思义,util层就是存放工具类的地方,对于一些独立性很高的小功能,或重复性很高原创 2021-07-01 09:59:10 · 11160 阅读 · 32 评论 -
深入理解input中的value、name、id的区别和用法——Web前端自学笔记
value:指该标签本身的值,如<input type="button" value="123">这条语句运行出来时,button按钮上显示的数值就是123;name:指一类控件的名称,可以重复。如<input type="button" name="123" value="提交">这条语句运行出来时,该按钮上显示的值为提交,该按钮的名字是123id:指唯一区分控件的属性值,含义与name相同,不过id值是唯一的,而name允许重复。即:<input type="but原创 2021-06-28 14:52:52 · 4969 阅读 · 1 评论 -
万字硬核!史上最详细的Maven教程!——双非上岸阿里巴巴系列
前言:工欲善其事必先利其器,只有先了解了Maven后,才能更好的使用Maven编写项目。文章目录Maven教程第一章 Maven简介1.1 Maven概述1.2 Maven的作用1.3 Maven的使用方式1.4 Maven的核心概念1.5 安装Maven环境1.6 Maven的编译过程第二章 Maven的核心概念2.1 Maven工程约定的目录结构2.2 pom.xml文件2.3 仓库2.4 Maven的生命周期2.5 Maven的常用命令2.6 插件2.7 坐标(gav)2.8 依赖(depende原创 2021-06-28 10:20:38 · 3422 阅读 · 44 评论 -
使用最新版mysql 8.0.11会出现的一些问题
最新版的mysql更新了驱动加载方式和数据库的连接方式如果仍然使用旧版的Mysql的连接方式,就会出现许多错误。更改前:mysql的连接指令String driver = "com.mysql.cj.jdbc.Driver";String URL = "jdbc:mysql://localhost:3306/studentString username = "root"String password = "root"更改后:mysql的连接指令其中driver中需要添加.cjurl中需添原创 2021-06-28 09:55:12 · 247 阅读 · 2 评论 -
版本号后面有SNAPSHOT是什么意思
文章目录 Alpha Beta GammaRC GA RSNAPSHOTTrial Unregistered Demo Lite Full-VersionSC CN GBK TC CHT BIG5 EN Multilanguage其他版本 Alpha Beta Gamma 按开发阶段分 Alpha :内测版 有Bug 测试人员使用Beta 测试版 无大Bug 可能加入新功能Gamma :相当成熟的测试版,与即将发行的正式版相差无几 RC GA R RC:候选版,不再添加新功能了,主要..原创 2021-06-25 11:13:45 · 7530 阅读 · 0 评论 -
【终极办法】windows下安装完MySQL,为什么cmd不识别命令?
原因:环境变量中的path没有配置MySql的路径1、找到MySql在文件夹的位置,并且测试MySql是否安装到了本机上测试方法:cmd进入MySql所在的文件夹,进行MySql操作,如果可以,则证明成功安装了MySql2、我的电脑——>右键单击属性——>点击高级系统设置——>点击高级——>点击右下角的环境变量选项,在系统变量中找到Path项并配置3、重开一个cmd,发现可以正常运行了OVER!!!有用就点个赞吧!...原创 2021-06-22 16:32:13 · 4015 阅读 · 2 评论 -
计算机网络面经大全——双非上岸阿里巴巴系列
双非本科,四面成功上岸阿里巴巴,在这里把自己整理的面经分享出来,希望能帮到大家。文章目录1. 网络篇1. Http和Https的区别2. 公钥和私钥3. 对称加密与非对称加密4. 客户端在使用HTTPS方式与Web服务器通信时的步骤5. 从输入URL到页面加载发生了什么大致流程具体叙述6. TCP协议的六种标志7. IP地址分类8. 常见状态码9. 三次握手与四次挥手1.1 三次握手过程1.2 为什么要三次握手,两次不行吗?1.3 三次握手过程中可以携带数据吗1.4 SYN攻击是什么2.1 四次挥手2.原创 2021-05-27 09:41:59 · 9787 阅读 · 41 评论 -
【面试必备】GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookma转载 2021-02-04 16:28:48 · 1348 阅读 · 0 评论 -
string所有函数详解——史上最全,最贴心
简介区别于#include<string.h>头文件,#include<string>头文件中的函数专门用于处理C++中string字符串。而前者是用来处理C语言中char数组的头文件。常用函数一、运算符: +、=、[]1、在C++中,string重载了+、=、和[],可以让我们十分方便的对字符串进行运算。#include<iostream>#include<string> using namespace std;int main() {..原创 2021-01-23 12:25:50 · 9655 阅读 · 2 评论 -
关于sscanf与结构体不能联用的问题
sscanf对空间的开辟是连续的。举个例子: 如果结构体中定义一个s1[10],再定义一个s2[3],输入s1后, 通过sscanf对s2赋值, 这时,s2的空间就会开辟在s1后面, 如果我们输入的s1正好10个字母, 那么接下来输出s1时, 就会连带着s2一起输出。如下代码段:include<bits/stdc++.h>using namesapce std;struct student{ char s1[10], s2[3]; };int main { student原创 2021-01-24 15:14:39 · 1524 阅读 · 0 评论 -
【最贴心】C++字符串转换(stoi;stol;stoul;stoll;stoull;stof;stod;stold)
先说结论:stoi: string型变量转换为int型变量stol: string型变量转换为long型变量stoul:string型变量转换为unsigned long型变量stoll: string型变量转换为long long型变量(常用)stoull:string型变量转换为unsigned long long型变量stof: string型变量转换为float型变量stod: string型变量转换为double型变量(常用)stold:string型变量转换为long dou原创 2020-11-28 19:32:50 · 6570 阅读 · 2 评论 -
约瑟夫环递推公式的由来(约瑟夫环公式法)
约瑟夫问题约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。首先A开始报数,他报1。侥幸逃过一劫。然后轮到B报数,他报2。非常惨,他被杀了C接着从1开始报数 接着轮到A报数,他报2。也被杀死了。最终胜利者是C解决方案普通解法刚学数据结构的时候,我们可能用链表的方法去模拟这个过程,N个人看作是N个链表节点,节转载 2020-08-12 23:22:01 · 1197 阅读 · 0 评论 -
int、long、long long __int64取值范围
Mark~~一下。。unsigned int 0~4294967295int -2147483648~2147483647unsigned long 0~4294967295long -2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigned long long的最大值:1844674407370955161__int64的最大值:92233转载 2020-05-22 21:30:00 · 906 阅读 · 0 评论 -
应该掌握的神奇函数——sscanf的用法
概述:sscanf的作用:从一个字符串中读进于指定格式相符的数据。利用它可以从字符串中取出整数、浮点数和字符串。sscanf和scanf的区别:scanf是以键盘作为输入源,sscanf是以字符串作为输入源。sscanf:原型:int sscanf(const char *str, const char *format,......);说明:sscanf()会将参数str的字符...原创 2020-03-14 22:03:35 · 892 阅读 · 0 评论 -
大数系列三——斐波那契数列——高效万进制,亿进制
浅谈万进制思想:日常生活中我们习惯用十进制去运算;为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制。世上本没有路,走的人多了,也便成了路,那么既然二进制可以衍生出8,16进制,为什么十进制不可以衍生更大的进制呢?因此聪明的人们开发出了万进制,也就是10^4=10000 模仿二进制与十六进制的运算。渐渐的,我们发现万进制在进行大数运算方面有着...原创 2020-03-11 23:19:40 · 1130 阅读 · 0 评论 -
如何快速理解递归——看这个就可以了
例题:问题描述FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。样例输入:3样例输出ABACABA解:1、规律: 2、说一下递归函数:递...原创 2020-03-01 09:59:12 · 1261 阅读 · 1 评论 -
回溯和递归的区别
最近看数据结构,发现用到了很多递归和回溯的问题,实在是不知道这两具体有啥区别,最近查了点资料,大概总结一下。递归:为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态……这种用自已来定义自己的方法,称为递归定义。形式如 f(n) = n*f(n-1), if n=0,f(n)=1.回溯:从问题的某一种可能出发, 搜索从这种情况出发所能达到的所有可能...转载 2020-02-29 11:23:09 · 1141 阅读 · 0 评论 -
简介明了——map+multimap头文件函数详解
简介: 只需要记住这些:1、map函数是一种映射,key–>value2、map重载了[]运算符,所以可以直接使用3、map中key值有序且去重(默认升序) 为了更方便、易懂, 笔者将每个函数的用法都注释在了代码中,同学们想要验证或加深印象直接复制到编译器里就可以运行。代码:#include <iostream>#include <map>...原创 2020-02-24 23:23:15 · 2637 阅读 · 1 评论 -
algorithm头文件函数全集——史上最全,最贴心
不知大家可否遇到这种情况:一道题想出思路后,一般都习惯性的百度一下有没有“现成的函数”可以调用,往往收获不菲,增长很多奇奇怪怪的知识。而这些“现成的函数”大部分都来自于algorithm头文件。简直是我等懒癌的福音啊! 当然,也有很多朋友喜欢自己写函数。因人而异吧,哈哈 为了更方便、易懂, 笔者将每个函数的用法都注释在了代码中,想要验证或加深印象直接复制到编译器里就可以运行。代码:...原创 2020-02-22 20:50:57 · 73599 阅读 · 63 评论 -
快来mark! 结构体重载运算符大全(运算、比较、赋值、输入输出)
学习紫皮书的结构体重载时,刘先生只给了加法、输出两种重载方式,成功激发了笔者的探索欲(不学懂心痒痒系列)。但当笔者网搜时,弹出的结果可真是千奇百怪、五花八门。有定义在结构体里的, 有定义在外面的, 有缺比较的,有缺输入输出的,简直惨不忍睹。让人头晕眼花。经历了漫长的修炼,笔者终于mark齐了统一格式的全部的运算符重载,分享给大家,让我们一起:吧!注:笔者采用结构体内定义的方式,将运算符分...原创 2020-02-22 12:53:55 · 4902 阅读 · 1 评论 -
priority_queue优先队列的用法总结
最近在刷题时很多次遇到了优先队列的用法,在这里mark一下,做个总结。注意:代码中的所有语句都被注释掉了,以方便读者复制到自己的编译器中理解,调试。对哪段不理解直接取消注释运行就行了。代码:#include<iostream>#include<cstdio>#include<queue>using namespace std ;struct ...原创 2020-02-20 17:56:48 · 607 阅读 · 0 评论 -
给Dev-Cpp开挂
最近在刷题后核对答案,翻阅别人的代码时总能发现一些陌生而奇怪的函数:**auto、stoi、atof、to_string、unordered_map…**它们往往功能强大,让人捉摸不透,但搬到自己的Dev C++试运行,却总是弹出一堆奇怪的错误!百度过后仿佛打开了新世界的大门,原来可以通过设置解决:好!接下来我们可以肆无忌惮的开挂了。开挂前for(int i = 0; i < n...原创 2020-02-20 17:15:32 · 712 阅读 · 0 评论 -
被忽略的知识点——switch语句
笔者经常遭遇这种情况:美美的AC出一道题,与同学、朋友交流经验后发现最佳解法是用switch。What?这鸟语句什么格式来着,往往手忙脚乱的网搜switch用法。**在同一个地方摔倒多次后,**笔者痛定思痛,决定系统的总结一下switch的基本用法,既可以装b 方便自己,也希望同学们不走笔者的老路(o(╥﹏╥)o)基本格式:switch (c) { case 变量1 : 语句1 ; ...原创 2020-02-20 16:39:52 · 737 阅读 · 0 评论 -
神奇的sstream头文件(整型与字符串自由转换)
疫情当前,“串门就是互相残杀,聚会就是自寻短见”,所以,让我们一起快乐的敲代码吧!这次分享的知识是:如何让整型、实型、字符型自由转换。 话不多说上代码://#include<bits/stdc++.h> 万能头文件#include<iostream>#include<string.h>#include<sstream> using ...原创 2020-02-13 16:40:26 · 875 阅读 · 0 评论 -
ctype.h(cctype) 头文件函数大全
代码块里是笔者认为比较常用的函数,底部的附录是对cctype头文件中所有函数的归纳。#include <iostream>#include <cstdio>#include <cctype>using namespace std ;int main(){// 1、判断是否字母 (大写返回1,小写返回2,不是返回0)// cout <&...原创 2020-02-11 18:36:19 · 897 阅读 · 0 评论