guava源码-RateLimiter
使用方法 - 创建RateLimiter - 使用的时候,去acquire
分类 · 第 3/8 页
共 76 篇 · 全部分类
使用方法 - 创建RateLimiter - 使用的时候,去acquire
观察者模式指的是当存在一对多的场景的时候,一个对象发生了状态的变化之后,多个对象能够得到通知并且获得更新。 这个模式在一些pub/sub方式的中间件中很常见,例如消息的发布与订阅,MQTT的pub与sub。 但是如果真正的比较起来,跟pub/sub方式会存在一些区别,pub/sub的方式中,生产者和消费者中间还有一个b…
懒汉模式
背景 工作的时候做了一个agent,需要进行构建打包,上传到oss,然后分发到各个机器。 该操作跟一般的应用不同,因此无法通过已有的发布系统来进行操作,因此自己只能另外单独做一个CI/CD系统。 主要涉及以下技术: - Jenkins (主要执行构建,打包,上传OSS) - Ansible (执行具体的机器上面的操作,…
背景 前文我们设置了jenkins 的pipeline,并且接受调用方传过来的参数,现在我们实现具体的CD操作,也就是把产物传到目标机器,并且停止老应用,启动新应用。 一般而言CD会包含以下的步骤 - 登录目标机器 - 备份原有文件 - 下载目标文件 - 停止原有进程 - 启动新的进程
背景 有个controller,里面有个方法,在使用public修饰的时候,能够拿到类中定义的属性,在使用private的时候,取到的属性为null 调查 为public的时候,调试信息如下 其中的this对象,是正常的controller对象,并且agentBizService能够拿到正常的值,工作正常 当为priv…
背景 今天在写单测的时候,会涉及到测试多线程的部分,但是在测试的时候发现现象会诡异 子线程的逻辑还没有执行的时候,jvm就会退出,或者有的时候执行了一小部分,就会退出了。
InterProcessMutex 分布式锁 InterProcessMutex是常用的一个使用ZK的分布式锁,它会在我们指定的前缀下面创建类型为有序临时的临时节点,然后序号最靠前的节点会获取到锁。 如果某个持有锁的线程挂了之后,对应的节点就会被删除,如果这时候有线程在等待锁,就会获取到锁
--- ConcurrentHashmap ConcurrentHashmap整体跟hashmap差不多,主要的区别是线程安全,并且不支持key和value为null ConcurrentHashmap在插入元素的时候会使用synchronized,保证了写的线程安全。在扩容的时候,将表划分成一个个独立的区域,然后每个…
背景 前两天一个朋友面试,遇到了一个题目