首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
Java工程师的修炼之道
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
java 并发编程之 ConcurrentHashMap
ConcurrentHashMap 是线程安全并且高效的 HashMap,在并发编程中经常可见它的使用,在开始分析它的高并发实现机制前,先讲讲废话,看看它是如何被引入 jdk 的。
ThreadLocal用法及原理
Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。 如上面说到的,ThreadLocal是用于线程间的数据隔离,ThreadLocal为每个线程都提供了变量的副本。 举例1:联想一下服务器(例如tomcat)处理请求的时候,会从线程池…
深入分析synchronized原理和锁膨胀过程(二)
上一篇文章介绍了多线程的概念及synchronized的使用方法《synchronized的使用(一)》,但是仅仅会用还是不够的,只有了解其底层实现才能在开发过程中运筹帷幄,所以本篇探讨synchronized的实现原理及锁升级(膨胀)的过程。 synchronized是依赖于…
深入理解JAVA线程池
多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。 为了避免重复的创建线…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
[肥朝]从线程池理论聊聊为什么要看源码
很多时候,我都想向大家传输一个思想,那就是只有懂了原理,才能随心随心所欲写代码.而看源码,又是了解原理的一个非常重要的途径. 第三点,我认为尤其重要.我们看源码的目的是为了解决问题,我觉得只谈付出,不谈回报都是耍流氓.如果只告诉大家要懂原理,看源码,接着贴几大段源码,然后给大片…
Java中Thread 和Runnable 深入理解
Thread类是接口Runnable的一个实现类。 native表明这个方法是个原生函数,即这个函数是用C/C++实现的,被编译成DLL,由Java调用。 native 方法是在注册是在Thread对象初始化完成的,如图,静态块static里有个registerNatives方…
notify,notifyAll区别(生产者消费者案例)
代码就不粘了。 锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,但是该对象的锁目前正被…
并发编程之Wait和Notify
我们把组成程序(Program)各个部分称为线程(Thread)。也可以说,线程就是程序中轻量级的进程(Process)。 多线程(Multithreading)是Java的一个特性,它可以允许一个程序的多个部分(也就是线程)并发地执行,以达到最大程度利用CPU的目的。 我们把…
深入理解ReentrantLock的实现原理
ReentrantLock是Java在JDK1.5引入的显式锁,在实现原理和功能上都和内置锁(synchronized)上都有区别,在文章最后我们再比较这两个锁。 首先我们要知道ReentrantLock是基于AQS实现的,所以我们得对AQS有所了解才能更好的去学习掌握Reen…