标签:同步

Java

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

21

小丁 发布于 2020-01-20

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

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

Java

Gradle Transform + ASM 探索

4

hellas 发布于 2020-01-20

使用 Gradle Transform + ASM 实现代码插桩的使用已经非常普遍。本文试图探索如何更加快速简洁的利用 Transform 实现代码插桩,并尝试实现 通过注解对任意类当中所有的方法 实现计算方法耗时 的插桩 通过配置实现对任意类(主要是针对第三方库)当中指定方法的...

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

Java

2019年文章精选,分类整理,顺带聊几句时间观念

1

yeseng 发布于 2020-01-19

写在前面 首先,祝大家新年快乐,在国人的情结里,现在才是真正的年底,估计现在好多朋友已经陆续回家过节去了,祝回家的路顺风。 过年回去就好好陪伴家人,不要看一些毒瘤号写的,过年时间弯道超越别人,趁着假期学习什么各种新知识,这完全瞎扯,这一年的时间该努力,努力了,吃苦也吃了,春节就好...

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

Java

Gradle Transform + ASM 探索

4

尖兵 发布于 2020-01-19

使用 Gradle Transform + ASM 实现代码插桩的使用已经非常普遍。本文试图探索如何更加快速简洁的利用 Transform 实现代码插桩,并尝试实现 通过注解对任意类当中所有的方法 实现计算方法耗时 的插桩 通过配置实现对任意类(主要是针对第三方库)当中指定方法的...

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

Java

使用RxJava把你的异步调用同步化

邓龙华 发布于 2020-01-19

每周的定期博客。 本周个人认为的亮点之一是在测试中使用RxJava,把异步调用同步化。让代码变得“清晰”了许多。 如果你使用基于异步的编程方式的话,肯定会碰到一个如何测试的问题。最简单的比如说 AsyncResult<String> foo = asyncServic...

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

Java

深入理解 Java 中的 final 关键字

yanxinchi 发布于 2020-01-19

final 是Java 中重要关键字之一,可以应用于类、方法以及变量上。这篇文章中将讲解什么是 final 关键字?将变量、方法和类声明为 final 代表了什么?使用 final 的好处是什么? final 在 Java 中是一个保留的关键字,可以声明成员变量、方法、类以及本地...

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

Java

你真的了解 volatile 关键字吗?

puefu.he 发布于 2020-01-19

今天,让我们一起来探讨Java 并发编程中的知识点:volatile 关键字 本文主要从以下三点讲解 volatile 关键字: volatile 关键字是什么? volatile 关键字能解决什么问题?使用场景是什么? volatile 关键字实现的原理? 在 Sun 的 JD...

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

Java

从源码理解Java虚引用

7

尖兵 发布于 2020-01-19

在jdk1.2之后,java对引用的概念进行了扩充。将引用分为了强引用,软引用,弱引用,和虚引用四种。 强引用:即我们平常说的引用,指在程序代码中普遍存在的引用赋值。在垃圾回收中,只要强引用还存在,那么当前对象就永远不会被回收。 软引用:比强引用弱一级的引用关系。在系统将要发生内...

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

Java

图文解析 Nacos 配置中心的实现

9

小丁 发布于 2020-01-19

Nacos 是阿里发起的开源项目,地址: github.com/alibaba/nac… 。 Nacos 主要提供两种服务,一是配置中心,支持配置注册、变更下发、层级管理等,意义是不停机就可以动态刷新服务内部的配置项;二是作为命名服务,提供服务的注册和发现功能,通常用于在 RPC...

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

Java

基于Netty的通信服务端编写

likai 发布于 2020-01-19

我这次是按照NIO模型编写的一个服务端 public class HelloServer { public static void main(String[] args) throws Exception { //定义一对线程组 //主线程组,用于接收客户端的连接,但是不做任何处...

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

Java

Synchronized优化总结(一)

2

hellas 发布于 2020-01-19

当使用 Java 多线程访问共享资源的时候,会出现竞态的现象。即随着时间的变化,多线程“写”共享资源的最终结果会有所不同。 为了解决这个问题,让多线程“写”资源的时候有先后顺序,引入了锁的概念。每次一个线程只能持有一个锁进行写操作,其他的线程等待该线程释放锁以后才能进行后续操作。...

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

Java

RxJava(十一): 并行编程

xiaoli.he 发布于 2020-01-19

博客主页 1. RxJava 并行操作 被观察者( Observable/Flowable/Single/Completable/May )发射的数据流可以经历各种线程切换,但是数据流的各个元素之间不会产生并行执行的效果。井行不是并发,也不是同步,更不是异步。 并发( concu...

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

编程技术

从服务和存储角度看异地多活的高可用架构

7

xiaoli.wang 发布于 2020-01-18

1. 前言 互联网公司的分布式系统要对外提供可靠的服务,一般都会有一套高可用的架构,在CAP理论下,分区容忍性往往是不能舍弃的,所以对于系统可用性(Availability)、数据一致性(Consistency)的容忍程度,决定了能提供什么样的服务等级。简单的系统部署在单地域单机...

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

Java

【Java并发基础】Java内存模型解决有序性和可见性

3

darida 发布于 2020-01-18

前言 解决并发编程中的可见性和有序性问题最直接的方法就是禁用CPU缓存和编译器的优化。但是,禁用这两者又会影响程序性能。于是我们要做的是 按需禁用CPU缓存和编译器的优化 。 如何按需禁用CPU缓存和编译器的优化就需要提到 Java内存模型 。Java内存模型是一个复杂的规范。其...

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

Java

java面试题-集合类

wenming.gapo 发布于 2020-01-18

准备年后要跳槽,所以最近一直再看面试题,并且把收集到的面试题整理了以下发到博客上,希望对大家有所帮助。 首先是集合类的面试题 1.  HashMap 排序题,上机题。 已知一个 HashMap<Integer,User>集合, User 有 name(Str...

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

Java

基于Netty和SpringBoot实现一个轻量级RPC框架-Client端请求响应同步化处理

1

xiaoli.wang 发布于 2020-01-18

前提 前置文章: 《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Client篇》 前一篇文章简单介绍了通过...

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

编程技术

为什么我们要放弃迁移到微服务?

3

likai 发布于 2020-01-18

最近我们开发团队在开发计划中有一个小停顿,技术部门认为现在是将应用从单体架构迁移到微服务的最佳时机。 图片来自 Pexels 经过一个月的准备和调查,我们取消了迁移,仍然使用单体模式。对我们而言,微服务不仅帮不上忙,反而会影响到开发计划。 我们了解微服务大约是在一年前,但是很惊讶...

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

Java

深入理解RPC之Dubbo的应用及原理解析

66

Harries 发布于 2020-01-17

分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。 分布式系统(distributed system)是建立在网络之上的软件系统。 为什么会出现分布式系统 随着互联网的发展,网站的应用规模不断扩大,常规的垂直应用架构已经无法应对,分布式服务架构以及流动计算...

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