在了解如何集成前,首先我们得找对易于集成的报表工具,什么样的报表易于集成? 1. 同平台的 比如:java 开发的项目找 java 开发的报表工具 2. 没有复杂系统功能的 因为含有复杂系统功能的报表工具,跟自己的报表门户平台集成会存在冲突,比如:用户管理体系,单点登录等。这时就不能做无缝集成了,只 ...
分类:
其他好文 时间:
2020-05-19 23:09:29
阅读次数:
81
线程池的参数 创建线程的方式 如何暂停线程,有几种方式 线程之间的通讯 线程中什么是原子性、什么是可见性、什么是有序性? Volatile是如何实现可见性的? AQS中共享锁有哪些?独占锁有哪些 synchronized 关键字有几种用法? synchronized 的缺点有哪些? 静态方法和非静态 ...
分类:
编程语言 时间:
2020-05-19 22:56:32
阅读次数:
104
一.LockSupport是什么 LockSupport是一个线程阻塞工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,当然阻塞之后肯定得有唤醒的方法。 Doug Lea 的神作concurrent包是基于AQS (AbstractQueuedSynchronizer)框架,AQS框架借助于 ...
分类:
其他好文 时间:
2020-05-18 12:39:04
阅读次数:
67
一.Semaphore是什么 Semaphore 是一个计数信号量,必须由获取它的线程释放。用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。 Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的sy ...
分类:
其他好文 时间:
2020-05-14 19:22:25
阅读次数:
47
Semaphore意思的信号量,它的作用是控制访问特定资源的线程数量 构造方法: public Semaphore(int permits) public Semaphore(int permits, boolean fair) permits:允许同时访问的线程数量 fair:是否公平,若true ...
分类:
其他好文 时间:
2020-05-14 01:33:41
阅读次数:
55
前面一篇文章中说明了Object的阻塞唤醒机制,今天我们要讲解另一个类LockSupport,在AQS中你能看见它的身影,所以需要提前了解其实现和使用机制,便于后面深入AQS的学习 ...
分类:
其他好文 时间:
2020-05-10 12:32:35
阅读次数:
58
AQS:AbstractQuenedSynchronizer抽象的队列式同步器,这个类在java.util.concurrent.locks包下,是JAVA除了自带的synchronized关键字之外的锁机制实现。AQS中维护了一个 volatile int state 变量(代表共享资源)和一个C ...
分类:
其他好文 时间:
2020-05-08 18:04:00
阅读次数:
63
作者:高广超 www.jianshu.com/p/e674ee68fd3f 一、为什么要用锁? ============= 锁 是为了解决并发操作引起的脏读、数据不一致的问题。 二、锁实现的基本原理 ============== 2.1、volatile Java编程语言允许线程访问共享变量, 为了 ...
分类:
编程语言 时间:
2020-05-08 09:27:32
阅读次数:
66
支付宝高级Java一面 JVM中的老年代在什么情况下会触发GC? CMS的垃圾回收步骤,G1和CMS的区别? CMS哪个阶段是并发的,哪个阶段是串行的? 谈谈Java线程池,线程池中几个参数含义 谈谈你了解的J.U.C包的JDK源码(CAS、AQS、ConcurrentHashMap、ThreadL ...
分类:
编程语言 时间:
2020-05-07 15:41:53
阅读次数:
100
AbstractQueuedSynchronizer 类如其名,抽象的队列式的同步器,AQS 定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch。 它维护了一个 volatile int state ...
分类:
编程语言 时间:
2020-05-06 01:43:49
阅读次数:
110