首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
金属史莱姆
掘友等级
趣多多点豆者
|
学生
获得徽章 14
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 5
沸点 6
赞
11
返回
|
搜索文章
最新
热门
面试官:“我就是要问你 ThreadLocal ”
ThreadLocal 提供了线程隔离的变量,它一般以 private static 的形式出现,可以视作类中的全局变量,只不过每个线程拥有自己的变量数据。 至于它和锁有什么不一样,我觉得这个问题就不太好,因为它们根本就不是一类东西。对于数据使用方面来说,锁主要解决的是并发环境…
String 到底创建了多少个对象
如果你和我一样经常会关注面试题的话,会知道这其实是一个没有什么实际意义的面试题(虽然经常会有人问起,但在实际面试中好像已经没人会问这个了),甚至早在9年前,R大就已经写了一篇吐槽这个问题的长文来说明问题。尽管如此,但对于这道题来说,还是有不少坑的。 回到这道题来,当时群里也给了…
超详细!AQS(AbstractQueuedSynchronizer)源码解析
Doug Lea 在 java.util.concurrent(JUC)中提供一套基础工具用于帮助开发者更加方便的开发并发程序,包括 Lock、Semaphore、CountDownLatch、CyclicBarrier等等,而实现这些类的实现都借助了一个能够控制多个线程的并发…
通俗易懂 JVM 中的 GC 实现
在上篇文章中介绍了Java GC:基础原理,这篇文章来看下在 JVM 中是如何实现具体的收集器的。 下面我们从原理上去理解每个收集器是如何工作的,但并不会去细究具体的实现。 Serial GC 使用 mark-copy 算法处理新生代,使用 mark-sweep-compact…
Java GC:基础原理
最直接,最容易想到的标记方法是引用计数法,顾明思议,记录每个对象被引用的个数,如果为0,则为死亡对象。该方法实现简单,判断效率高,但很难解决对象之间相互循环引用的问题。 以 GC Roots 作为起始点,沿着引用路径不断搜索,同时标记搜索到的对象为存活。 注意,在标记阶段,需要…
通过假设了解为什么 wait/notify 定义在 Object 类中
这是一个老生常谈的面试题了,wait 和 notify 配合监视器提供了多个同步线程之间通信机制,答案本身也很简单,由于通信本身解决的就是锁的归属问题(发现当前应该把锁给别人时调用 wait, 通知别人可以来用锁了调用 notify),从功能上讲,放在 Object 类(锁对象…
Java 8 类型注解 Type Annotations
Lambda 表达式是迄今为止 Java 8 讨论和推广最多的特性。我同意 Lambda 是一个很大的改进,但是我认为其他一些 Java 8 特性由于 Lambda 而显得有点暗淡。在这篇文章中,我想展示另一个很好的 Java 8 特性的一些例子:类型注解 类型注解是一种可以放…
个人成就
文章被点赞
30
文章被阅读
13,565
掘力值
289
关注了
0
关注者
12
收藏集
1
关注标签
3
加入于
2019-06-08