自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 有意思的ThreadLocal内存泄露

写完这篇我再也不用CSDN了接近007的工作制度让我没有自己的时间做自己的事。更别提自己建个博客网站了。。。唉。正文天呐,在这家公司写CRUD写的我都忘了ThreadLocal实现原理了(DougLea是不是要气死)。今天好不容易有个假期,来复习一下吧。这个例子没测试过,我是随便写了个示范供自己记忆。public class ThreadLocalMemoryLeak { ...

2020-04-25 19:50:03 174

原创 【算法】【图论】拓扑排序

引言发现普林斯顿那本算法和算法导论都侧重于用介绍用DFS实现拓扑排序,所以这一篇文章我们来着重套路下用队列实现拓扑排序的Khan算法。核心思想有向图中的每个节点有入度和出度这两个属性,如一个只包含a和b的有向图中,a到b有且仅有一条边则称b的入度等于 1,而a的出度为1。出度为0的顶点不可能到达其他的顶点,这样的顶点称为终点(sink),同样入度为0的顶点不可能被任何其他顶点到达,这样的顶点...

2019-06-16 22:25:20 300

原创 【HashMap扩容相关的蛛丝马迹】位运算与取模的奇妙关系

如何给定一个数保证输出一定是大于输入值的2的最小幂?HashMap的tableSizeFor实现了这个函数,下面是细节解析 static final int tableSizeFor(int cap) { //假设传入3和4 //这里-1是为了防止cap已经是2的幂时得到cap*2的结果 int n = cap - 1; //3变2 4变3 ...

2019-05-25 15:55:21 252

原创 【算法】【只有自己看得懂系列】计数排序,让我们摆脱关系排序吧!

Java实现package mairuis.algorithm.sort;/** * 计数排序 * * @author Mairuis * @date 2019/5/25 */public class CountingSort extends Sort { public static int[] countingSort(int[] a) { int[]...

2019-05-25 15:30:35 136

原创 【算法】【只有自己看得懂系列】玩转二叉堆

二叉堆的性质(以最小堆为例)每个子节点必须小于等于根节点堆结构必须是一颗满二叉树应用优先队列预排序Java实现package mairuis.algorithm.heap;/** * 最小堆 * 性质: * 1.每个子节点都小于等于其父节点 * * @author Mairuis * @date 2019/5/23 */public class MinHe...

2019-05-24 11:02:22 118

原创 【算法】【排序】希尔排序

核心思想为解决插入排序的最坏情况问题,希尔排序通过一个增量序列先保证区间有序将最坏情况优化掉注意增量序列必须保证第n个和第n+1互质算法实现Java版 public static int[] sort(int[] data) { int length = data.length; int h = 1; while (h < ...

2019-04-20 14:35:26 117

原创 【计算机网络】常见字节序

大端模式 Big-Endian储存 0x12345678低地址—>—>高地址0x120x340x560x78小端模式 Little-Endian储存 0x12345678低地址—>—>高地址0x780x560x340x12中端模式 Middle-Endian储存 0x12345678...

2019-04-06 16:13:06 256

原创 【算法】【排序】直接插入排序

核心思想来自于玩扑克牌时从牌堆中取出一张牌,和手中的牌比较后找到合适位置然后插入到手牌中算法实现Java版 public static int[] insertSort(int[] data) { //初始化: 从第二个元素开始 for (int i = 1; i < data.length; i++) { //不变式...

2019-03-28 12:35:35 83

原创 【学习笔记】Java-Concurrent-Semaphore

 同时只有一个人可以吃面包的示例 /** * 第一个线程 与第二个同时执行 */ public static void firstThread0(Context context) throws Exception{ while(true) { eatBread(context); Threa...

2018-11-05 15:29:30 145

原创 【编码技巧】Java-为什么要给方法参数或一些对象的引用加final?

阅读源码时常常会看到一些例如被这样修饰的方法参数public void print(final Object obj){ System.out.println(obj);}你可能会疑问这个final有什么用,那么请看下面代码食用final前Object o = "Hello";foo(o)System.out.println(o...

2018-09-02 21:22:22 2583

原创 Vector的所有函数

啊啊

2017-08-03 17:11:34 2245

空空如也

空空如也

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

TA关注的人

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