首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
jvm
订阅
budingdog
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
Java的6种线程状态以及线程状态的转换
详细介绍了Java线程的6中状态,以及状态之间的转换。关于Java线程的状态,网上说法很多,有五种、六种甚至七种。
漫谈Java线程状态
Java语言定义了 6 种线程状态,在任意一个时间点中,一个线程只能只且只有其中的一种状态,并且可以通过特定的方法在不同状态之间进行转换。 今天,我们就详细聊聊这几种状态,以及在什么情况下会发生转换。 要想知道Java线程都有哪些状态,我们可以直接来看 Thread,它有一个枚…
Java对象在内存的结构
对象在内存中存储的结构由三部分组成:对象头、实例数据、对齐填充。 MarkWord(标记字段):哈希码、分代年龄、锁标志位、偏向线程ID、偏向时间戳等信息。Mark Word被设计成了一个非固定的数据结构以便在极小的空间内存储尽量多的信息,它会根据对象的状态复用自己的存储空间。…
JVM垃圾回收算法和垃圾回收器
JVM 垃圾回收算法和垃圾回收器。 一、垃圾回收的区域 栈:栈中的生命周期是跟随线程,所以一般不需要关注。 堆:堆中的对象是垃圾回收的重点。 方法区:这一块也会发生垃圾回收,不过这块的效率比较低,一般
JVM类加载过程
(1) 数组类没有对应的字节流,它是由JVM根据元素类型和维度,创建的。 (2) 除了数组类,其他类都是JVM借助BootStrap ClassLoader、ClassLoader、ExtClassLoader、AppClassloader等类加载器来查找字节流并创建的。 (3…
结合代码和内存变化图一步步弄懂JVM的FullGC
一步步结合代码去验证jvm的内存变化,并画出内存变化的示意图,从而探索出jvm fullGC的原因。
深入理解Java内存模型(二)——重排序
如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 上面三种情况,只要重排序两个操作的执行顺序,程序的执行结果将会被改变。 前面提到过,编译器和处理器可能会对操作做重排序。编译器和处理器在重排序时,会遵守数据依…
关于java内存访问重排序的思考
且看一段测试代码, 在不借助外界工具的条件下得出你自己的答案。 你的结果ans可能是[{0=>1}, {1=>1}, {1=>0}], 因为线程调度是随机的, 有可能一个线程执行了, 另外一个线程才获得cpu的执行权, 又或者是两个线程交叠执行, 这种情况下ans的答案无疑是上…