一、工作流选型 acitviti和flowable的比较? Flowable是Activiti原班主创人员从activiti-6.0.0.Bet...
1、CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。 假如有这样一个需求:我们需要解析一个Ex...
在执行程序时,为了提高性能,编译器和处理器常常会对指令做重排序。 重排序分以下3种类型: 编译器优化的重排序:编译器在不改变单线程程序语义的前提...
线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信。在消...
静态代理 静态代理是代理模式的实现方式之一,是相对于动态代理而言的。所谓静态代理是指,在程序运行前,由程序员创建或特定工具自动生成源代码并对其编...
参考文章:https://www.cnblogs.com/dongguacai/p/6030187.htmlhttps://www.cnblog...
上一篇对HashMap的结构做了详细的介绍,讲解了put方法还有get方法,本篇将会更深入的走进HashMap源码。 散列函数(解释hash碰撞...
简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的. 在分析源码之前让我们来看下源码中...
1、左移运算符<< <<,有符号左移位,将运算数的二进制整体左移指定位数,低位用0补齐。 1.为正数情况 2.为负数的情况 为什么会-10的二进...