摘要:
概览 数组我们知道,是一种有序连续的数据结构,随机访问的效率高。之所以随机访问的效率高,就是因为它的每个值都有下标,可以根据下标直接找到我们想要的值。 既然我们已经知道了这种思想,那么我们可以用来做什么呢? 接下来我们就讲讲用数组的思想,或者干脆就直接用数组实现的几种巧妙的思路。 堆排序 首先堆是什 阅读全文
摘要:
今天给大家介绍下八股文中的两个重要成员,LinkedHashMap和TreeMap。 这两者都实现了Map接口,也经常会在面试中被拿来与HashMap比较。 到底它们能使用哪些魔法呢,接下来,就让我们开启探秘之旅。 前言 首先我们来看一下HashMap,这玩意儿可是个八股的高频考点,你要是讲不出个1 阅读全文
摘要:
在正文开始之前先讲讲我个人吧。持续了这么一段时间写作,发现一周一篇文章对目前的我来说还是有点吃力的,因为最近加班比较多,周末又容易摆烂,很少有时间想好要写什么。充电时间也感觉不够,所以准备先换成两周一篇文章了。暂时先这么定,后续适应了,再加大强度好了。 好了,开始来填坑了,之前有提到过一个LFU算法 阅读全文
摘要:
首先,什么是LRU算法呢?全称是:Least recently used,也就是最近最旧未被使用的算法。其核心思想就是:最近被访问到的数据,在未来也可能被访问到。 所以按照LRU算法来说,数据是有个优先级的,最近访问到的优先级就最高,例如:顺序访问1 2 3 4 5 6的话,那么在此刻1的优先级 阅读全文
摘要:
最近几天好好补了下血,才恢复了点精力。所以有了一点写些啥的欲望,那就写一下设计模式好了。 设计模式,相信大家应该都或多或少的接触过。总的来说,设计模式是一些前辈们在开发过程中面对一些常见问题抽象出来的通用解决方案,而且也经过了相当长时间的验证,普适性极强,对于大多数问题基本上都能解决。当然如果自己的 阅读全文
摘要:
正如标题所言,今天我们来讲讲hashCode和equals。或许有些人会奇怪了,这两个东西为什么要放在一起来讲呢?这是因为按照JDK规范: 如果两个对象根据equals方法比较是相等的,那么调用这两个对象中的hashCode方法都必须产生相同的整数结果。 所以为了遵守这个约定,就必须在重写equal 阅读全文
摘要:
Java修饰符主要分为两种,访问权限修饰符和非访问权限修饰符。分别作用于类、方法和域(字段)上面,而且他们将起到不同的作用,甚至有些修饰符还是互斥的。接下来我将粗略的介绍一遍,以便看客朋友们能有个印象,起码知道有这么个东西。 访问权限修饰符 见名知义,访问权限修饰符就是为了控制程序的访问权限。那么为 阅读全文