[TOC] VS2015 查看内存布局 1 打开VS,创建一个项目, 项目 属性 C/C++ 命令行 2 添加可选项 /d1reportSingleClassLayout 3 运行程序 4 调出输出窗口:Alt+12,下拉输出来源,选择生成顺序。 1 空类 为什么空类大小为1字节:因为c++有规定, ...
分类:
编程语言 时间:
2020-04-30 13:23:40
阅读次数:
78
HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的“必考题”。它实现了基于“K V”形式的键值对的高效存取。JDK1.7之前,HashMap是基于数组+链表实现的,1.8以后,HashMap的底层实现中加入了红黑树用于提升查找效率。 HashMap根据存入的键值对 ...
分类:
其他好文 时间:
2020-04-24 23:27:34
阅读次数:
151
跳跃表 跳跃表是有一种有序的数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。大部分情况下,跳跃表的效率可以和平衡树媲美。 Redis使用跳跃表作为有序集合键的底层实现之 ...
分类:
其他好文 时间:
2020-04-24 01:52:51
阅读次数:
92
RedisObject结构 type类型 encoding类型 encoding 表示 ptr 指向的具体数据结构,即这个对象使用了什么数据结构作为底层实现。 string 如果一个字符串对象保存的是整数值,并且这个整数值可以用 long 类型标识,那么字符串对象会讲整数值保存在 ptr 属性中,并 ...
分类:
其他好文 时间:
2020-04-21 13:03:24
阅读次数:
52
# 一面 1. RAII底层原理,使用Java实现2. TCP讲一下,泛洪攻击讲一下怎么避免,TCP keepalive了解吗?3. 数据库隔离级别,不同隔离级别的现象解释一下。4. 数据库的锁机制5. 悲观锁、乐观锁讲一下6. 自旋锁互斥锁,适用于什么场景,自旋锁底层实现7. TCP的RST了解吗... ...
分类:
编程语言 时间:
2020-04-21 12:45:59
阅读次数:
84
迭代器 Iterator 是什么? 答: Iterator 是可以遍历集合的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和底层实现(解耦)。 缺点是增加新的集合类需要对应增加新的迭代器类,迭代器类与集合类也成对增加。 参考博文:https://blog.csdn.net/meism5/ ...
分类:
其他好文 时间:
2020-04-21 09:46:54
阅读次数:
78
纯手工敲上去的,可能有些许偏差,见谅 集合的框架 Collection集合 存储特点 是单列集合的顶级接口。在这种集合中存储的数据只占一列。所有元素直接存储于各种数据结构中 Collection集合没有下标的概念。 是否有无下标,要通过它底层实现来进行理解。若是数组和链表则就会有下标,反正则没有。 ...
分类:
其他好文 时间:
2020-04-17 23:29:11
阅读次数:
72
| | ArrayList|LinkedList | Vector | | | | | | | 线程 | 不安全 | 不安全 | 安全 | |底层实现 | 数组 | 双向链表 | 数组 | | 随机访问 | 效率高 | 效率低 | 效率高 | | 随机插入删除 | 效率低 | 效率高 | 效率低 | ...
分类:
其他好文 时间:
2020-04-16 22:11:53
阅读次数:
78
线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡、插入、选择、归并和快排,其中综合性能最好的就是快排(快速排序),所以快排在工程实践中也有大量的应用,比如很多编程语言都提供了排序函数,而这些排序函数基本都是基于快速排序实现的,比如 PHP 的数组排序函数 sort 就是如此。 今天我们 ...
分类:
编程语言 时间:
2020-04-15 21:45:27
阅读次数:
164
通过分析JDK1.7和1.8两个不同版本的源码,讲解了ConcurrentHashMap中节点数目并发统计的底层实现原理 ...
分类:
其他好文 时间:
2020-04-15 18:16:02
阅读次数:
86