标签:原子类

Java

RPC 框架的可靠性设计

10

hellas 发布于 2019-01-31

1. 背景 1.1 分布式调用引入的故障 在传统的单体架构中,业务服务调用都是本地方法调用,不会涉及到网络通信、协议栈、消息序列化和反序列化等,当使用 RPC 框架将业务由单体架构改造成分布式系统之后,本地方法调用将演变成跨进程的远程调用,会引入一些新的故障点,如下所示: 图 1...

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

Java

Don’t Cross 32 GB!

2

hanze 发布于 2019-01-28

看elasticsearch官方文档时,提到的一个观点: Don’t Cross 32 GB 。是因为当JVM堆少于32G时,HotSpot虚拟机会启用一个压缩对象指针。而如果超过32G,这个压缩对象指针就会失效。那么,纠结这个临界值的精确值是多大呢?开启压缩指针相比没有开启,能...

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

Java

Java 8你了解多少呢?Java之被人遗忘的Java 8的八个功能

1

xirruiqiang 发布于 2019-01-25

一直以来,多线程代码是服务器开发人员的毒药(问问Oracle的Java语言架构师和并行开发大师Brian Goetz)。Java的核心库不断加入各种复杂的用法来减少访问共享资源时的线程等待时间。其中之一就是经典的读写锁(ReadWriteLock),它让你把代码分成两部分:需要互...

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

Java

从 synchronized 到 CAS 和 AQS – 彻底弄懂 Java 各种并发锁

hanze 发布于 2019-01-18

概述 Java 中的并发锁大致分为隐式锁和显式锁两种。隐式锁就是我们最常使用的 synchronized 关键字,显式锁主要包含两个接口:Lock 和 ReadWriteLock,主要实现类分别为 ReentrantLock 和 ReentrantReadWriteLock,这两...

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

Java

为年后跳槽准备的133 道 Java 面试题及答案

5

changyuan.xu 发布于 2019-01-17

为年后跳槽准备的133 道 Java 面试题及答案 Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入。 在我初入职场的时候,类似于 Ve...

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

Java

Java 线程池框架核心代码分析

1

尖兵 发布于 2019-01-13

前言 多线程编程中,为每个任务分配一个线程是不现实的,线程创建的开销和资源消耗都是很高的。线程池应运而生,成为我们管理线程的利器。Java 通过 Executor 接口,提供了一种标准的方法将任务的提交过程和执行过程解耦开来,并用 Runnable 表示任务。 下面,我们来分析一...

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

Java

从 synchronized 到 CAS 和 AQS – 彻底弄懂 Java 各种并发锁

changyuan.xu 发布于 2019-01-10

Java 中的并发锁大致分为隐式锁和显式锁两种。隐式锁就是我们最常使用的 synchronized 关键字,显式锁主要包含两个接口:Lock 和 ReadWriteLock,主要实现类分别为 ReentrantLock 和 ReentrantReadWriteLock,这两个类都...

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

Java

最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁

5

likai 发布于 2019-01-04

在Java并发场景中,会涉及到各种各样的锁如公平锁,乐观锁,悲观锁等等,这篇文章介绍各种锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 乐观锁/悲观锁 分段锁 自旋锁 01.乐观锁 vs 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和...

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

Java

synchronized关键字大总结

6

darida 发布于 2018-12-30

全面对 synchronized 进行总结。 0、synchronized 的特点: 可以保证代码的原子性和可见性。 1、synchronized 的性质: 可重入(可以避免死锁、单个线程可以重复拿到某个锁,锁的粒度是线程而不是调用)、不可中断(其实也就是上面的原子性) 2、sy...

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

Java

燃烧吧!我的并发之魂–synchronized

17

zhuangli 发布于 2018-12-29

经历了两个月的沉淀,感觉整体能力有所提升,最近除了 年终总结 也没有什么打算了 高并发这块一致是我的心病,在这年尾,抽刀,奋力一击吧 虽然会用线程,但是总感觉有很多地方让我挺烦心,比如并发和那两个关键字 曾经三次想要突破掉多线程,但都失败了,只好暂时离开,现在的我感觉应该可以了 ...

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

Java

Java并发2:JMM,volatile,synchronized,final

6

邓龙华 发布于 2018-12-26

并发编程需要处理两个关键问题:线程之间如何 通信 以及线程之间如何 同步 。 通信是指线程之间以何种机制来交换信息。线程之间的通信机制有两种: 共享内存和消息传递。 共享内存模型中,线程之间共享程序的公共状态,通过读-写内存中的公共状态进行隐式通信。多条线程共享一片内存,发送者将...

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

Java

职业生涯:我在阿里的一次JAVA面试经历总结(跳槽,深薪必备)

3

xubiao.zhuang 发布于 2018-12-25

为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师。 一面主要问题如下: 1)首先自我介绍 2)数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题 3)对一个数组进行绝对值排序的算法 4)java中hashmap的底层实现 5)java中垃...

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

Java

大白话聊聊Java并发面试问题之谈谈你对AQS的理解?【石杉的架构笔记】

8

xiaoli.wang 发布于 2018-12-06

欢迎关注个人公众号:石杉的架构笔记(ID:shishan100) 周一至周五早8点半!精品技术文章准时送上! 一、写在前面 上一篇文章聊了一下java并发中常用的原子类的原理和Java 8的优化,具体请参见文章: 大白话聊聊Java并发面试问题之Java 8如何优化CAS性能? ...

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

Java

大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?【石杉的架构笔记】

6

尖兵 发布于 2018-12-05

一、前情回顾 上篇文章给大家聊了一下volatile的原理,具体参见: 大白话聊聊Java并发面试问题之volatile到底是什么? 。 这篇文章给大家聊一下java并发包下的CAS相关的原子操作,以及Java 8如何改进和优化CAS操作的性能。 因为Atomic系列的原子类,无...

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

Java

Android并发编程 多线程与锁

1

xiaoli.he 发布于 2018-11-30

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

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

Java

RxJava练武场之——Token前置请求

3

songhua.gao 发布于 2018-11-23

RxJava的用武之地 Rxjava这个库和其他常见库不太一样,一般的库例如Glide,ButterKnife都是为了解决实际问题出现的,一定程度上是刚需。Glide库如果不用他,那么应用自己就要处理图片下载、压缩、内存管理、多级缓存等等复杂的逻辑。这类问题复杂而常见,而像Gli...

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

Java

不可不说的Java“锁”事

18

小丁 发布于 2018-11-15

前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进...

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

Java

BATJ都爱问的多线程面试题

10

xubiao.zhuang 发布于 2018-11-02

下面最近发的一些并发编程的文章汇总,通过阅读这些文章大家再看大厂面试中的并发编程问题就没有那么头疼了。今天给大家总结一下,面试中出镜率很高的几个多线程面试题,希望对大家学习和面试都能有所帮助。备注:文中的代码自己实现一遍的话效果会更佳哦! 并发编程面试必备:synchronize...

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