首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
angryfun
更多收藏集
微信扫码分享
微信
新浪微博
QQ
47篇文章 · 0订阅
JDK动态代理:不仅要学会用,更要掌握其原理
JDK动态代理是指:代理类实例在程序运行时,由JVM根据反射机制动态的生成。也就是说代理类不是用户自己定义的,而是由JVM生成的。 由于其原理是通过Java反射机制实现的,所以在学习前,要对反射机制有一定的了解。传送门:Java反射机制:跟着代码学反射 1. JDK动态代理的核…
JAVA对象布局--对象头(Object Header)
1.对象布局的总体结构2.获取一个对象布局实例1.首先在maven项目中引入查看对象布局的神器2.调用ClassLayout.parseInstance().toPrintable()运行后输出:对象
大吉大利 :空投十个JVM核心知识点,速度捡包
写出更好更健壮的代码。 提高Java的性能,排除问题。 面试必问,要对知识有一定对深度。从宏观上来说JVM 内存区域 分为三部分线程共享区域、线程私有区域、直接内存区域。1.1.1.堆区Heap是JVM中最大的一块内存区域,基本上所有的对象实例都是在堆上分配空间。堆区细分为年轻代...
Volatile关键字
1. 原子性 由于java内存模型来直接保证的原子性变量操作包括read、load、assign、user、store、和write这六个,我们可以认为基本数据类型的访问、读写都是具备原子性的(例外就是long和double的非原子性协定)如果需要更大范围的原子性保证,java…
你以为用了BigDecimal后,计算结果就一定精确了?
BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型。 很多人都知道,在进行金额表示、金额计算等场景,不能使用double、float等类型,而是要使用对精度支持的更好的BigDecimal。…
高性能缓存 Caffeine 原理及实战
一、简介Caffeine是基于Java8开发的、提供了近乎最佳命中率的高性能本地缓存组件,Spring5开始不再支持GuavaCache,改为使用Caffeine。下面是Caffeine官方测试报告。
Happens-Before规则
1. 前言 从 JDK 5开始,Java 使用新的 JSR-133 内存模型,使用 happens-before 的概念来阐述操作间的可见性。 2. 定义 如果一个操作happens-before另一个操作,那么意味着第一个操作的结果对第二个操作可见,而且第一个操作的执行顺序将…
JMM - 玩转 happens-before
随着 CPU 的快速发展它的计算速度和内存的读写速度差距越来越大,如果还是去读写内存的话那么 CPU 的处理速度就会收到内存读写速度的限制,为了弥补这种差距,为了保证 CPU 的快速处理就出现了高速缓存。 高速缓存特点是读写速度快,容量小,照价昂贵。 随着 CPU 的快速发展,…
Java 11 中的新特性
之前工作使用的 Java 环境是 JDK 1.8 ,新公司使用 Java 11 作为新的开发版本,很多 Java 11 的特性没有了解,因此这篇文章就来总结一下 Java 11 中哪些新功能值的一用。 Java 10 引入了一个新的语言关键字 var,它可以在声明局部变量时选择…
冷饭新炒:理解JDK中UUID的底层实现
UUID是Universally Unique IDentifier的缩写,翻译为通用唯一标识符或者全局唯一标识符。对于UUID的描述,下面摘录一下规范文件A Universally Unique IDentifier (UUID) URN Namespace中的一些描述: 下…