标签:并发编程

Java

synchronized原理及其应用(详细且认真)

5

小丁 发布于 2020-04-03

在jdk1.6之前,synchronized是基于底层操作系统的 Mutex Lock 实现的,每次获取和释放锁都会带来 用户态和内核态的切换 ,从而增加系统的 性能开销 。在锁竞争激烈的情况下,synchronized同步锁的性能很糟糕。 JDK 1.6 ,Java对synch...

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

Java

Java实习生面试复习(八):volatile的学习

3

刘莉莉 发布于 2020-04-03

我是一名很普通的双非大三学生。接下来的几个月内,我将坚持写博客,输出知识的同时巩固自己的基础,记录自己的成长和锻炼自己,备战2021暑期实习面试!奥利给!! volatile也是多线程这块经常问到的基础问题,以volatile关键字作为一个小的切入点,往往可以一问到底,把Java...

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

Java

Netty源码06-Netty相关问题小结

darida 发布于 2020-04-03

Netty相关问题小结 Netty的特点 Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对TCP、UDP和文件传输的支持 Netty 使用更高效的socket底层通信方式 epoll ,对JAVA原生NIO空轮询引起的cpu占用飙升在内部进行了处理,避免了直接使...

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

Java

Java线程池实现原理及其在美团业务中的实践

30

小丁 发布于 2020-04-02

随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。...

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

Java

几位阿里朋友重写的Java并发编程,牛逼了

7

xiaoli.wang 发布于 2020-04-02

昨天在黄金时代群里和读者聊机械键盘大 F 的时候,好朋友 cxuan 推了一篇文章,吸引了我的眼球,名叫“太赞了,阿里几位工程师重写了 《Java 并发编程》”,我看完后,直呼“牛逼了”,就想着赶紧推荐给小伙伴们。 我一看作者介绍,真不得了,全是一线大厂的 Java 高级工程师。...

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

Java

并发编程学习(一)Java 内存模型

5

zhuangli 发布于 2020-04-02

Java 内存模型 什么是 Java 内存模型(Java Memory Model) Java 内存模型是一种规范,规范了 Java 虚拟机和计算机内存是如何进行协同工作的。 JMM 规定了一个线程如何和何时看到其它线程修改过后的的共享变量的值,以及在必须时如何同步的访问共享变量...

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

Java

校招 – 心得和总结 (一定要看系列, Java开发岗)

1

yanxinchi 发布于 2020-04-02

其实Java开发和其他岗位开发区别在于 语言 和 项目 。 前半部分是 基础 , 应该是开发必备的。 后半部分语言和项目可能有出入。 还有一点就是, 先去拿到一个满意的Offer对你后期面试的 自信心 的提升是很大的 , 所以怎么说呢 , 对于零offer的人来说 , 每次面试的...

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

Java

Java并发编程:任务的取消和关闭

1

puefu.he 发布于 2020-03-31

前言 任务和线程的启动很容易。在大多数时候,我们都会让它们运行直到结束,或者让它们自行停止。然而,有时候我们希望提前结束任务或线程,或许是因为用户取消了操作,或者应用程序需要被快速关闭。 要使任务和线程能安全、快速、可靠地停止下来,并不是一件容易的事。Java 没有提供任何机制来...

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

Java

Java 注解是如何玩转的,面试官和我聊了半个小时

1

wenming.gapo 发布于 2020-03-31

面试官 :自定义的Java注解是如何生效的?  小白 :自定义注解后,需要定义这个注解的注解解析及处理器,在这个注解解析及处理器的内部,通过反射使用Class、Method、Field对象的getAnnotation()方法可以获取各自位置上的注解信息,进而完成注解所需...

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

Java

面试刷题18:死锁是怎么产生的?如何定位修复?

6

尖兵 发布于 2020-03-30

死锁是并发编程的难点问题。 大家好,我是李福春,我在准备面试,今天的问题是: 死锁是如何产生的?如何定位?如何修复和避免? 答:死锁是一种特定的程序状态,一般是多线程场景下两个以上的线程互相持有对方需要的锁而处于的永久阻塞状态。 定位方法:jstack分析线程的栈信息可以定位出来...

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

Java

如何远离浮躁的碎片化学习,给自己增加职场竞争力

8

xiaoli.wang 发布于 2020-03-29

由于疫情的影响,最近在家办公盛行。有同学跟我抱怨,说他们公司某某员工穿着睡衣就开视频会议了。 然后开完会议就躺在沙发上面办公,越躺越低,然后不小心睡着了。起来就发现到了下班的点了。心里那个虚呀,于是晚上加班继续完成任务。我觉得这是在家办公效率低的原因之一吧… 言归正传...

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

Java

三、聊聊并发 — 为什么Java并发编程必须了解Java内存模型

4

xirruiqiang 发布于 2020-03-29

前面我们说了在并发编程中引起线程不安全的原因,主要因为共享变量的可见性、重排序、原子性,也稍微的提了一下内存模型,那什么是内存模型呢?为什么必须要了解Java内存模型呢?那我们这篇文章就来聊一聊Java内存模型 什么是Java内存模型 Java 内存模型的主要目标是定义程序中各个...

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

Java

二本本科无实习上岸滴滴京东58科大讯飞复盘

4

刘莉莉 发布于 2020-03-29

因为内容过多,分为上、中、下 本篇内容:8000+ 字 建议阅读时间:20 分钟,如果有收获,建议收藏多次阅读 上篇目录 秋招之路复盘篇     楼 主的自我介绍:     我自己复习范围: (关注公...

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

Java

太赞了!阿里几位工程师重写了 《Java 并发编程》

3

wenming.gapo 发布于 2020-03-29

事情是这样的,前些日子和得知一个读者在准备阿里的面试,我蛮有兴趣的跟他聊了起来,随着话题越来越深入,我发现这位读者有意思,他和几位阿里的工程师之前编写了一本 concurrent.redspider.group ,我一搜发现不得了,这完全是一本书啊,截图看一下他的目录 随便翻一下...

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

Java

JDK源码那些事儿之神秘的ThreadLocal下篇

5

hellas 发布于 2020-03-28

上一篇文章中说明了ThreadLocal的使用,部分源码实现以及Thread,ThreadLocal,ThreadLocalMap三者之间的关联关系,其中核心实现ThreadLocalMap将在本篇文章中进行讲解,让我们一起来探究下jdk中的ThreadLocalMap是如何实现...

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

Java

Java并发编程之支持并发的list集合你知道吗

9

xiaoli.he 发布于 2020-03-28

Java并发编程之-list集合的并发. 我们都知道Java集合类中的arrayList是线程不安全的。那么怎么证明是线程不安全的呢?怎么解决在并发环境下使用安全的list集合类呢? 本篇是《凯哥(凯哥Java:kagejava)并发编程学习》系列之《并发集合系列》教程的第一篇:...

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

Java

面试刷题16:synchronized和ReentrantLock的区别?

3

xirruiqiang 发布于 2020-03-27

java并发编程是程序员基本技能。 我是李福春,我在准备面试,今天的题目是: synchronized和ReentrantLock的区别? 这两货都是java提供的同步机制,提供了互斥语义和可见性,当一个线程获得资源之后,其它竞争资源的线程必须等待或者堵塞。 区别如下: 线程安全...

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

Java

面试刷题15:synchronized底层是如何实现的?

4

xiaoli.wang 发布于 2020-03-27

所有的同步场景都是基于锁。锁在并发编程中发挥重要作用。 我是李福春,我在准备面试,今天的题目是: synchronized底层是如何实现的? 答: synchronized是在底层的jvm中实现的,即c++写的,synchronized的实现是基于一对monitorenter, ...

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