为什么ConcurrentHashMap是线程安全的 JDK1.7中,ConcurrentHashMap使用的锁分段技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。 那说说JDK1.7中 ...
线程池的使用场景有哪些 线程池适合单系统的大量的异步任务处理,比如发送短信 保存日志。 说说创建线程池的重要参数 corePoolSize:线程池的大小。线程池创建之后不会立即去创建线程,而是等待线程的到来。当前执行的线程数大于该值时,线程会加入到缓冲队列。 maximumPoolSize:线程池中创建的最大线程数。 keepAliveTime:空闲的线程多久时间后被销毁。默认情况下,该值在线程 ...
2019-10-12 16:04 0 923 推荐指数:
为什么ConcurrentHashMap是线程安全的 JDK1.7中,ConcurrentHashMap使用的锁分段技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。 那说说JDK1.7中 ...
synchronized怎么用的? 用过,synchronized是常用的并发控制关键字,简单的说就是访问加锁。它可以修饰静态方法或者一个类的class对象,这叫类锁;可以修饰普通方法或者代码块,这叫对象锁。 synchronized是可重入锁吗? 从互斥锁的设计上来说,当一个线程 ...
Java 面试连环炮系列(三):synchronized怎么用的 面试连环炮系列(七):HashMap的put操作做了什么 面试连环炮系列(八):服务器CPU飙升100%怎么排查 面试连环炮系列(九):为什么ConcurrentHashMap是线程安全的 面试连环炮系列(十 ...
你们的项目怎么使用kafka? 我们采用kafka进行日志采集,准确点说是ELK方案,即elasticsearch + logstash + kibana + kafka。通过Spring AOP的方式收集日志,通过kafaka发送出去。 kafa存在丢消息的情况吗,怎么解决 ...
你们的项目为什么要用RabbitMQ? 消息队列的作用是系统解耦、同步改异步、请求消峰,举个下订单的例子: 前端获取用户订单信息,请求后端的订单创建接口。这个接口并不直接请求订单服务,而是首先 ...
1. 什么情况下JVM频繁发生full GC? full gc触发条件是老年代空间不足,具体原因有四个: 系统并发高、执行耗时长或者创建对象过多,导致 young gc频繁,且gc后存活对象太 ...
线程池的各种使用场景 https://blog.csdn.net/qq_17045385/article/details/79820847 https://www.jianshu.com/p/71b5e40f94e0 线程池的使用场景有哪些线程池适合单系统的大量 ...
一个线程调用两次start会怎么样 Java的线程是不允许启动两次的,第二次调用必然会抛出IllegalThreadStateException,这是一种运行时异常。 谈谈线程的生命周期和状态转移 新建(NEW),表示线程被创建出来还没真正启动的状态,可以认为它是 ...