blockingqueuedconnection 第2页
- 聊聊 Java 的几把 JVM 级锁 jvm锁实现原理
-
简介在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且价格也随之越来越便宜,cpu从单核到了多核,缓存性能也得到了很大提升,尤其是多核cpu技术的到来,计算机同一时刻可以处理多个任务。在硬件层面的发展带来的效率极大提升中,软件层面的多线程编程已经成为必然趋...
- 线上问题排查 线上问题排查怎么写
-
一、前言这篇文章是19年在上家公司解决线上问题后做的一个总结性的文章,当时发表在了自己搭建的通过github托管的个人网站上,现把当时的总结再在头条上分享给大家。另外吐槽一句,因为之前在个人网站上发表文章都是用的markdown语法,而头条不支持markdown语法还真难受。。。。最后会附上原文的截...
- 手把手教你定位常见Java性能问题 java定位功能
-
概述性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。预备知识既然是定位问题,...
- 多线程之Condition的简介及原理解析
-
上篇博文,我们重点介绍阻塞队列BlockingQueue,并实现了生产者和消费者模式。这篇博文,我们重点介绍Condition的相关内容,我们会通过两篇博文来介绍Condition。这篇是对Condition的简介,与Object类的等待通知模式简单对比,Condition接口具体实现,以及等待队列...
- JDK源码详解——Semaphore,BlockingQueue,ArrayBlockingQueue
-
SemaphoreSemaphore是并发包中的一个工具类,可理解为信号量。通常可以作为限流器使用,即限制访问某个资源的线程个数,比如用于限制连接池的连接数。...
- AQS(二)共享锁(基于JDK 8) aqs如何实现共享锁
-
文章目录1介绍2锁的获取acquireShared2.1doAcquireShared2.2setHeadAndPropagate2.3和独占锁的比较...
- 史上最全499道Java面试题:JVM+分布式+算法+锁+MQ+微服务+数据库
-
JAVA基础JAVA中的几种基本数据类型是什么,各自占用多少字节。String类能被继承吗,为什么。String,Stringbuffer,StringBuilder的区别。ArrayList和LinkedList有什么区别。讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函...
- 阻塞队列—ArrayBlockingQueue源码分析
-
前言ArrayBlockingQueue由数组支持的有界阻塞队列,队列基于数组实现,容量大小在创建ArrayBlockingQueue对象时已经定义好。此队列按照先进先出(FIFO)的原则对元素进行排序。支持公平锁和非公平锁,默认采用非公平锁。其数据结构如下图:...
- 从源码全面解析LinkedBlockingQueue的来龙去脉
-
一、引言并发编程在互联网技术使用如此广泛,几乎所有的后端技术面试官都要在并发编程的使用和原理方面对小伙伴们进行360°的刁难。作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚(...
- 线程池:业务代码最常用也最容易犯错的组件
-
程序中,我们会用各种池化技术来缓存创建昂贵的对象,比如线程池、连接池、内存池。一般是预先创建一些对象放入池中,使用的时候直接取出使用,用完归还以便复用,还会通过一定的策略调整池中缓存对象的数量,实现池的动态伸缩。...