博客专栏  >  编程语言   >  死磕Java

死磕Java

死磕Java,征服Java,向成神路上奋进

关注
917 已关注
32篇博文
  • 【死磕Java并发】-----J.U.C之重入锁:ReentrantLock

    此篇博客所有源码均来自JDK 1.8 ReentrantLock,可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchro...

    2017-03-26 21:19
    4050
  • 【死磕Java并发】-----J.U.C之AQS:阻塞和唤醒线程

    此篇博客所有源码均来自JDK 1.8 在线程获取同步状态时如果获取失败,则加入CLH同步队列,通过通过自旋的方式不断获取同步状态,但是在自旋的过程中则需要判断当前线程是否需要阻塞,其主要方法在acqu...

    2017-03-23 21:41
    4628
  • 【死磕Java并发】-----J.U.C之AQS:同步状态的获取与释放

    此篇博客所有源码均来自JDK 1.8 在前面提到过,AQS是构建Java同步组件的基础,我们期待它能够成为实现大部分同步需求的基础。AQS的设计模式采用的模板方法模式,子类通过继承的方式,实现它的抽象...

    2017-03-13 17:30
    3162
  • 【死磕Java并发】-----J.U.C之AQS:CLH同步队列

    此篇博客所有源码均来自JDK 1.8 在上篇博客【死磕Java并发】—–J.U.C之AQS:AQS简介中提到了AQS内部维护着一个FIFO队列,该队列就是CLH同步队列。CLH同步队列是一个FIFO双...

    2017-03-07 22:11
    4596
  • 【死磕Java并发】-----J.U.C之AQS:AQS简介

    Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略(【死磕Java并发】—–深入分析synchr...

    2017-03-05 22:26
    3814
  • 【死磕Java并发】-----Java内存模型之总结

    经过四篇博客阐述,我相信各位对Java内存模型有了最基本认识了,下面LZ就做一个比较简单的总结。总结JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序...

    2017-03-03 12:58
    3740
  • 【死磕Java并发】-----Java内存模型之从JMM角度分析DCL

    DCL,即Double Check Lock,中卫双重检查锁定。其实DCL很多人在单例模式中用过,LZ面试人的时候也要他们写过,但是有很多人都会写错。他们为什么会写错呢?其错误根源在哪里?有什么解决方...

    2017-02-28 18:45
    1272
  • 【死磕Java并发】-----Java内存模型之分析volatile

    前篇博客【死磕Java并发】—–深入分析volatile的实现原理 中已经阐述了volatile的特性了: volatile可见性;对一个volatile的读,总可以看到对这个变量最终的写; vola...

    2017-02-23 20:27
    2581
  • 【死磕Java并发】-----Java内存模型之重排序

    在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件: 1. 在单线程环境下不能改变程序运行的结果; 2. 存在...

    2017-02-20 08:44
    3087
  • 【死磕Java并发】-----Java内存模型之happens-before

    在上篇博客(【死磕Java并发】—–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题。那么我们正确使用同步、锁的情况下...

    2017-02-13 12:02
    1928
  • 【死磕Java并发】-----深入分析volatile的实现原理

    通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使...

    2017-02-08 17:51
    2699
  • 【死磕Java并发】-----深入分析synchronized的实现原理

    记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线...

    2017-02-05 21:48
    14369

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部