首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
时间和空间
更多收藏集
微信扫码分享
微信
新浪微博
QQ
21篇文章 · 0订阅
泛型擦除到底发生在哪个阶段?
最近在查阅泛型擦除文档时,发现有些文章中介绍泛型擦除发生在类加载的连接验证阶段,对此持怀疑态度并进行了本地验证,最终验证结果是:泛型擦除是发生在
使用 `AtomicBoolean` 和 `AtomicReference` 的正确姿势:避免并发陷阱
在多线程编程中,确保线程安全是一个关键问题。AtomicBoolean 和 AtomicReference 是 Java 提供的原子变量类,用于在多线程环境中安全地操作布尔值和引用类型。
实现JVM级别共享静态变量
在 Android 中如热修复,Dex 动态加载,不同类加载器隔离三方库等,都存在跨ClassLoader通信,JvmWideVariable 为我提供了新的解决方式。
Java8 Optional:空指针异常NPE的克星
一、什么是空指针异常? 空指针(Null Pointer Exception,NPE)是Java中最常见不过的异常了。其原因虽然显而易见,但是开发人员往往会忽略,或未能及时采取措施,常会导致程序崩溃或
一文看懂快手KOOM高性能监控方案
1.KOOM简介 2.KOOM基础使用流程 3.KOOM的dump触发时机 4.KOOM高性能的fork dump 5.线上采集性能对比 1.KOOM简介 2020年快手开源KOOM (OOM Kil
万字探索线程池:优化并发任务的利器
线程池的创建的方法:为什么大公司都不推荐Executors创建线程池 线程池的原理:ThreadPoolExecutor的实现 线程池线程数设置多少合理,如何动态设置线程池参数 线程池参数如何传递
深入理解Java虚拟机(自动内存管理机制)
书籍真的是常读常新,古人说「书读百遍其义自见」还是蛮有道理的。周志明老师的这本《深入理解 Java 虚拟机》我细读了不下三遍,每一次阅读都有新的收获,每一次阅读对 Java 虚拟机的理解就更进一步。因而萌生了将读书笔记整理成文的想法,一是想检验下自己的学习成果,对学习内容进行一…
深入理解Java虚拟机(类文件结构)
之前在阅读 ASM 文档时,对于已编译类的结构、方法描述符、访问标志、ACC_PUBLIC、ACC_PRIVATE、各种字节码指令等等许多概念听起来都是云山雾罩、一知半解,原因就在于对类文件结构和类加载机制不够了解。直到后来细读了《深入理解 Java 虚拟机》中虚拟机执行子系统…
深入理解Java虚拟机(类加载机制)
上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的。 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Jav…
深入理解Java虚拟机(程序编译与代码优化)
对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化。本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优化手段。 一. 早期优化(编译期优化) Java 语言的「编译期」其实是一段「…