标签:Semaphore

Java

Java 工程师成神之路 | 2019正式版

4

尖兵 发布于 2019-02-18

一、基础篇 01.面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台无关性 Java 如何实现的平台无关 JVM 还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala) → 值传递 值传递、引用传递 为什么...

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

Java

Java并发研究 自己写ReentrantLock和ReentrantReadWriteLock(4)

3

xiaoli.he 发布于 2019-02-14

接上篇。在写完ReentrantLock之后,其实可以基于ReentrantLock写一个ReadWriteLock,《the art of multiprocessor programming》第八章有介绍。但是,本着不完全AQS(AbstractQueuedSynchroni...

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

Java

Dump Plugin并行化实践

3

dulong 发布于 2019-02-03

先简单介绍下Dump Plugin的由来,在搜索Dump中心服务化的项目中,我们把Dump中心的增量数据产出分为2个阶段,Loader阶段和Join阶段,Loader阶段把数据准备成Key-Values形式,Join阶段将数据取出,计算各种业务逻辑并产出最终数据。业务逻辑的计算是...

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

Java

Web渗透实验:基于Weblogic的一系列漏洞

22

hellas 发布于 2019-01-29

*本文原创作者:zhukaiang7,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 双休刚刚过去,利用假期2天时间成功上了个王者,变成了好友第一,美滋滋,什么时候能成为渗透技术第一就好了。 一上班就接到了老大的要求,需要给最近入职的小弟深入培养一下渗透的技术,所以有了...

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

Java

PolarDB 数据库性能大赛 Java 分享

5

zhuangli 发布于 2019-01-23

国际惯例,先报成绩,熬了无数个夜晚,最后依旧被绝杀出了第一页,最终排名第 21 名。前十名的成绩分布为 413.69~416.94,我最终的耗时是 422.43。成绩虽然不是特别亮眼,但与众多参赛选手使用 C++ 作为参赛语言不同,我使用的是 Java,一方面是我 C++ 的能力...

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

Java

AbstractQueuedSynchronizer超详细原理解析

4

xiaoli.wang 发布于 2019-01-13

今天我们来研究学习一下 AbstractQueuedSynchronizer 类的相关原理, java.util.concurrent 包中很多类都依赖于这个类所提供队列式同步器,比如说常用的 ReentranLock , Semaphore 和 CountDownLatch 等...

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

Spring

使用Hazelcast调度Spring tasks

dulong 发布于 2019-01-10

在我工作的公司,我们使用 Quartz 进行作业调度。大部分时间Quartz都在为我们提供所需的一切: 通过cron表达式进行调度。 监控和启动已启动的工作…… 无论如何,有时在超高峰期间,Quartz表会遇到数据库锁定问题。所以我在想什么是Quartz替...

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

Java

长文慎入-探索Java并发编程与高并发解决方案

24

zhuangli 发布于 2019-01-02

所有示例代码,请见/下载于 https://github.com/Wasabi1234/concurrency #1 基本概念 ##1.1 并发 同时拥有两个或者多个线程,如果程序在单核处理器上运行多个线程将交替地换入或者换出内存,这些线程是同时“存在"的,每个线程都处...

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

编程技术

Go36-1

hellas 发布于 2018-12-31

源码安装工具 go install 源码文件通常会被放在某个工作区的 src 子目录下。 那么在安装后如果产生了归档文件,就会放进该工作区的 pkg 子目录;如果产生了可执行文件,就可能会放进该工作区的 bin 子目录。 归档文件存放的位置 安装某个代码包而产生的归档文件是与这个...

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

Java

Java 学习之路

Harries 发布于 2018-12-31

前几天刷微博,看到博主 @Java大本营 发了一个图片,总结 Java 一些常见的知识点,感觉挺好,整理成文字版,发在我的个人博客,作为一个大家学习复习的文档,也欢迎有人在评论中留下各种参考资料,一下是正文。 一、基础篇 1. JVM ①. JVM 内存结构 堆、栈、方法区、直接...

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

Java

Java 线程同步原理探析

2

songhua.gao 发布于 2018-12-30

现如今,服务器性能日益增长,并发(concurrency)编程已经“深入人心”,但由于冯诺依式计算机“指令存储,顺序执行”的特性,使得编写跨越时间维度的并发程序异常困难,所以现代编程语言都对并发编程提供了一定程度的支持,像 Golang 里面的 Goroutines 、Cloju...

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

Java

Java并发编程实战笔记3:基础构建模块

dulong 发布于 2018-12-20

在上文已经说明,委托是构造线程安全类的一个最有效策略,也就是让现有的线程安全类管理所有的状态即可。以下将介绍这些基础构建模块。 同步容器类 同步容器类包括Vector和Hashtable以及由 Collections.synchronizedXxx 等工厂方法创建的同步封装器类。...

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

Java

CAS自旋锁

likai 发布于 2018-12-20

 我们常说的 CAS 自旋锁是什么 CAS与ABA问题 回顾JAVA中的CAS 用AtomicStampedReference解决ABA问题 CAS(Compare and swap),即比较并交换 ,也是实现我们平时所说的 【自旋锁或乐观锁】的核心操作。 CAS有3个...

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

Java

死磕java concurrent包系列(六)基于AQS解析信号量Semaphore

3

darida 发布于 2018-12-13

之前分析AQS的时候,内部有两种模式,独占模式和共享模式,前面的ReentrantLock都是使用独占模式,而Semaphore同样作为一个基于AQS实现的并发组件,它是基于共享模式实现的,我们先看看它的使用场景 Semaphore共享锁的基本使用 假设有20个人去银行柜面办理业...

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

Java

PolarDB数据库性能大赛Java选手分享

4

xiaoli.wang 发布于 2018-12-10

国际惯例,先报成绩,熬了无数个夜晚,最后依旧被绝杀出了第一页,最终排名第 21 名。前十名的成绩分布为 413.69~416.94,我最终的耗时是 422.43。成绩虽然不是特别亮眼,但与众多参赛选手使用 C++ 作为参赛语言不同,我使用的是 Java,一方面是我 C++ 的能力...

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

Java

死磕java concurrent包系列(一)从乐观锁、悲观锁到AtomicInteger的CAS算法

3

yanxinchi 发布于 2018-12-02

前言 Java中有各式各样的锁,主流的锁和概念如下: 这篇文章主要是为了让大家通过乐观锁和悲观锁出发,理解CAS算法,因为CAS是整个Concurrent包的基础。 乐观锁和悲观锁 首先,java和数据库中都有这种概念,他是一种从线程同步的角度上看的一种广义上的概念: 悲观锁:悲...

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

Java

Android并发编程 多线程与锁

1

xiaoli.he 发布于 2018-11-30

该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,如果能给各位看官带来一丝启发或者帮助,那真是极好的。 前言 前一篇Android并发编程开篇呢,主要是简单介绍一下线程以及JMM,虽然文章不长,但却是理解后续文章的基础。本篇文章介绍多线程与锁。 深入认...

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

Spring

Spring Cloud 源码学习之 Hystrix 工作原理

4

Harries 发布于 2018-11-28

参考信息与文中链接请点击 阅读原文,感兴趣可移步PC端阅读,移动端阅读源码很不友好(截图字太小,贴代码排版太乱)。 本文学习了 Hystrix 工作原理及源码,关注点在整体处理流程,不涉及具体的实现细节。后续将逐渐写Metrics收集、断路器、隔离、请求缓存等,有兴趣可以关注奥。...

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