摘要:
Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式 condition对象是依赖于lock对象的,意思就是说condition对象需要通过lock对象进行创建出来(调用Lock对象的newCondition()方法) 三个线程依次打印abc Condit 阅读全文
摘要:
主要是三个方法wait(); notify(); notifyAll() wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 同步代码块里使用 wait()、notify/notifyAll() 方法。 wait方法释放 阅读全文
摘要:
1.关键字段建立索引。2.使用存储过程,他使sql更加灵活高效。3.备份数据库合情理垃圾数据4.sql语句的语法的优化5.清理清除日志 1.用 union all代替or2.建立索引3,避免隐式转换,导致素引失效4.视图的优化:结合业务逻辑,考虑创建物化视图,通过其中间存储来消除不必要的全表扫描。( 阅读全文
摘要:
排他锁与共享锁 读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。 读-读能共存,读-写不能共存,写-写不能共存 读写锁的实现 Main 执行如下 Thread-0写操作正在执行Thread-0写操作执行完毕Thread 阅读全文
摘要:
AbstractQueueSynchronized 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就 阅读全文
摘要:
二级审批流程的实现 1.设计一个二级审批流程 2.创建三个不同用户组为流程参与者 3.参与者协同完成流程 second_approve.bpmn 设计 对应xml文件如下 新建springboot工程 引入依赖 简化logback输出,logback.xml resources引入second_ap 阅读全文
摘要:
概述 工作流(workflow)是对工作流程及其各操作步骤之间业务规则的抽象,概括描述 工作流建模 即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型 表达并对其实施计算 ProcessEnigneConfiguration (流程引擎配置载体 ) 通过读取 activiti 阅读全文
摘要:
多个类加载器是如何协同工作的 ? 双亲委派模型双亲委托模型的工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父类加载器反馈自己无法完成这个 阅读全文
摘要:
类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。 类加载时机 初始化 一,遇到new,getstatic,putstatic,invokestatic这四条字节码指令时,如果类没有进行初 阅读全文
摘要:
字节码指令 java 虚拟机的指令由一个字节长度的,代表着某种特定操作的含义的数字,称为操作码,以及跟随其后零至多个代表此操作所需参数的操作数而组成 操作码的长度为1个字节,因此最大只有256条 基于栈的指令集架构. 在虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息lload fl 阅读全文