自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 哈希code为什么是31

66×321+66=66×32+6666×321+66=66×32+66 计算: 65×32+97=2080+97=217765×32+97=2080+97=2177 66×32+66=2112+66=217766×32+66=2112+66=2177 →。: 31=25−131=25−1 → 乘以31可转化为: hash×31=(hash≪5)−hashhash×31=(hash≪5)−hash (−1 的质数),此类质数在模运算中可进一步优化: x mod 31=(x & 31)

2025-09-16 21:07:32 532

原创 NIO BIO AIO

三种IO的区别BIO(Blocking I/O) :同步阻塞I/O模式 一个人只去厨房烧水且坐等烧水成功NIO(New I/O):同步非阻塞模式 一个人只去厨房烧水且不定期来查看(轮询)AIO (Asynchronous I/O):异步非阻塞 I/O 模型 一个人只去厨房烧水且去看电视且烧水成功之后有提醒// 使用 BIO 写入文件try {​bufferedWriter.write("学编程就上技术派");​System.out.println("写入完成");

2025-08-14 19:17:36 1463

原创 现代Java I/O

1.1 数据的两个世界:字节流与字符流在Java I/O的核心,“流”(Stream)是一个基础抽象,它代表了数据从一个源(Source)到目的地(Destination)的有序序列。

2025-07-25 20:25:32 1356

原创 现代Java中Lambda表达式和方法引用的系统性分析

编译器知道Comparator的compare方法有两个String参数,它会将第一个参数s1作为调用compareToIgnoreCase方法的对象,第二个参数s2作为该方法的参数。当一个Lambda表达式的主体仅仅是调用一个已经存在的方法,并且不进行任何其他操作时,就可以使用方法引用来代替,以达到极致的简洁和清晰。1.静态方法引用:当Lambda表达式的实现恰好是调用一个静态方法,并且Lambda的参数与该静态方法的参数列表完全匹配时,可以使用静态方法引用。:当抽象方法只有一个参数时,括号是可选的。

2025-07-23 22:42:25 1362

原创 浅谈Builder的学习

这是NyPizza中的代码,不要误以为this返回的不是子类类型了,这段代码也值得我目前阅读一下。pizza内部的静态抽象类Builder采用了泛型递归自引用(这也是今天学习最重要的部分,我是通过看效果才比较清楚的理解的)1.T是Builder的子类型 2.T又必须是Builder<T>的子类型——这样就创建了一个递归类型约束。抽象基类—不可变对象设计思想:final Set字段,构造器的防御性克隆,不提供setter方法。上述提到的NyPizza和Calzone只取NyPizza来分析。

2025-05-20 22:06:04 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除