为了保证数据的一致性即实现线程的安全性,java虚拟机提供了同步和锁机制。synchronized关键字是最基本的互斥同步手段。除此之外,还可以使用java.util.concurrent包中的重入锁(ReentrantLock)来实现同步。相比synchronized,ReentrantLock增 ...
分类:
编程语言 时间:
2019-11-02 16:01:55
阅读次数:
56
1、什么是JUC包 在 Java 5.0 提供了 java.util.concurrent(简称 JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。 2、sleep( ) 和 wait( n)、wait( ) 的区 ...
分类:
编程语言 时间:
2019-11-01 13:19:03
阅读次数:
92
转自:http://www.kailing.pub/article/index/arcid/255.html 前言 谈到java的线程池最熟悉的莫过于ExecutorService接口了,jdk1.5新增的java.util.concurrent包下的这个api,大大的简化了多线程代码的开发。而不论 ...
分类:
其他好文 时间:
2019-10-29 23:26:42
阅读次数:
129
并行和并发 并行(Parallel) :指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发(Concurrent) :指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行。而垃圾收集程序运行在另一个CPU上。 吞吐量(Throughput) 吞吐量 ...
分类:
其他好文 时间:
2019-10-29 09:26:36
阅读次数:
77
如果越多的资源被消耗在锁的管理和调度上,那么应用程序得到的资源就越少。 锁的实现方式越好,将需要越少的系统调用和上下文切换,并且在共享内存总线上的内存同步通讯量越少。 线程引入的开销 非公平锁性能高于公平锁 减少锁竞争 ReentrantLock(显式锁) Concurrent性能和可伸缩性优于sy ...
分类:
编程语言 时间:
2019-10-26 21:22:24
阅读次数:
89
第一级别:精读源码 该级别包含的包如下: 第二级别:深刻理解 该级别包含的包如下: 看源码能解决你90%的问题。reflect代表了反射,net代表了网络IO,nio代表了非阻塞io,concurrent代表了并发。 这四个家伙可以说每一个都够面试官问上半天的,而且,这四个包的内容,如果你要深刻理解 ...
分类:
编程语言 时间:
2019-10-26 01:01:36
阅读次数:
120
1.QueueHelper using System.Collections.Concurrent;using System.Runtime.CompilerServices;namespace WindowsFormsServer.Helper{ public static class Queue ...
spark streamming 程序提交到yarn 上运行 报错 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/mnt/disk3/hadoop/yarn/local/f ...
分类:
编程语言 时间:
2019-10-24 15:51:42
阅读次数:
134
zgc是一款可拓展的低时延,为实现以下几个目标而诞生的垃圾回收器: 停顿时间不超过10ms 停顿时间不会导致堆大小增长 堆大小范围可支持几G到几T 再看一下zgc的标签: region-based (和G1一样) NUMA-aware Concurrent Compacting Using load ...
分类:
其他好文 时间:
2019-10-20 18:03:39
阅读次数:
411
一.基础(你没看错这真的是基础) 1.String、StringBuilder 和 StringBuffer 的区别? 2.volatile 的理解? 3.简述synchronized 和 java.util.concurrent.locks.Lock的异同? 4.什么场景下使用HashMap、Li ...
分类:
其他好文 时间:
2019-10-19 19:03:12
阅读次数:
100