- 博客(10)
- 资源 (9)
- 收藏
- 关注
原创 HashMap底层数据结构原理解析
老师:JDK中我们最常用的一个数据类是HashMap。那么,谁可以回答一下HashMap的底层数据结构原理是什么呢?小明:老师,我知道。众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。...
2018-04-18 22:00:53 26394 10
原创 MySQL数据库的几个优化建议
性能是我们衡量应用的一种方式,而应用性能的一项指标就是用户体验,也就是平时我们常说的:“用户需要等待超过合理的时间,才能获得他们想要的东西吗?”在不同的情况和场景下,该指标会有所不同。比如说:对于移动购物应用来说,其响应时间不能超过几秒钟;而对于一个员工的人力资源页面而言,其响应时间则允许比几秒钟更长。因此,不管是什么样的标准,维持应用程序的良好性能都是至关重要的,否则就会引发用户的抱怨(或更...
2018-04-18 21:57:27 2683
原创 程序开发常用加密策略解析
系统开发中,为了系统数据安全,数据加密不可缺少,开发人员需要掌握常见的加密策略。一、数字摘要数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息摘要能够验证消息的完整性。消息摘要采用单向H...
2018-04-18 21:54:17 5281 1
原创 常用数据结构总结
小明:最近常有人讨论数据结构和算法,听他们讨论时总是感觉晕乎好多都不懂,可以普及一下吗?老师:难得你这么爱学习,我们今天就普及一下数据结构的基础知识。数据结构与算法是程序设计的两大基础,是否熟练掌握可以在一定程度上证明你是否有良好的逻辑思维。我们先看一下常用数据结构和算法的整体内容。1.数据的逻辑结构集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无任何其他关系。...
2018-04-18 21:49:29 1781 1
原创 高并发场景下缓存的常见问题
1缓存一致性问题当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。2缓存并发问题缓存过期后将尝试从后端数据库获取数据,这是一个看似合理的流程。但是,在高并发场景下,有可能多个请求并发的去从数据库获取数据,...
2018-04-10 07:58:47 510 1
原创 常用SQL优化方法
1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is n...
2018-04-10 07:55:09 13032 2
原创 数据结构-红黑树解析
小明:老师,红黑树是什么树呀?老师:红黑树是数据结构的一种,在JDK的TreeMap,TreeSet中都用应用,JDK8的HashMap中,当链表树超过8的时候链表会转换为红黑树可以提高查询效率。小明:好深奥哦,可以详细讲讲吗?老师:好吧,要学习红黑树,咱们需要先来理解二叉查找树(Binary Search Tree)。二叉查找树(BST)具备什么特性呢?1.左子树上所有结点的...
2018-04-08 17:54:00 402
原创 MD5算法如何被破解
小明:老师,上次您讲了MD5算法。用它生成的信息摘要,真的可以被破解吗?老师:有很多种方法可以破解,不过需要明确一点,这里所谓的破解,并非把摘要还原成原文。为什么呢?因为固定128位的摘要是有穷的,而原文数量是无穷的,每一个摘要都可以由若干个原文通过Hash得到。小明:如果是这样的话,网上所说的MD5破解到底是怎么回事呢?老师:对于MD5的破解,实际上都属于【碰撞】。比如原文A通过MD...
2018-04-02 20:55:29 80060 4
原创 MD5信息摘要算法解析
小明:老师,最近老板让我研究微信支付的接口文档,可是有个地方我总是弄不明白。老师:什么地方不明白,说来听听。小明:微信支付的接口有许多业务参数,还有一个参数Sign。微信方给了我一个Key,让我把业务参数和Key按一定规则拼接起来,生成Sign参数。着到底是什么鬼?老师:你连这个都不知道呀?这是为了网络传输安全所做的【信息摘要】签名,签名通常使用【MD5算法】来生成的。小明:MD5...
2018-04-01 21:48:08 5409 1
原创 SHA算法系列介绍
我们先来回顾一下MD5算法的核心过程,简而言之,MD5把128bit的信息摘要分成A,B,C,D四段(Words),每段32bit,在循环过程中交替运算A,B,C,D,最终组成128bit的摘要结果。老师:SHA-2的子版本包括SHA-224,SHA-256,SHA-384,SHA-512。再看一下SHA-1算法,核心过程大同小异,主要的不同点是把160bit的信息摘要分成了A,B,C,D,E五段。再看一下SHA-2系列算法,核心过程更复杂一些,把信息摘要分成了A,B,C,D,E,F,G,H八段。
2018-04-01 21:44:18 19276
阿里巴巴9年双11
2018-01-23
阿里巴巴2016双11背后的技术
2018-01-19
Java数据结构概述图表
2017-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人