首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
Rowley
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
JNI: 连接Java世界的JavaVM和JNIEnv
在 不使用IDE做一次JNI开发 一文中,我们做了一次从 Java 层到 Native 层的开发。那么,我们能不能反过来,完成一次从 Native 层到 Java 层的开发呢?当然能,不过过程可没那么简单,而掌握 JavaVM 和 JNIEnv 这两个结构体就是关键,这两个结构…
java线程-Java内存模型
多线程编程Bug源头与Java内存模型,主要分析volatile,Synchronized,final,happens-before8项规则,cpu缓存一致性协议
小白也能看懂的锁升级过程和锁状态
锁的状态总共有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁,这四种锁状态分别代表什么,为什么会有锁升级?其实在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(syn...
Java双刃剑之Unsafe类详解
被称为魔法类的Unsafe,到底神奇在哪里?10张图带你了解这个在底层撑起JUC的魔法基石的Unsafe!
Unsafe 和 Atomic 详解
本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。 在JDK 5之后,Java类库中才开始使用CAS操作,该操作由sun.misc.
靠一个HashMap的讲解打动了头条面试官,我的秘诀是...
位运算操作是由处理器支持的底层操作,底层硬件只支持01这样的数字,因此位运算运行速度很快。尽管现代计算机处理器拥有了更长的指令流水线和更优的架构设计,使得加法和乘法运算几乎与位运算一样快,但是位运算消耗更少的资源。常用的位运算如下: 比如a%16最终的结果一定是0~15之间的数…
让ConcurrentHashMap成为你的面试加分点
因为上篇文章HashMap已经讲解的很详细了,因此此篇文章会简单介绍思路,再学习并发HashMap就简单很多了,上一篇文章中我们最终知道HashMap是线程不安全的,因此在老版本JDK中提供了HashTable来实现多线程级别的,改变之处重要有以下几点。 ConcurrentH…
听说你想看CAS原理
CAS又叫比较并交换,是一种无锁算法,日常开发中,基本不会直接用到CAS,都是通过一些JDK封装好的并发工具类来使用的。CAS包含三个值,内存地址,预期值,新值。
四千字从源码分析ConcurrentHashMap的底层原理(JDK1.8)
Map中用到最多的是HashMap,有关HashMap的介绍和底层源码的分析可以看我之前的文章。 HashMap有个很致命的问题就是他并非线程安全,因此在多线程环境下使用HashMap会出现问题,HashTable线程安全,但是它的效率太低了,ConcurrentHashMap…
《我们一起进大厂》系列-ConcurrentHashMap & Hashtable
上次面试呀,我发现面试官对我的几个回答还是不够满意,觉得还是有点疑问,我就挑几个回答一下。 我觉得就是一个经验值,定义16没有很特别的原因,只要是2次幂,其实用 8 和 32 都差不多。 用16只是因为作者认为16这个初始容量是能符合常用而已。 根据泊松分布,在负载因子默认为0…