![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 75
wx: fulltilt8
这个作者很懒,什么都没留下…
展开
-
从Java多线程可见性谈Happens-Before原则
从Java多线程可见性谈Happens-Before原则Happens-Before是一个非常抽象的概念,然而它又是学习Java并发编程不可跨域的部分。本文会先阐述Happens-Before在并发编程中解决的问题——多线程可见性,然后再详细讲解Happens-Before原则本身。Java多线程可见性在现代操作系统上编写并发程序时,除了要注意线程安全性(多个线程互斥访问临界资源)以外,还要注意多线程对共享变量的可见性,而后者往往容易被人忽略。可见性是指当一个线程修改了共享变量的值,其原创 2021-07-08 01:57:36 · 123 阅读 · 2 评论 -
用最简单易懂的语言解析hash一致性哈希算法 consistent hashing
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。场景描述假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓存的压力。也就是说,我们希望每台服务器能够缓存1万张左右的图片,那么,我们应该怎样做呢?如果我...原创 2021-06-01 02:25:44 · 81 阅读 · 0 评论 -
threadlocal内存泄露_内存泄露的原因找到了,罪魁祸首居然是Java TheadLocal
weixin_399553552020-11-21 09:28:0343收藏文章标签:threadlocal内存泄露组内来了一个实习生,看这小伙子春光满面、精神抖擞、头发微少,我心头一喜:绝对是个潜力股。于是我找经理申请亲自来带他,为了帮助小伙子快速成长,我给他分了一个需求,这不需求刚上线几天就出网上问题了 后台监控服务发现内存一直在缓慢上升,初步怀疑是内存泄露。把实习生的PR都找出来仔细review,果然发现问题了。由于公司内部代码是保密的,这里简单写一个demo还原场景(忽略...转载 2021-04-29 14:15:54 · 146 阅读 · 0 评论 -
Java 中hashtable的例子分析原理(哈希原理)
package com.gwssi.test.cases;import java.math.BigInteger;//构建一个Hashtable类public class HashTable { //定义一个节点类,里面定义了每一个节点所需要的数据 public class Node { Node next;//指向下一节点 Object key;//键值 Object data;//数据域 //节点的构造函数.原创 2021-04-26 14:50:29 · 118 阅读 · 0 评论 -
举例子简单易懂说明Java中取模和取余的区别
取余,遵循尽可能让商向0靠近的原则取模,遵循尽可能让商向负无穷靠近的原则符号相同时,两者不会冲突。比如,7/3=2.3,产生了两个商2和37=3*2+1或7=3*3+(-2)。因此,7rem3=1,7mod3=1。符号不同时,两者会产生冲突。比如,7/(-3)=-2.3,产生了两个商-2和-37=(-3)*(-2)+1或7=(-3)*(-3)+(-2)。因此,7rem(-3)=1,7mod(-3)=(-2)--------------------------------...原创 2021-04-22 10:27:10 · 278 阅读 · 0 评论 -
Java负数的二进制补码表示这样计算
负数的二进制补码表示这样计算。1:先将负数中的负号去掉变成正数,使用二进制表示这个正数2:将这个二进制正数所有的位取反,再加1,结到的二进制序列就是这个负数的补码比如:-1,取其正值1,32位二进制表示为:00000000000000000000000000000001各位全部取反:11111111111111111111111111111110再加1:11111111111111111111111111111111因此-1的二进制补码表示为...原创 2021-04-19 18:20:29 · 940 阅读 · 0 评论 -
Java设计模式之桥接模式的业务场景
如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。 2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适我们还是通过上面的关于支付的简单例子可以说明它的原理。显然,它具备和模版方法相类似的能力,但是不采用继承。public class Payment{...原创 2020-04-08 15:15:36 · 428 阅读 · 0 评论 -
大数据量的Java算法数据结构面试题详细
作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JULY_v。第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。首先是...原创 2019-06-21 09:40:16 · 910 阅读 · 0 评论