标签:同步

Java

Dubbo源码分析(二)—–基于注解的提供者Exportor过程分析

23

尖兵 发布于 2019-07-20

这是Dubbo官网的服务提供者的时序图 复制代码 此文Dubbo的版本是2.7,1. Dubbo的通过@EnableDubbo来启动Dubbo的初始化配置,主要配置扫描ServiceBean的路径, 还有配置multipleConfig=true, 这个是支持多配置模式(例如: ...

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

Java

面试HashMap之追命5连问

5

xiaoli.wang 发布于 2019-07-19

1、HashMap底层实现数据结构? 总的来说,HashMap就是 数组+链表 的组合实现,每个数组元素存储一个链表的头结点,本质上来说是哈希表“拉链法”的实现。 HashMap的链表元素对应的是一个静态内部类Entry,Entry主要包含key,value,next三个元素 在...

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

Java

[Java并发-26] 软件事务内存:借鉴数据库的并发经验

yanxinchi 发布于 2019-07-19

实际上我们天天都在写并发程序,只不过并发相关的问题都被类似 Tomcat 这样的 Web 服务器以及 MySQL 这样的数据库解决了。尤其是数据库,在解决并发问题方面,可谓博大精深,它的 事务机制非常简单易用 ,能甩 Java 里面的锁、原子类十条街。很显然对于我们要借鉴一下。 ...

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

Java

Java多线程学习—进程和多线程简介

dulong 发布于 2019-07-19

一、 进程和线程 1.1、什么是进程 1.1.1 概念: 进程是程序的一次执行过程,是系统运行程序( cpu分配资源的 )的 基本单位 ,因此进程是动态的。 1.1.2 特点: 每个进程都是独立的 一个进程可拥有多个并行的(concurrent)线程。 1.1.3 进程和程序有何...

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

Java

Java 锁之我见

6

小丁 发布于 2019-07-19

今天我们来聊聊 Java 里面的各种锁:偏向锁、轻量级锁、重量级锁,以及三个锁之间是如何进行锁膨胀的。 众所周知,线程阻塞带来的上下文切换的代价是很大的,Java 为了尽量减少上下文的切换从而引入了更多的锁机制。在了解各种锁机制之前,先要学习一些前置知识。对于各种锁的获取和释放、...

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

编程技术

移动架构 (二) Android 中 Handler 架构分析,并实现自己简易版本 Handler 框架

17

xubiao.zhuang 发布于 2019-07-19

Android 的消息机制主要指 Handler 的运行机制,先来看下 Handler 的一张运行架构图来对 Handler 有个大概的了解。 Handler 消息机制图: Handler 类图: 以上图的解释: 以 Handler 的 sendMessage () 函数为例,当...

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

编程技术

使用微服务架构改造遗留系统

5

changyuan.xu 发布于 2019-07-19

编辑推荐: 本文来自于csdn,本章介绍了通过使用微服务架构,在不影响现有业务运转的情况下,团队有效的将遗留的单块架构系统逐渐分解成不同功能的微服务应用。 背景与挑战 随着公司国际化战略的推行以及本土业务的高速发展、《网络借贷信息中介机构业务活动管理暂行办法》的发布,各网贷平台都...

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

Java

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

likai 发布于 2019-07-19

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

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

编程技术

马蜂窝 IM 系统架构的演化和升级

13

songhua.gao 发布于 2019-07-18

点击上方“马蜂窝技术”,关注订阅更多优质内容 今天,越来越多的用户被马蜂窝持续积累的笔记、攻略、嗡嗡等优质的分享内容所吸引,在这里激发了去旅行的热情,同时也拉动了马蜂窝交易的增长。在帮助用户做出旅行决策、完成交易的过程中,IM 系统起到了重要的作用。 IM 系统为用户与商家建立了...

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

Java

让人抓头的Java并发(四) 阻塞队列–CPU飙升排查案例

1

changyuan.xu 发布于 2019-07-18

在上一篇文章中给大家介绍了牛批的AQS,大致讲解了JUC中同步的思路。本来还没想好这一篇应该写点什么,刚好上周某个同事的代码出现问题,排查后发现是使用阻塞队列不当导致的,所以本篇决定介绍下阻塞队列。 真实案例分析 错误案例: 说来也是挺巧的,那天一位同事iMac换了Macbook...

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

Java

成为一名 Jenkins 贡献者:对新手友好的工单

7

wenming.gapo 发布于 2019-07-18

本文首发于:Jenkins 中文社区 译者:Rick 两个月前,我发表了一篇介绍性文章, 成为一名 Jenkins 贡献者的旅程。在那篇第一次发表的文章 review 过后,学习到了我们可以参与和贡献的多种途径。 因此,在这个站点仓库中有对首次、基础的贡献的描述。 现在,我们将会...

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

Java

使用Velero Restic快速完成云原生应用迁移至ACK集群

13

邓龙华 发布于 2019-07-18

本文记录使用Velero Restic快速完成云原生应用迁移至ACK集群的实践过程。 0. 实践步骤概览 (1)创建GKE集群(或自建Kubernetes集群) (2)在GKE集群上部署示例应用Jenkins Application并执行一个构建任务 (3)创建ACK集群 (4)...

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

编程技术

UEBA架构设计之路 (九): 信标检测

6

likai 发布于 2019-07-18

作者:mcvoodoo 上篇引言 UEBA通过机器学习对用户、实体进行分析,不管这种威胁是不是已知,也包括了实时和离线的检测方式,能得到一个直观的风险评级和证据分析,让安全人员能够响应异常和威胁。 到底是怎样的整体架构呢?我就不再介绍了,没看过前面篇章的朋友,可以点击下面链接,去...

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

编程技术

进阶的程序员:什么是微服务?

1

dulong 发布于 2019-07-18

微服务microservice 微服务是指提供单个业务功能的服务,从技术角度看就是一种小而独立的处理过程,类似流程概念,能够自行单独启动或销毁,拥有自己独立的数据库。 一个复杂软件架构是由很多这样小而独立运行(有自己的端口)微服务组成,这些独立处理组件之间通讯是通过与语言无关的A...

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

Java

Java中的Condition接口实现分析

5

changyuan.xu 发布于 2019-07-18

我们使用 Synchronized 实现“等待/通知”模式时,都是配合每个对象 Object 的监视器方法(wait 和 notify/notifyAll 方法)完成的,但是在显式锁 Lock 中,这种方法就显然不行了。因此显式锁中就引入了 Condition 接口,该接口提供了...

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

编程技术

拆解大数据总线平台DBus的系统架构

10

yeseng 发布于 2019-07-18

mysql 日志抽取模块由两部分构成: canal server:负责从mysql中抽取增量日志。 mysql-extractor storm程序:负责将增量日志输出到kafka中,过滤不需要的表数据,保证at least one和高可用。 我们知道,虽然mysql innodb...

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

Java

鸟瞰 Java 并发框架

8

dulong 发布于 2019-07-18

1. 为什么要写这篇文章 几年前 NoSQL 开始流行的时候,像其他团队一样,我们的团队也热衷于令人兴奋的新东西,并且计划替换一个应用程序的数据库。但是,当深入实现细节时,我们想起了一位智者曾经说过的话:“细节决定成败”。最终我们意识到 NoSQL 不是解决所有问题的银弹,而 N...

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