1.什么是分布式 分布式不是指必须把应用程序部署到不同的服务器 只要存在应用程序跨JVM就是分布式 2.什么时候使用分布式锁 应用之间存在共享资源的竞争就要使用分布式锁 3.什么时候使用分布式事务 需要保证数据库中的数据的一致性的时候,就需要使用分布式事务 4.都有哪些分布式锁 4.1. 数据库-乐 ...
分类:
其他好文 时间:
2020-07-29 15:31:57
阅读次数:
77
我们继续接上篇,本篇是对unlock方法的跟踪解析。 调用lock.unlock(); 进入后发现,还是使用了sync对象的方法,上篇中以及说明了,sync实际上是对于AQS的一种实现,实现一部分AQS提供的抽象方法。 我们进入release方法看看 我们能看到,进入后,传递的参数是一,这个是加锁的 ...
分类:
其他好文 时间:
2020-07-26 16:04:56
阅读次数:
80
一、为什么要使用Atomic类? 看一下下面这个小程序,模拟计数,创建10个线程,共同访问这个int count = 0 ;每个线程给count往上加10000,这个时候你需要加锁,如果不加锁会出现线程安全问题,但是使用AtomicInteger之后就不用再做加锁的操作了,因为AtomicInteg ...
分类:
编程语言 时间:
2020-07-22 13:51:53
阅读次数:
82
NX9+VS2012 using NXOpen; using NXOpenUI; using NXOpen.UF; using NXOpen.Utilities; private void button1_Click(object sender, EventArgs e) { //锁定UI theU ...
分类:
数据库 时间:
2020-07-22 02:08:52
阅读次数:
174
一、前言 闭锁与栅栏是在多线程编程中的概念,因为在多线程中,我们不能控制线程的执行状态,所以给线程加锁,让其按照我们的想法有秩序的执行。 闭锁 CountDownLatch,实例化时需要传入一个int类型的数字(count),意为等待count个线程完成之后才能执行下一步动作。 如今天要做的事情是吃 ...
分类:
编程语言 时间:
2020-07-19 23:47:16
阅读次数:
80
类加载子系统 概述 完整图如下: 如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载 Class 文件,Class 文件在文件开头有特定的文件标识(CAFE BABE)。 ClassLoader 只负责 ...
分类:
其他好文 时间:
2020-07-19 23:39:47
阅读次数:
51
大数据时代随之而来的就是并发问题。Java开发本身提供了关于锁的操作。我们知道的有Synchronized。 这个是JVM层面的锁。操作简单 Lock的由来 因为Synchronized简单所以不可控制,或者说不是很灵活。Synchronized是已块进行执行加锁的。这个时候我们需要通过Lock进行 ...
分类:
编程语言 时间:
2020-07-16 11:46:11
阅读次数:
56
Java面试题——随机题(一),看看哪些你会哪些你不会 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 请说明一下EJB的几种类型分别是什么? 会话(Session)Bean、实体(Entity)Bean 、消息驱动的(Mess ...
分类:
编程语言 时间:
2020-07-13 13:36:57
阅读次数:
74
首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。 解铃还须系 ...
分类:
其他好文 时间:
2020-07-12 20:29:53
阅读次数:
65
# 多线程编程并发编程的目的是:1. 提高资源的利用率2. 提高响应速度## 常见资源* 带宽* 链接数* cpu* 内存* gpu## 同步原语* 原子操作 * 保证内存读取-修改-写回序列原子执行。 * 原子意味着本地cpu不被中断或内存总线(或缓存)加锁 * 是同步的基础* 锁 * 原子操作 ... ...
分类:
其他好文 时间:
2020-07-12 12:03:55
阅读次数:
59