java
文章平均质量分 77
Robinsyn_L
这个作者很懒,什么都没留下…
展开
-
用Java实现Huffman编码
在使用http1.1协议传输数据的时候,会有一些固定的字段,比如cookie、编码方式、接收的数据类型,另外会有一些大量重复的字段造成请求报文过于冗长,为了解决这个问题,在http2.0的时候,采用了二进制对请求报文进行编码,同时客户端和服务端维护一张静态表和静态表,对我们的请求报文进行二进制编码,同时采用Huffman编码进行压缩。原创 2023-08-30 00:05:47 · 487 阅读 · 0 评论 -
位运算的常见技巧
其核心逻辑就是,n - 1 一定可以消除最后一个 1,同时把其后的 0 都变成 1,这样再和 n 做一次 & 运算,就可以仅仅把最后一个 1 变成 0 了。原文链接:https://blog.csdn.net/u012068483/article/details/108222415。一个数和它本身做异或运算结果为 0,即 a ^ a = 0;一个数和 0 做异或运算的结果为它本身,即 a ^ 0 = a。n&(n-1) 这个操作是算法中常见的,作用是消除数字 n 的二进制表示中的最后一个 1。转载 2022-12-20 22:20:24 · 80 阅读 · 0 评论 -
Arrays.sort()的底层实现原理
最近在leetcode刷题,遇到挺多Arrays.sort()这个API,今天在牛客网看到有面试官问这个API对于快排做了什么优化,那么面向面试学习的我也要去学习一下啦。本文基于JDK1.8。Arrays.sort()并不是单一的排序,而是插入排序,快速排序,归并排序三种排序的组合。原创 2022-09-23 22:29:57 · 3308 阅读 · 0 评论 -
Java中的final关键字
final的作用,防止类被继承、方法被重写、变量被修改。天生就是线程安全的,不需要额外的开销。原创 2022-09-07 16:33:35 · 120 阅读 · 0 评论 -
从ConcurrentHashMap出发引发的一系列思考
在做mit6.830时,关于数据库的全局目录catalog类持有一个线程安全的去保存数据库中每一张表。为了避免多个线程对数据库目录修改造成数据不一致的情况,是不能使用HashMap的,这是因为HashMap是线程不安全的。...原创 2022-08-07 16:24:03 · 746 阅读 · 0 评论 -
为什么String在Java中是不可变的?以及Java中的StringBuilder和StringBuffer
String对象是不可变的,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。那么我们new一个String对象,比如和直接创建一个字符串,比如这两种方法有什么区别呢。原创 2022-08-06 01:47:26 · 395 阅读 · 0 评论