- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 Linux入门---开发的Linux命令手册
文件 #a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用);f:为强制(force)进行;i:交互模式进行;l:进行硬式连结(hard link)的连结档创建;p:连带操作(例如连通属性一起复制、将子目录所有空文件一并删除等);r:递归操作;
2023-04-24 22:32:12
960
原创 ProtocolBuffer入门和使用
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wHRIablp-1681966664637)(ProtocolBuffer.assets/image-20220614102631349.png)](基本和go的内置数据类型是一一映射,除了没有map)(基本和go的内置数据类型是一一映射,除了没有map)
2023-04-20 12:59:03
834
原创 MongoDB实现---WiredTiger
参考:https://zhuanlan.zhihu.com/p/265222573。类似MySQL的数据分页。类似redo log。
2023-04-16 22:11:41
722
原创 MongoDB实现---存储机制
GridFS会将两个集合放在一个普通的buket中,并且这两个集合使用buket的名字作为前缀。默认使用fs命名的buket存放两个文件集合。元数据集合fs.files ,数据文件fs.chunks;MongoDB为了提高检索速度 MongoDB为GridFS的两个集合建立了索引。fs.files集合使用是filename与uploadDate字段作为唯一、复合索引。fs.chunk集合使用的是files_id与n字段作为唯一、复合索引。实现方式:先保存数据文件,再构建元数据文件;
2023-04-15 22:55:03
802
原创 golang-gin框架入门
相当于spring的拦截器,其中的Context的Next方法决定拦截前后。上下文对象同样是gin的基础,在gin中context方法非常的多。类似SpringBoot的SpringApplication;在go和go框架中,上下文是一个非常核心的概念,,当然和原生Context有点不同。到这里启动基本完成,
2023-04-14 22:41:02
2028
原创 安全校验和框架---JWT和Shrio
*Authentication(认证), Authorization(授权), Session Management(会话管理), Cryptography(加密)**被 Shiro 框架的开发团队称之为应用安全的四大基石。Shiro拥有易于理解的API,您可以快速、轻松地获得任何应用程序——从最小的移动应用程序到最大的网络和企业应用程序。安全管理器,对全部的subject进行安全管理, 它是shiro的核心,负责对所有的subject进行安全管理。是一个强大且易用的Java安全框架,
2023-04-13 21:33:12
489
原创 Nginx入门和使用
前面的mimes的types就是hash表。(例如VPN和内网的网关服务器)实现服务对于客户端的单向透明。upstraem模块:配置。,特点是占有内存少,
2023-04-12 22:48:49
460
原创 ElasticSearch入门和基础篇1
由于是列式存储,性能会比较好。uid:Elasticsearch中会存储_uid,其中_uid =type + ‘#’ + id(ES后期没有了type的概念,uid就等于id),或者简称Index,通过Term可以查询到拥有该Term的文档。Lucene是apache的开源的单机搜索引擎框架,ES基于其进行分布式开发和NoSQL数据库级别的支持;ES是基于分布式产生的下面将先介绍ES实现分布式的核心概念,再介绍ES的单机框架(Lucene);Index:索引库支持是进行数据查询的基础,除了前面说到的。
2023-04-10 20:53:20
230
原创 Dubbo代码文档阅读笔记
ExtensionLoader实现类似Spring的单例bean实例化的三级缓存机制可以通过上面的三个目录加载扩展点的ExtensionLoader三个扩展点注册文件就像BeanDefinition各个扩展点ExtensionLoader的实例(类似二级缓存):可以根据扩展点注册名加载扩展点类似在Spring中通过通过注入属性获得实际的Bean实例完整的bean,保存在ConcurrentHashMap中,通过实例名获取;
2023-04-09 17:10:02
145
原创 算法刷题指北-基础篇-子序列问题
这类问题共同特点除了符合dp三要素,共同特点是:所有元素只有两种可能:选或者不选,而且。逻辑数组:逻辑数组由于和数组数组的最大区别在于其。
2023-04-08 22:06:34
183
原创 一文学习Sentinel
下载sentinel源码并选zookeeper持久化方式,然后重新打包:https://www.imooc.com/article/289464。控制台方式(图形界面)配置比较简单,就略过;下面重点介绍图形界面的持久化配置。规则注入:InitFunc的init方法。默认图形界面配置不是持久化的;
2023-04-07 20:30:29
210
原创 一文学习Dubbo
可以借助Hystrix 实现,本身不支持服务熔断(因为dubbo的服务级别是方法,所以其熔断支持级别也是方法);这样就使得Dubbo尽管没有通过web容器提供服务,服务的暴露和引用是RPC的核心,同时尽管没有web容器但是通过Filter实现过滤和安全机制;:GenericService是Dubbo提高的全局服务接口,通常进行服务测试,在泛化调用机制下,全球和响应均为Map格式。Protocol层是Dubbo的核心层,是实现RPC的关键(服务的暴露和服务引用);服务的可用性监控通过和注册中心实现。
2023-04-06 16:16:33
329
原创 一文学习zookeeper
分布式锁临时节点特性和文件目录名的唯一性实现分布式锁和监听机制;例如在目录/appName/lock/myLock下进行操作:在该目录的子目录下建立临时的顺序节点读锁:(可重入设置一个data:read_count计算重入的次数)公平锁:(先检查本session是否在该位置已经获取到锁,否则)若当前存在的所有顺序节点均为读请求,则获得锁;否则监听比当前节点小的最大的写锁节点的状态;写锁:(可重入设置一个data:write_count计算重入的次数)
2023-04-05 21:50:18
209
原创 算法刷题指北-基础篇-背包问题+图(BFS、DFS)+回溯算法
从1开始进行深度优先遍历,借助栈堆结构,那么进行深度优先搜索的时候一种可能的情况是:1,2,3,4,5先后入栈,此时5没有下一没有遍历的节点,所以对于5进行出栈,然后由于4有还未遍历的节点6所以对于6进入入栈,同理7也会进行一次进出栈,然后8、9先后入栈,最后全部出栈;,依赖背包可以转化为分组背包:即将依赖的划分为一组,例如:选择1必须选择2,选择2必须选择3,选择5必选选择3;状态机的角度:例如最大的容量为x,则:状态机包含x中状态,每个物品可以使得状态机由某一状态转为下一状态;
2023-04-03 21:58:41
254
原创 【算法刷题指北-基础篇-常见笔试题型思考角度1
这类问题一般在解释可能首先会考虑使用优先队列,但是如果其解空间(k)比较大,那么时间复杂度即使 klog(xk)都超时时,如果能使用双指针即可降低复杂度为(n+n)log(k)ST表(稀疏表):**稀疏表主要用于RMQ问题中,元素不再修改的情况;**构建完稀疏表后,每次查询复杂度为O(1),因为对于区间[L,R],可以重叠计算而;问题定义:主要有俩种,一种是多次询问、一种是多次修改类问题;二分法有俩类题目非常适用,一种就是**线段树:线段树一般用数组表示,有序数组的查找类题目。
2023-04-02 19:45:36
79
原创 Mybatis实现和文档阅读
Mybatis作为最常见的ORM框架之一,其功能非常强大,而且其几乎完美被Spring嵌入,可以通过阅读和学习其实现思路、发现使用技巧,而且其文档也相当友好,用例非常nice。
2023-04-01 16:22:45
139
原创 算法刷题指北-基础篇-减治法和分治法
这里的核心的就是合并算法,因为每个合并的数组都可以认为是一个有序的数组,按理来说每次只需要对俩个数组各遍历一次:一个是比较及赋值给原数组、一个是直接赋值给原数组(后面细说) 分治法核心就是确定**:问题能划分为大致相等规模的子问题密切子问题的求解方式一样**;减常因子算法主要就是将n的规模变为n/i的规模(i为>1的常量、一般为2)快速排序的核心是:尽可能找到合适的使得哨兵左右俩个节点元素的分区大小一样;减常因子主要就是将n的规模变为n-i的规模(i为常量,一般就是1)毫无疑问同样适合递归和递推。
2023-04-01 16:14:45
665
原创 Redis设计与实现---学习使用和深入理解Redis
Redis是本人接触到的第一个NoSQL数据库,在学习过程中对于其使用和实现花了比较长的周期,遂整理成笔记,已加强对于个人理解和掌握Redis,也希望能帮助新人系统学习Redis。
2023-03-30 15:57:20
288
原创 一文学习MySQL-MySQL必知必会
MySQL是对于数据库理论的很好实践,通过学习其存储引擎、物理和逻辑结构、索引、日志、事务、锁等等必知必会知识,对后续继续学习其他关系数据库和面试都有重要帮助。
2023-03-29 16:14:52
1414
原创 一文学习NIO和Netty
NIO的实现和以其为基础的Netty是学习网络编程的基础,也是学习许多组件、框架底层的IO方式的基础,深入了解Netty对于后续学习Dubbo和各Java实现的中间件具有特别重要的作用。
2023-03-28 15:27:32
446
原创 SpringBoot源码阅读笔记
SpringBoot基于Spring,可以认为是在以Spring为内核的下,为简化其使用套的应用层框架,在该框架中,Boot本身增加了各种特性,也为使用Spring的众多特性提供了优秀案例。
2023-03-27 15:25:35
270
原创 一文学习RabbitMQ
MQ是项目中几乎必然会出现的中间件,RabbitMQ作为入门级的消息中间件网上已经有教程,这里主要是从官方文档系统学习RabbitMQ,为后续学习其他MQ作铺垫。
2023-03-26 15:29:06
149
原创 一文学习golang数据结构的底层实现
golang的channel、slice等作为golang核心数据结构,了解和学习其底层对于后续使用具有重要作用,也将帮助我们了解golang语言的特性;
2023-03-25 17:05:04
448
原创 深入理解Java-JVM-一文学习Java虚拟机(暂更到JDK9)
JVM是理解Java众多特性的基础,学习JVM对于后续调优Java程序和也是Java众多特性、Java框架的实现的基础。
2023-03-25 17:03:41
393
原创 golang一文入门
golang作为一文较新的语言,网上大部分教程均存在浅显错误的问题,下文是根据go圣经以基础的学习笔记,相信会对初学者体系学习有帮助,特别是Java技术栈相关同学。
2023-03-24 17:25:30
696
原创 IDEA的maven不自动编译资源文件
POM加入如下 <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include>
2021-07-14 13:34:01
992
原创 理解NOT EXISTS
EXISTS和NOT EXISTSEXISTS:略NOT EXISTS数据库表 如下三道例题:例题1简略描述思路例题2描述过程例题3重点讲解为什么要这么解 例题1:查找没有选修了课程‘1’的学生的姓名; step1 ------->查选秀课程1的学生的学号 step2 ------->不包含该学号的学生的姓名 例题2:查找选修了所有课程的学生的姓名 step1 ------->即查找没有一门课程,他不选修的学生 step2
2021-03-28 17:37:52
321
原创 ssm整合错误笔记
Could not find resource mybatis-config.xml可能的解决方法:1.查看是否书写错误2.查看构建的项目资源文件是否出现在了target的class里面[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sdYPIhFL-1615616504031)(C:\Users\wuSport\AppData\Roaming\Typora\typora-user-images\image-20210313142032912.png)]3.资源是否在
2021-03-13 14:22:21
179
1
原创 广工数据结构第五单元
【题目】假设以二维数组g[1…m][1…n]表示一个图像区域,g[i][j]表示该区域中点(i,j)所具颜色,其值为从0到k的整数。试编写递归算法,将点(i0,j0)所在区域的颜色置换为颜色c。约定与(i0,j0)同色的上、下、左、右的邻接点为同色区域的点。表示图像区域的类型定义如下:typedef char GTYPE[m+1][n+1];实现下列函数:void ChangeColor(GTYPE g, int m, int n,char c, int i0, int j0);/* 在
2020-10-25 11:37:50
599
2
原创 广工数据结构第三单元计数排序
【题目】已知记录序列L.rcd[1…L.length]中的关键字各不相同,可按如下所述实现计数排序:另设数组c[1…n],对每个记录a[i], 统计序列中关键字比它小的记录个数存于c[i],则c[i]=0的记录必为关键字最小的记录,然后依c[i]值的大小对序列中记录进行重新排列。试编写算法实现上述排序方法。顺序表的类型RcdSqList定义如下:typedef struct {KeyType key;…} RcdType;typedef struct {RcdType rcd[MAXSIZE+
2020-10-25 11:25:44
299
原创 广工第四单元
【题目】假设哈希表长为m,哈希函数为H(x),用链地址法处理冲突。试编写输入一组关键字并建造哈希表的算法。哈希表的类型ChainHashTab定义如下:#define NUM 7#define NULLKEY -1#define SUCCESS 1#define UNSUCCESS 0#define DUPLICATE -1typedef char HKeyType;typedef struct HNode {HKeyType data;struct
2020-10-25 11:03:39
308
原创 广工数据结构第四单元
题目:已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。哈希表的类型HashTable定义如下:#define SUCCESS 1#define UNSUCCESS 0#define DUPLICATE -1typedef char StrKeyType[4];typedef struct {StrKeyType key; // 关键字项int
2020-10-24 17:02:00
468
原创 广工数据结构第二单元斐波拉契数列
已知k阶科波拉契定义为:f0=0, f1=0, …, fk-2=0, fk-1=1;fn=fn-1+fn-2+…+fn-k, n=k,k+1,…试利用循环队列编写求k阶斐波那契序列中第n+1项fn的算法。本题的循环队列的类型定义如下:typedef struct {ElemType *base; // 存储空间的基址int front; // 队头位标int rear; // 队尾位标,指示队尾元素的下一位置int maxSize; // 最大长度}
2020-10-24 16:42:01
255
原创 广工数据结构第一单元科波拉契数列
题目:已知k阶科波拉契定义为:f(0)=0, f(1)=0, …, f(k-2)=0, f(k-1)=1;f(n)=f(n-1)+f(n-2)+…+f(n-k), n=k,k+1,…试编写求k阶裴波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。要求实现下列函数:Status Fibonacci(int k, int m, int &f);/* 如果能求得k阶斐波那契序列的第m项的值f,则返回OK;// 否则(比如,参数k和m不合理)返回ERROR
2020-10-24 16:21:21
147
TC 2.0 && TurboC FOR WIN 10
2022-11-01
TC2.rar(win10适用免安装)
2020-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人