Java知识 第9页

  • 面试官问:Java 中的锁有哪些?我跪了……

    面试官问:Java 中的锁有哪些?我跪了……

    来源:https://dwz.cn/GJZpv3KK公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁是指多个...

    Java知识 2019-07-19 484 0
  • 【死磕Java并发】-----J.U.C之并发工具类:CountDownLatch

    【死磕Java并发】-----J.U.C之并发工具类:CountDownLatch

    此篇博客所有源码均来自JDK 1.8在上篇博客中介绍了Java四大并发工具一直的CyclicBarrier,今天要介绍的CountDownLatch与CyclicBarrier有点儿相似。CyclicBarrier所描述的是“允许一组线程互相等待,直到到达某个公共屏障点,才会进行后续任务",而CountDownLatch所描述的是”在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待“。在API中是这样描述的:用给定的计数 初始化 CountDownLatch。由于调用了 countDow...

    Java知识 2018-03-30 477 0
  • 分布式事务 TCC-Transaction 源码解析 —— 事务存储器

    分布式事务 TCC-Transaction 源码解析 —— 事务存储器

    本文主要基于 TCC-Transaction 1.2.3.3 正式版1. 概述2. 序列化2.1 JDK 序列化实现2.2 Kyro 序列化实现2.3 JSON 序列化实现3. 存储器3.1 可缓存的事务存储器抽象类3.2 JDBC 事务存储器3.3 Redis 事务存储器3.4 Zookeeper 事务...

    Java知识 2018-02-07 356 0
  • 分布式事务 TCC-Transaction 源码分析 —— TCC 实现

    分布式事务 TCC-Transaction 源码分析 —— TCC 实现

    本文主要基于 TCC-Transaction 1.2.3.3 正式版1. 概述2. TCC 原理3. TCC-Transaction 原理4. 事务与参与者4.1 事务4.2 参与者5. 事务管理器5.1 发起根事务5.2 传播发起分支事务5.3 传播获取分支事务5.4 提交事务5.5 回滚事务5.6 添...

    Java知识 2018-01-31 437 0
  • 【死磕Java并发】—– J.U.C之重入锁:ReentrantLock

    【死磕Java并发】—– J.U.C之重入锁:ReentrantLock

    此篇博客所有源码均来自JDK 1.8ReentrantLock,可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大、灵活的锁机制,可以减少死锁发生的概率。API介绍如下:一个可重入的互斥锁定 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁定相同的一些基本行为和语义,但功能更强大。ReentrantLock 将由最近成功获得锁定,并且还没有释放该锁定的线程所拥有。当锁定没有被另一个线程...

    Java知识 2018-01-24 479 0
  • 分布式事务 TCC-Transaction 源码解析 —— 调试环境搭建

    分布式事务 TCC-Transaction 源码解析 —— 调试环境搭建

    本文主要基于 TCC-Transaction 1.2.3.3 正式版1. 依赖工具2. 源码拉取3. 初始化数据库4. 启动 capital 项目5. 启动 redpacket 项目6. 启动 order 项目666. 彩蛋1. 依赖工具MavenGitJDKMySQLIntelliJ IDEA2. 源码拉取从官方仓库 https://github.com/changmingxie/tcc-transaction.git Fork 出属于自己的仓库。为什么要 Fork&nbs...

    Java知识 2018-01-22 660 0
  • 【死磕Java并发】—–Java内存模型之总结

    【死磕Java并发】—–Java内存模型之总结

    作者:大明哥 原文地址:http://cmsblogs.com/?p=2167总结JMM规定了线程的工作内存和主内存的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JMM对程序员屏蔽了CPU以及OS内存的使用问题,能够使程序在不同的CPU和OS内存上都能够达到预期的效果。Java采用内存共享的模式来实现线程之间的通信。编译器和处理器可以对程序进行重排序优化处理,但是需要遵守一些规则,不能随意重排序。原子性:一个操作或者多...

    Java知识 2017-12-06 423 0
  • 【死磕Java并发】—–深入分析synchronized的实现原理

    【死磕Java并发】—–深入分析synchronized的实现原理

            记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs SE 1.6对sy...

    Java知识 2017-11-01 485 0
‹‹ 1 2 3 4 5 6 7 8 9