上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 一、事务的ACID: 1、Atomic:原子性 多条SQL执行,要么一起成功,要么一起失败,执行状态保持一致。 2、Consistency:一致性 一组SQL执行之前,数据必须是准确的,执行之后,数据也必须是准确的。 必须符合逻辑计算。 3、Isolation:隔离性 多个事务在执行的时候不能互相干 阅读全文
posted @ 2022-01-09 09:27 Diamond-Shine 阅读(156) 评论(0) 推荐(0)
摘要: (分布式事务实践,选型调研) 一、写在开始: ==除了极个别系统模块,如支付、订单这种,其余都不推荐使用分布式事务框架来解决问题,会使系统复杂度增加,可能会导致更多的问题。== 一般的业务系统,通常考虑消息补偿、job处理、系统监控报警、人工等解决方式,毕竟你的系统没那么多一致性问题。 就是大厂也是 阅读全文
posted @ 2022-01-09 09:24 Diamond-Shine 阅读(98) 评论(0) 推荐(0)
摘要: AbstractQueuedSynchronizer简称为AQS,AQS是ReentrantLock、CountdownLatch、CycliBarrier等并发工具的原理/基础,所以了解AQS的原理对学习J.U.C包很重要,本篇博客主要学习排他锁的加锁和解锁过程,而共享锁的部分将会在下一篇博客中学 阅读全文
posted @ 2019-12-19 18:14 Diamond-Shine 阅读(466) 评论(0) 推荐(0)
摘要: 单例模式是最常见的设计模式,也是项目中或者框架中应用比较广泛的设计模式,今天一起复习的一下单例模式的几种写法。 单例模式优点: 1.保证只有一个实例,所以可以节省内存和计算。 2.有些场景下,可以保证结果正确。 3.方便管理。 使用场景: 1.无状态的工具类,例如日期工具类,字符串工具类等。 2.全 阅读全文
posted @ 2019-12-12 06:27 Diamond-Shine 阅读(333) 评论(0) 推荐(0)
摘要: 分享一道多线程面试题,只是拿来练手的,这里通过两种方式去实现0-100交替打印,大家无聊的话,可以瞅两眼。 一、Synchronized实现: public class PrintNumberIncrInSynchronized { private static int number; privat 阅读全文
posted @ 2019-12-06 08:53 Diamond-Shine 阅读(1280) 评论(0) 推荐(0)
摘要: 1、线程id和name 线程id是线程的唯一标识,不可修改,而线程名称是可以修改的。 public static void main(String[] args) { Thread thread = new Thread(); System.out.println("主线程ID为:"+Thread. 阅读全文
posted @ 2019-10-27 21:37 Diamond-Shine 阅读(381) 评论(0) 推荐(0)
摘要: wait、notify、notifyAll 这三个方法都是属于Object的,Java中的类默认继承Object,所以在任何方法中都可以直接调用wait(),notifyAll(),notify(),static方法也一样,new一个对象再调用。这三个方法必须是在获取到monitor锁的前提下使用, 阅读全文
posted @ 2019-10-24 14:01 Diamond-Shine 阅读(868) 评论(0) 推荐(0)
摘要: 线程的生命周期或者说状态其实不复杂,但是很多人的理解可能有错误,一个典型的误区,线程运行时的状态是Runnable,而不是Running,因为线程没有Running状态。 线程的状态 1、New:已创建,没启动。还没有执行start() 2、Runnable:调用start()之后就处于Runnab 阅读全文
posted @ 2019-10-22 17:50 Diamond-Shine 阅读(529) 评论(0) 推荐(0)
摘要: 启动线程: 从一个最基本的面试题开始,启动线程到底是start()还是run()? Runnable runnable = () -> System.out.println(Thread.currentThread().getName()); Thread thread = new Thread(r 阅读全文
posted @ 2019-10-21 18:29 Diamond-Shine 阅读(1521) 评论(0) 推荐(0)
摘要: 多线程这个概念,离我们很近,是因为面试的时候无论是笔试还是面试肯定会问到,只是深浅的区别。而工作中只有一些特殊的场景我们才会用到多线程的内容(当然互联网等公司除外)甚至有些开发人员从来没有用过多线程,所以可能又离得很远。但是我们总能在一些大厂包括很普通的公司的面试要求中看到IO、多线程、并发等概念, 阅读全文
posted @ 2019-10-19 10:30 Diamond-Shine 阅读(579) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 13 下一页