06 2020 档案
摘要:ribbon中,发现一段比较有水平的代码 简介 有个类,com.netflix.loadbalancer.PollingServerListUpdater,主要功能是,获取服务的instance列表。 这也是ribbon中的核心代码。 public class PollingServerListUp
阅读全文
摘要:import lombok.extern.slf4j.Slf4j; import java.util.LinkedList; import java.util.Random; import java.util.concurrent.TimeUnit; @Slf4j public class Demo
阅读全文
摘要:问题背景 最近装个centos 7.6的环境,其中,基础环境包括,redis、nginx、mongodb、fastdfs、mysql等,其中,自启动使用的是systemctl,其他几个组件,都没啥问题,唯独,这个mongodb,是死活启动不了。 但是,我这里说的,不是启动不了,如果直接在shell里
阅读全文
摘要:Linux下,如何监控某个进程到底向哪个地址发起了网络调用 有时候,有些应用,比如idea,你发起某个操作时,其底层会去请求网络,获取一些数据。 但是不知道,请求了什么地址。举个例子,在idea中,maven管理的java工程,你在reimport的时候,肯定会去下载依赖,但是,有时候感觉配置的私服
阅读全文
摘要:文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读。由于我用c也是好几年以前了,些许错误在所难免,希望读者能不吝指出。 曹工说Redis源码(1)-- re
阅读全文
摘要:曹工说JDK源码(1)--ConcurrentHashMap,扩容前大家同在一个哈希桶,为啥扩容后,你去新数组的高位,我只能去低位? 曹工说JDK源码(2)--ConcurrentHashMap的多线程扩容,说白了,就是分段取任务 曹工说JDK源码(3)--ConcurrentHashMap,Has
阅读全文
摘要:hashcode,有点讲究 什么是好的hashcode,一般来说,一个hashcode,一般用int来表示,32位。 下面两个hashcode,大家觉得怎么样? 0111 1111 1111 1111 1111 1111 1111 1111 A 1111 1111 1111 1111 1111 11
阅读全文
摘要:前言 先预先说明,我这边jdk的代码版本为1.8.0_11,同时,因为我直接在本地jdk源码上进行了部分修改、调试,所以,导致大家看到的我这边贴的代码,和大家的不太一样。 不过,我对源码进行修改、重构时,会保证和原始代码的功能、逻辑严格一致,更多时候,可能只是修改变量名,方便理解。 大家也知道,jd
阅读全文
摘要:#如何计算,一对key/value应该放在哪个哈希桶 大家都知道,hashmap底层是数组+链表(不讨论红黑树的情况),其中,这个数组,我们一般叫做哈希桶,大家如果去看jdk的源码,会发现里面有一些变量,叫做bin,这个bin,就是桶的意思,结合语境,就是哈希桶。 这里举个例子,假设一个hashma
阅读全文
摘要:写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解 曹工说Spring Boot源码(3)-
阅读全文