Java并发
文章平均质量分 81
Java并发
白鸽呀
这个作者很懒,什么都没留下…
展开
-
java中的七大GC收集器和四大GC算法
java中的七大GC收集器和四大GC算法垃圾收集器的种类和介绍1、serial 串行垃圾收集器,采用单线程收集垃圾2、parallel 并行垃圾收集器,采用多线程收集垃圾3、CMS(concurrentMarkSweep)并发标记收集 垃圾收集器,串行和并行同在,是前两种垃圾收集器的优化,较短时间进行STW(stop the world),保证较快的响应速度。4、G1 新一代垃圾收集器,采用的region分区java8中默认的垃圾收集器jps -l #查看java进程列表jinfo -原创 2021-07-24 22:58:44 · 1456 阅读 · 4 评论 -
JVM内存模型和JVM调优
JVM内存模型和JVM调优JVM内存模型注意:方法区的实现是MetaSpace,JVM中方法区和堆是共享的,每一个线程的自己独立的执行栈,pc计数器,本地方法栈均为线程私有JVM堆的划分1、创建的对象都会放入heap中的Eden区2、当Eden区满时,会开启youngGC,存活对象放入from区3、下次扫描时,就会扫描Eden区和from区,将存活的对象放入To区,From区和To区进行交换(复制交换)4、当对象经过15次交换后,将对象放入oldGen(full GC 主要是回收oldG原创 2021-07-23 15:20:40 · 272 阅读 · 1 评论 -
java死锁原因和解决
死锁简单点来说,两个或两个以上的线程情景下,线程A持有锁资源A,但是还想要资源B,于是请求B锁,线程B持有锁资源B,但是还想要资源A,于是请求A锁。两者互不释放锁,又想获得对方资源。死锁条件1、请求保持2、资源不可剥夺3、资源互斥访问4、循环等待实例public class DeadLock { public static void main(String[] args){ String resourceA = "resourceA"; Str原创 2021-07-23 11:27:31 · 1124 阅读 · 0 评论 -
java线程池实现和线程池七大参数详解
线程池Callable接口相比于runnable接口而言,callable可以抛出异常,并且返回返回值callable接口基本使用class Task implements Callable<String> { @Override public String call() throws Exception { System.out.println(Thread.currentThread().getName()); TimeUnit.S原创 2021-07-23 11:17:19 · 495 阅读 · 5 评论 -
堵塞队列BlockingQueue 使用与理解
堵塞队列BlockingQueue什么是堵塞队列堵塞队列本质就是队列,底层数据结构 通常是由数组,或者链表构成。实现FIFO思想当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列是满时,往队列里添加元素的操作将会被阻塞。注意:bolckingQueue是在多线程环境下提供的线程安全的队列与ArrayList区别1、ArrayList线程不安全,blockingQueue线程安全2、ArrayList可以扩容,blockingQueue队列不能为什么要使用堵塞队列1、我们不需原创 2021-07-21 17:19:18 · 1786 阅读 · 0 评论 -
线程产生的虚假唤醒问题 原因和解决
传统模式下的生产者消费者1、synchronized控制的class Data{ int number = 0; AtomicInteger atomicInteger = new AtomicInteger(0); public void increment(){ synchronized (this){ // 不等于0进行,等待消费者消费 while (number != 0){原创 2021-07-21 16:21:46 · 580 阅读 · 0 评论 -
java常见锁Reentrantlock,synchronized,SpinLock,ReadWriteLock
本文转载自https://blog.csdn.net/u011863024/article/details/114684428java公平锁和非公平锁(Reentrantlock)公平锁―是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后中请的线程比先中请的线程优先获取锁。在高并发的情况下,有可能会造成优先级反转或者饥饿现象并发包中ReentrantLock的创建可以指定构造函数的boolean类型来得到公平锁或原创 2021-07-20 11:31:46 · 258 阅读 · 0 评论