标签:Semaphore

Java

java并发编程之 AQS解析

6

xiaoli.he 发布于 2019-08-18

什么是AQS 比如 独占式锁 ReentrantLock ….和共享式锁 countdownlatch , Semaphore 都基于AbstractQueuedSynchronizer一个共同的基类 根据AQS我们可以很简单的构建出自己的同步器 AQS锁类别与在使用...

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

Java

java高并发系列 – 第5天:深入理解进程和线程

13

changyuan.xu 发布于 2019-08-14

进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。 进程具有的特征: 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态...

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

Java

国内Java面试总是问StringBuffer,StringBuilder区别是啥?档次为什么这么低?

1

小丁 发布于 2019-08-13

这个问题只是开个场,热个身而已啊。 StringBuffer,StringBuilder区别是啥? 什么是线程安全? 如何保证线程安全? 什么是锁?死锁? synchronized的实现原理是什么? 有了synchronized,还要volatile干什么? synchroniz...

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

Java

Java并发指南9:AQS共享模式与并发工具类的实现

18

puefu.he 发布于 2019-08-11

一行一行源码分析清楚 AbstractQueuedSynchronizer (三) 转自: https://javadoop.com/post/Abs… 这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第...

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

Java

Java并发指南4:Java中的锁 Lock和synchronized

12

yeseng 发布于 2019-08-11

Java中的锁机制及Lock类 锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码: class MonitorExample ...

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

Java

阿里大厂流出的数百道 Java 经典面试题

12

songhua.gao 发布于 2019-08-11

BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量池 6.Object有哪些公用方法 7.Java的四种引用,强弱软虚,用到的场景...

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

Java

Java并发指南开篇:Java并发编程学习大纲

2

yanxinchi 发布于 2019-08-11

Java并发指南开篇:Java并发编程学习大纲 Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容。 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类。当然这些都是并发编程的基本知识,除了使用这些工具以外,Java并发编程中涉及到的技术原理十分丰富。为了更...

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

Spring

SpringCloud 的微服务治理

18

邓龙华 发布于 2019-08-06

编辑推荐: 本文来自简书,重点将介绍微服务架构具体开发运维方面的经验总结,侧重于落地实践。 一 概述 目前业界比较热门的微服务开发框架是SpringCloud和dubbo,由于前期一些项目已经使用了SpringBoot进行快速开发,自然就平滑地升级到SpringCloud进行微服...

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

编程技术

微服务可靠性设计

23

puefu.he 发布于 2019-08-05

作者 :李林锋 来源 :微信公众号 微服务蜂巢 微服务化之后,系统分布式部署,传统单个流程的本地 API 调用被拆分成多个微服务之间的跨网络调用,由于引入了网络通信、序列化和反序列化等操作,系统发生故障的概率提高了很多。微服务故障,有些是由于业务自身设计或者编码不当导致,有些是底...

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

Java

Java高并发之锁的使用以及原理浅析

18

小丁 发布于 2019-08-04

锁像synchronized同步块一样,是一种线程同步机制。让自Java 5开始,java.util.concurrent.locks包提供了另一种方式实现线程同步机制——Lock。那么问题来了既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock呢...

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

Java

SpringCloud微服务(03):Hystrix组件,实现服务熔断

2

xirruiqiang 发布于 2019-08-04

写在前面:阅读本文前,你可能需要熟悉一下内容。 微服务组件:Eureka管理注册中心 微服务组件:Ribbon和Feign服务调用 SpringBoot系统异常映射处理 一、熔断器简介 微服务架构特点就是多服务,多数据源,支撑系统应用。这样导致微服务之间存在依赖关系。如果其中一个...

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

Java

java高并发系列 – 第19天:JUC中的Executor框架详解1,全面掌握java并发相关技术

1

刘莉莉 发布于 2019-08-01

这是java高并发系列第19篇文章。 本文主要内容 介绍Executor框架相关内容 介绍Executor 介绍ExecutorService 介绍线程池ThreadPoolExecutor及案例 介绍定时器ScheduledExecutorService及案例 介绍Excecu...

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

Spring

学习SpringCloud(4)路由网关 Zuul

8

xirruiqiang 发布于 2019-07-25

一、Zuul简介 1、Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。 2、Netflix使用Zuul进行以下操作: 认证 洞察...

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

Java

你会用Java代码模拟高并发吗?

1

changyuan.xu 发布于 2019-07-25

Java通过代码模拟高并发可以以最快的方式发现我们系统中潜在的线程安全性问题,此处使用Semaphore(信号量)和 CountDownLatch(闭锁)搭配ExecutorService(线程池)来进行模拟,主要介绍如下: 1、Semaphore JDK 1.5之后会提供这个类...

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

Java

操作Redis更好的JAVA客户端!

xiaoli.he 发布于 2019-07-24

概述 1.1. 主要内容 本文的主要内容为对比Redis的两个框架:Jedis与Redisson,分析各自的优势与缺点,为项目中Java缓存方案中的Redis编程模型的选择提供参考。 2 Jedis与Redisson对比 2.1. 概况对比 Jedis是Redis的Java实现的...

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

Java

面试必备:Java AQS 实现原理(图文)分析[精品长文]

1

dulong 发布于 2019-07-24

等待队列是CLH(Craig, Landin, and Hagersten)锁队列。 通过节点中的“状态”字段来判断一个线程是否应该阻塞。当该节点的前一个节点释放锁的时候,该节点会被唤醒。 private transient volatile Node head; private...

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

Java

关于偏向锁,安全点,JIT的一些暗坑.

1

yeseng 发布于 2019-07-20

前言 本文是一篇简短的杂糅. 本文源自于作者最近的一个疑问:为什么在旧版的jdk中偏向锁的移除一定要在全局安全点进行?同时在上个星期,作者参与的一个项目发生了一件怪事:一个服务莫名其妙地不接受任何请求了,一切请求都是timeout,而查看日志,发现出故障的服务本身去请求另一个服务...

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

Java

JAVA并发辅助工具类-CountDownLatch、CyclicBarrier、Semaphore之简单介绍及和Golang的WaitGroup比较

likai 发布于 2019-07-19

CyclicBarrier同步屏障 CyclicBarrier默认的构造方法CyclicBarrier(int parties),其参数表示屏障拦截的线程数量, 每个线程调用await方法告诉CyclicBarrier我已经到达屏障,然后当前线程被阻塞, 直到被拦截的线程全部都到...

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