首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA基础
订阅
kevinfen9
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
重走JAVA之路(七):你要的JAVA内存结构
程序计数器属于内存中比较小的一块空间,属于线程私有的,其作用可以大概理解为记录当前线程所执行的字节码位置,或者通俗来说可以理解为代码执行到第几行了,为什么需要这么一小块空间做这种事情呢,因为JVM的多线程操作实际上并不是真正意义上的并行,是通过线程轮流切换并分配CPU执行时间片…
【金三银四】JVM虚拟机栈执行原理深入详解🔥
你好,早上、中午、下午、晚上好。我是Java2B哥(微信搜Java2B)。一名无缘985,日常996工程师。 2B哥今天继续教大家JVM知识。这次章节为: 这不废话嘛。 JVM可以说离我们既熟悉又陌生,很多朋友可能在工作中接触不到这块技术,但是在面试往往被问到(概率还蛮大),被…
还搞不懂 Java NIO?快来读读这篇文章!
首先,我们需要弄清楚几个概念:同步和异步,阻塞和非阻塞。 1. 同步 比如你必须亲自去银行取钱。 2. 异步 比如你把银行卡给我,让我帮你去银行取钱,你需要告诉我银行卡密码和取多少钱,我取完了之后把钱给你。 3. 总结 自己干就是同步,别人干就是异步。 1. 阻塞 2. 非阻塞…
Synchronized解析——如果你愿意一层一层剥开我的心
synchronized,是解决并发情况下数据同步访问问题的一把利刃。那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟。 接下来,我们先剥开synchronized的第一层,反编译其作用的代码块以及方法。 由图可得,添加了s…
Android Okhttp 断点续传面试解析
我们在刷一下面试题的时候,有时候会看到一些大厂会问关于断点续传的原理,那么今天在这里从 HTTP 断点续传知识和 Android 中如何实现断点续传的思路来做一个关于 Android 断点续传原理的总结。 指的是在上传/下载时,将任务(一个文件或压缩包)人为的划分为几个部分,每…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
一文学会 Java 动态代理机制
之前的文章里讲解过了Java的反射机制、垃圾回收机制,这一次我们来讲解一个更有意思的机制:动态代理。学习下Java里为什么出现这样一个机制,什么场合下会使用这个机制。 前两者就是普通的接口和实现类,而第三个就是所谓的代理类。对于使用者而言,他会让代理类去完成某件任务,并不关心这…
SparseArray详解及源码简析
SparseArray 是 Android 在 Android SdK 为我们提供的一个基础的数据结构,其功能类似于 HashMap。与 HashMap 不同的是它的 Key 只能是 int 值,不能是其他的类型。 1. demo 及其简析 首先也还是先通过 demo 来看一看…
彻底弄懂 Java 线程池原理
这篇文章是我在阅读源码时整理的一些笔记,对源码的关键点进行了比较详细的注释,然后加上一些自己对线程池机制的理解。最终目的是要弄清楚下面这些问题: AtomicInteger 类型。高3位存储线程池状态,低29位存储当前线程数量。workerCountOf(c) 返回当前线程数量…
HashMap 查漏补缺
HashMap 是面试的钉子户了,网上分析的文章也有很多,相信大家对于原理已经烂俗于心了。但最近在看源码时,发现其中一些实现细节其实不太好理解,所以决定以问答的形式在这里记录一下,写的时候尽量把原因说明白。 容量并不是指 HashMap 所能存储的键值对数量,而是其内部的 ta…