首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java基础
订阅
另一只
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
打通 Java 任督二脉 —— 并发数据结构的基石
Java 的线程阻塞和唤醒是通过 Unsafe 类的 park 和 unpark 方法做到的。 这两个方法都是 native 方法,它们本身是由 C 语言来实现的核心功能。park 的意思是停车,让当前运行的线程 Thread.currentThread() 休眠,unpark…
Java枚举类学习到进阶
枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,而不是默认继承Object类,因此枚举类不能显示继承其他父类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Compara…
Java并发面试系列文章总结【石杉的架构笔记】
并发系列第一篇,照例采用场景驱动的方式,阐述了volatile关键字的作用。 首先,在我们假设的多线程场景下,出现了什么问题?然后volatile是如何闪亮登场,优雅的解决了问题。 并且我们仔细分析了其解决问题背后蕴含的原理是什么。 一周过去了,大家还记得吗?忘了没关系,猛戳下…
Java核心(二)深入理解线程池ThreadPool
为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高级内容,读者可根据自己的情况自主选择阅读顺序和需要了解的章节。 本节会介绍7种线程池的创建与使用,线程池的状态介绍,ThreadPoolExecutor参数介绍等。 newSingleThrea…
Java核心(三)并发中的线程同步与锁
乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀...难理解?不存的!来,话不多说,带你飙车。 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题。 线程安全问题:指的是在多线程编程中,同时操作同一个可变的资源…
为什么阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建?
这些参数似懂非懂。今天就来捋一下,捋顺了,对线程池也就了解。 队列就分为两种,一种是有界队列,一种是无界队列。他俩最大的区别是: 无界队列可以一直往里面丢任务,而有界队列当发现到了队列大小极限以后就直接拒绝新任务的到来了。 这里面的坑就是 无界队列你无限往里面丢任务,如果任务执…
Java锁机制了解一下
其实都比较坑,如果能先系统讲了Synchronized锁机制,接着讲显式Lock锁机制,那就很容易理解了。也不需要跨那么多章节。 synchronized保证了线程的原子性。(被保护的代码块是一次被执行的,没有任何线程会同时访问) synchronized还保证了可见性。(当执…
Java核心(四)你不知道的数据集合
Java中的集合通常指的是Collection下的三个集合框架List、Set、Queue和Map集合,Map并不属于Collection的子集,而是和它平行的顶级接口。Collection下的子集的关系如文章开头图片所示。 本文的重点将会围绕: 集合的使用、性能、线程安全、差…
Java 反射由浅入深 | 进阶必备
本博文主要记录我学习 Java 反射(reflect)的一点心得,在了解反射之前,你应该先了解 Java 中的 Class 类,如果你不是很了解,可以先简单了解下。 若暂时不明白理论没关系,先往下看例子,之后再回来看相信你就能明白了。 为使得测试结果更加明显,我首先定义了一个 …
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)
反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能…