引言 一直在使用redis,但是却没有系统的了解过它的底层实现,准备边学习边记录,深入了解redis。 打算分析以下几个方面: redis的基本类型及底层原理与java对比,每种数据类型的使用场景 redis底层对象 key的一致性Hash算法 单线程的redis“快” redis的过期策略以及内存 ...
分类:
其他好文 时间:
2019-12-11 00:37:13
阅读次数:
81
第十一关 strrpos() 函数查找字符串在另一字符串中最后一次出现的位置 substr() 函数返回字符串的一部分 文件保存的方式是上传路径+随机时间+截取的文件后缀 其中上传路径可控,可以利用这一点 绕过方法 利用00截断进行绕过,即move_uploaded_file函数的底层实现类似于C语 ...
分类:
Web程序 时间:
2019-12-10 00:40:48
阅读次数:
158
代理模式是一种很常见的模式,关于底层原理网上看到很多的有关的讲解,但看了一些都觉得比较粗略,很多时候把底层代码copy下来也不大讲解,感觉不如自己详细的写上一篇。本文将以非常详细的说明来分析cglib动态代理底层的实现原理,篇幅较长,但是每个核心方法代码中每步都有说明。还请耐心阅读 1. 举例 使用 ...
分类:
其他好文 时间:
2019-12-07 01:18:55
阅读次数:
87
一、基础 ArrayList不是线程安全的,底层实现是Object数组。默认容量DEFAULT_CAPACITY为10. 二、 三、扩容 ArrayList初始大小为0,在添加第一个元素的时候,调用add方法,进入add方法时,需要先确定容量足以放下这个元素 进入ensureCapacityInte ...
分类:
编程语言 时间:
2019-12-06 00:40:34
阅读次数:
125
代理模式是一种很常见的模式,关于底层原理网上看到很多的有关的讲解,但看了一些都觉得比较粗略,很多时候把底层代码copy下来也不大讲解,感觉不如自己详细的写上一篇。本文将以非常详细的说明来分析jdk动态代理底层的实现原理,篇幅较长,但是每个核心方法代码中每步都有说明。还请耐心阅读 1.举例 执行mai ...
分类:
其他好文 时间:
2019-12-05 18:26:33
阅读次数:
95
一、学习大纲 队列的定义、分类、基本方法 队列的实现代码 队列的底层实现(数组、链表) 队列的的分类:顺序队列、循环队列 二、队列 1. 队列的定义:先进者先出的一种 操作受限的线性表数据结构 ,它包含 入队enqueue()和dequeue() 两个基本的操作; 作为一种非常基础的数据结构,队列的 ...
分类:
编程语言 时间:
2019-12-01 16:37:49
阅读次数:
89
首先,malloc和new申请的都是虚拟内存 malloc函数的实质,有一个将可用的内存块连接起来的链表,调用malloc的时候,会沿着链表找一个满足用户需求的内存块。然后将这个内存块一分为二,一块和用户所申请的内存大小相同,另一块返回到链表中。如果用户申请一个大的内存块,空闲链表上可能没有可以满足 ...
分类:
其他好文 时间:
2019-12-01 13:55:10
阅读次数:
466
网络由下往上分为: 物理层 数据链路层 网络层 -- IP协议 传输层 -- TCP协议 会话层 -- 表示层和应用层 -- HTTP协议 1、TCP/IP连接 TCP传输控制协议,是一种提供可靠数据传输的通用协议 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端机通过无线网 ...
分类:
Web程序 时间:
2019-11-30 10:02:51
阅读次数:
80
什么是CommonJS规范?它与NodeJS是什么关系呢?CommonJS 的底层实现原理是什么? ...
分类:
Web程序 时间:
2019-11-30 00:14:47
阅读次数:
198
出处:序列化和反序列化的底层实现原理是什么? 一、基本概念1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程; (2)**序列化:**对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可 ...
分类:
编程语言 时间:
2019-11-25 23:48:33
阅读次数:
85