java基础篇
陌宇柒
这个作者很懒,什么都没留下…
展开
-
单例模式的懒汉式,饿汉式详解
什么是单例模式?单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式的优缺点:优点在内存中只有一个实例对象,减少内存开销。解决了频繁创建和销毁内存实例对象的问题。 避免过多的资源占用。比如:写文件操作缺点:没有接口,不能原创 2020-05-27 16:26:18 · 306 阅读 · 0 评论 -
如何做一个排行榜功能
如果每次查询TOP 10都去流水表聚拢数据的话,必须是非常耗时的。所以排行榜功能实时查表,显然不可能。所以就需要用到常见的缓存redis了。redis有序集合 redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。有序集合和集合一样可以存储字符串,另外有序集合的成员可以关联一个分数(score),这个分数用于集合排序。不过zset理论上只支持单个权重排序。若想复合权重,可用多个 ZSET 来做不同维度的排.原创 2020-05-27 10:40:28 · 3084 阅读 · 0 评论 -
设计一个高效算法,算出随机数组里的中位数
解题思路:通过最大堆、最小堆来实现实时中位数的获取。 最大堆中存放比最小堆小的元素。 如果最大堆的对头元素大于最小堆,则进行交换。 偶数下标的元素存入最小堆,奇数下标的元素存入最大堆public class Median { public int[] getMedian(int[] A, int n) { int[] res = new int[A.length]; Comparator<Integer> co.原创 2020-05-26 17:22:07 · 548 阅读 · 0 评论