标签:Semaphore

Spring

2020互联网Java后端面试必备解析—SpringCloud20题

16

zhuangli 发布于 2020-04-02

前言 往期专题 2020互联网Java后端面试必备解析—Redis23题 2020互联网Java后端面试必备解析—JVM21题 面试还不懂这10道Spring问题,回去等通知了 学习导图 来分享一下面试必备的Spring Cloud问题解析! 用XMind画了一张导图记录 Spr...

阅读(4)评论(0)赞 (0)

Java

深入理解Java多线程与并发框(第⑩篇)——并发辅助工具类(很好的玩的工具类)

xiaoli.wang 发布于 2020-03-30

使用场景:用于 有且仅有两个线程 间的 数据传输,就就是线程间的 通信 。它是 生产者/消费者 d的 wait() / notify() 的最佳替代工具。 核心原理:方法 exchange()阻塞特性:此方法被调用后等待其他线程来取数据,如果没有其他线程取得数据,则一直 阻塞。 ...

阅读(15)评论(0)赞 (0)

Java

详解Singleton、Factory、Strategy在项目中的应用

5

hellas 发布于 2020-03-28

一、前言 前几天阅读一框架文档,里面有一段这样的描述 “从对象工厂中………” ,促使写下本文。尽管一些模式简单和简单,但是常用、有用。 结合最近一个项目场景回顾一下里面应用到的一些模式 Singleton、Factory、Strategy。 Singleton:创建型模式,负责创...

阅读(15)评论(0)赞 (0)

Java

java中有界队列的饱和策略(reject policy)

邓龙华 发布于 2020-03-26

java中有界队列的饱和策略(reject policy) 我们在使用ExecutorService的时候知道,在ExecutorService中有个一个Queue来保存提交的任务,通过不同的构造函数,我们可以创建无界的队列(ExecutorService.newCachedTh...

阅读(15)评论(0)赞 (0)

Java

RateLimiter 源码分析(Guava 和 Sentinel 实现)

9

刘莉莉 发布于 2020-03-25

点击上方 "IT牧场" ,选择 "设为星标" 技术干货每日送达! 作者javadoop,资深Java工程师 原文链接https://www.javadoop.com/post/rate-limiter 本文主要介绍关于流控的两部分内容。 第...

阅读(24)评论(0)赞 (0)

Java

Spring Cloud 系列之 Netflix Hystrix 服务容错

43

刘莉莉 发布于 2020-03-24

什么是 Hystrix Hystrix 源自 Netflix 团队于 2011 年开始研发。2012年 Hystrix 不断发展和成熟,Netflix 内部的许多团队都采用了它。如今,每天在 Netflix 上通过 Hystrix 执行数百亿个线程隔离和数千亿个信号量隔离的调用。...

阅读(20)评论(0)赞 (0)

Java

从0学习java并发编程实战-读书笔记-基础构建模块(4)

刘莉莉 发布于 2020-03-21

同步容器类 同步容器类包括Vector和Hashtable,这两个是早期JDK的一部分。此外还包括在JDK1.2中添加Collections.synchronizedXxx等工厂方法,这些类实现线程安全的方式是:将它们的状态封装起来,并对公有方法进行同步,使得每次只有一个线程能访...

阅读(24)评论(0)赞 (0)

Java

java中使用Semaphore构建阻塞对象池

刘莉莉 发布于 2020-03-21

java中使用Semaphore构建阻塞对象池 Semaphore是java 5中引入的概念,叫做计数信号量。主要用来控制同时访问某个特定资源的访问数量或者执行某个操作的数量。 Semaphore中定义了一组虚拟的permits,通过获取和释放这些permits,Semaphor...

阅读(24)评论(0)赞 (0)

Java

如何计算服务限流的配额

darida 发布于 2020-03-19

问题 请求被限流 之前的文章提到过我们服务使用 Hystrix 进行服务限流,使用的是信号量方式,并根据接口的响应时间和服务的峰值 QPS 设置了限流的配额。 限流配额的计算方式为: 我们接口单机单个接口的峰值 QPS 为 1000,平均影响时长 15ms,我们认为 Hystri...

阅读(22)评论(0)赞 (0)

Java

《吊打面试官》系列-乐观锁、悲观锁

12

yeseng 发布于 2020-03-17

前言 关于线程安全一提到可能就是加锁,在面试中也是面试官百问不厌的考察点,往往能看出面试者的基本功和是否对线程安全有自己的思考。 那锁本身是怎么去实现的呢?又有哪些加锁的方式呢? 我今天就简单聊一下乐观锁和悲观锁,他们对应的实现 CAS ,Synchronized,Reentra...

阅读(19)评论(0)赞 (0)

Java

走进 Java Volatile 关键字 原 荐

4

邓龙华 发布于 2020-03-16

Java Volatile 关键字是一种轻量级的数据一致性保障机制,之所以说是轻量级的是因为 volatile 不具备原子性 ,它对数据一致性的保障体现在对修改过的数据进行读取的场景下(也就是数据的可见性)。比起对读操作使用互斥锁, volatile 是一种很...

阅读(17)评论(0)赞 (0)

Java

Java实现系统限流

2

xubiao.zhuang 发布于 2020-03-15

在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧,今天我们就来聊聊限流。 限流是保障系统高可用的方式之一,当然啦也是大厂高频面试题,如果阿里的面试官问一句:“如何实现每秒钟1K个请求的限流?”,你要是分分钟给他写上几种限流方案,那岂不香哉,哈哈:smirk:! 话不多说,...

阅读(16)评论(0)赞 (0)

Java

Java并发工具类-Semaphore解析

xiaoli.wang 发布于 2020-03-12

Semaphore(信号量)用来限制访问同一资源的线程数量。它通过初始化一个固定数量的配额,当线程要执行时,必须先获取配额才能继续执行,当获取不到时,就需要挂起等待;持有配额的线程执行完后需释放配额,并唤醒等待的线程。 使用方法 public class SemaphoreDem...

阅读(17)评论(0)赞 (0)

Java

Java中常见的并发组件

yeseng 发布于 2020-03-11

Rlock在构造的时候传入一个标记是否为fair的boolean,表示该锁在释放的时候是否偏向将权限交给等待时间最长的线程,否则对获取锁的顺序不做任何保证。公平锁会带来很大的性能损耗,但是优点是获取锁的时间方差较小,而且不会有饿死的风险. 调用Rlock的tryLock()方法的...

阅读(16)评论(0)赞 (0)

Java

这篇 ReentrantLock 看不懂,加我我给你发红包

21

小丁 发布于 2020-01-20

点击蓝色“ zhisheng ”关注我哟 加个“ 星标 ”,一起快乐成长 回答一个问题 在开始本篇文章的内容讲述前,先来回答我一个问题,为什么 JDK 提供一个 synchronized 关键字之后还要提供一个 Lock 锁,这不是多此一举吗?难道 JDK 设计人员都是沙雕吗? ...

阅读(228)评论(0)赞 (0)

Java

java架构之路(多线程)JUC并发编程之Semaphore信号量、CountDownLatch、CyclicBarrier栅栏、Executo…

9

尖兵 发布于 2020-01-19

上期回顾: 上次博客我们主要说了我们juc并发包下面的ReetrantLock的一些简单使用和底层的原理,是如何实现公平锁、非公平锁的。内部的双向链表到底是什么意思,prev和next到底是什么,为什么要引入heap和tail来值向null的Node节点。高并发时候是如何保证st...

阅读(112)评论(0)赞 (0)