Loststar's blog
  • 首页
  • 归档
  • 分类
  • 关于
  • 豆瓣评论
    读书 影视 游戏
  • 友链
永远不要只满足于世界的表象,要敢于探寻未知的可能。

一种可扩容布隆过滤器设计

问题猜想上一篇文章,我们说到了怎么去实现简单的布隆过滤器,同时也提到了以下几个点: 布隆过滤器由于哈希冲突可能会存在误判; BitSet长度以及哈希函数的数目和冲突有关; BitSet长度以及哈希函数的数目由预计放入的元素数目和预期误判率计算得出。 从中,我们可以猜测:当实际放入过滤器中的元素多于预期时,布隆过滤器的效果会受到负面影响。 验证我们采用实际的误判率(误拒率,某一原本不在集合中的元
2022-02-05
数据结构
#布隆过滤器 #Bloom Filter #扩容

布隆过滤器的学习与JAVA实现

扩展:一种可扩容布隆过滤器设计 什么是布隆过滤器这个问题网上一搜一大把,随便复制一段[维基百科](布隆过滤器 - 维基百科,自由的百科全书 (wikipedia.org))的解释:布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算
2022-02-01
数据结构
#布隆过滤器 #Bloom Filter #JAVA #造轮子

对ThreadPoolTaskExecutor及其源码的观察

实验概要在我的一个SpringBoot小项目中,用到了ThreadPoolTaskExecutor。对此,我有很多零碎的疑问,通过实践和查看源码逐一验证,记录在本文。实验中,Spring Framework版本为5.3.13。 实验对象ThreadPoolTaskExecutor是Spring提供的线程池,底层由ThreadPoolExecutor实现,参数与JAVA线程池类似,也提供了一些封装的
2022-01-04
技术 > 项目记录
#JAVA #线程池 #参数 #jmeter

结合JDK源码学习单例模式

本文JDK源码基于JDK17 饿汉式使用static和final修饰实例变量,线程安全。但是可以被反射和反序列化破坏,以及如果一直不用会浪费内存。 基本实现public class Singleton { private static final Singleton INSTANCE = new Singleton(); //关键:构造方法私有 priva
2021-12-25
技术 > java
#单例模式 #JDK #源码

计算二进制中1的个数

相关题目:191. 位1的个数 - 力扣(LeetCode) 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 看题解时看到一种眼前一亮的方法:循环去掉最后一个1,计算循环次数。这种方法的核心在于如何高效去掉最后一个1,题解给出的方法是:n&n-1。 如下图,n-1可以将n的最后一个1变为0,且将后面所有0变为
2021-12-20
算法

引用不可变和对象不可变的例子

对象不可变String s1="Hi"; String s2=s1; System.out.println("操作前:"); System.out.println("s1的内容:"+s1+" s2的内容:"+s2); System.out.println("s1的hashcode:"+s1.hashCode()+",s2的hashcode:"+s2.hashCode()); s1+=" Lost
2021-12-14
技术 > java
#对象不可变 #引用不可变

Mark Text 初体验

一觉醒来,发现Typora要收费了。虽然依然能用旧版,但是感觉一直用旧版也不是个办法。再加上个人感觉Typora目前没有特别多值得付费的功能,就打算先找个代替品,继续观望。以后要是有很coooooooooool的功能再考虑付费支持。 下载地址官网:https://marktext.app/ Github: 这次尝试的版本是v0.16.3 体验到的功能标签页看到标签页直接泪目。这就是
2021-11-30
工具分享
#markdown #marktext

排序复习

更多请参考: Sorting algorithm - Wikipedia 排序算法 - 维基百科,自由的百科全书 中英文内容略有差别,其中中文没有最好情况,但是在复杂度、稳定性的比较中考虑了是用数组还是链表存储。 复杂度及稳定性 排序方式 平均时间复杂度 最好时间复杂度 最坏时间复杂度 辅助空间 稳定性 冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定 选择排序 O
2021-11-28
算法
#冒泡排序 #插入排序 #选择排序

hexo文章内折叠插件

通过使用该插件可以实现文章内容的折叠: 使用方法{% spoiler "标题" %} 内容 {% endspoiler %} 演示 我是标题 我是内容 //我是代码 System.out.println("hi");
2021-11-28
工具分享
#插件 #折叠

通过merge方法实现HashMap的value自增

解决问题在水leetcode的时候,想要实现map里指定key对应的value自增的功能。 最开始想到的是之前经常使用的写法: myMap.put(myKey,myMap.containsKey(myKey)?myMap.get(myKey)+1:1); 忽然想到前几天看到的merge方法,决得应该会实现得更优雅。搜索发现果然可以: myMap.merge(myKey, 1, Integer::
2021-11-19
技术 > java
#map #merge
1234

搜索

Hexo Fluid
总访问量 次 总访客数 人