首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java专栏
yuanhao
创建于2022-04-14
订阅专栏
Java并发编程、JVM等知识。
等 48 人订阅
共28篇文章
创建于2022-04-14
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
超级详细的Java垃圾回收机制解析(下)
利用对象声明周期的不同来划分堆空间,不同堆采用不同算法,Minor GC采用标记-复制算法,老年代的Full GC采用标记-压缩算法。
Java字节码文件结构解析
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天,点击查看活动详情 前言 前面我们大致说了JVM是如何让我们写的Java程序生效的,比如加载、链接和初始化,但是很多细节没有提及
Android Dex文件详解
前言 相信大家都熟悉dex文件,把一个apk给解压缩,就会得到一堆dex文件,但是这些dex文件是怎么来的,又有什么用,为什么这样设计,有进行思考过吗 俗话说知其然,知其所以然,本篇文章开始探究一下这
Java字节码操作数栈解析
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情 前言 前面文章我们说了Java字节码的结构,其中最重要的就是常量池和方法表内容,其中方法表内容涉及了各种JV
字节码文件指令集解析
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情 前言 上一篇文章我们简单介绍了一些指令集,比如dup和pop,以及一些加载常量值到操作数栈中的指令,本篇文章
JVM是如何处理异常的
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情 本系列专栏:JVM专栏 前言 说起异常,作为Java语言的程序员再熟悉不过了,各种意想不到的Excepti
Java代码是怎么运行的?
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情 前言 最近由于工作任务比较繁忙,自己的学习计划也搁置了很多,借着这次掘金的活动还是要整理一些基础知识或者阅读
JVM中Java类的链接和初始化
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情 前言 前面文章我们说了Java类要能被JVM使用要经过3个步骤:加载、链接和初始化,其中加载我们上一篇文章介
JVM中的基本数据类型
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情 前言 我们都知道Java存在基本数据类型和引用数据类型,这里就会有个疑问 既然是面向对象,为什么不直接都设计
重新认识重载和重写
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情 前言 前面文章我们解析了Java字节码文件,其中介绍了各种常见的指令,其中说到调用方法时方法调用指令时,我们
JVM方法调用的静态绑定和动态绑定
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情 前言 上一篇文章,我们说了Java语言和JVM对于重载和重写是不一样的,并且Java编译器通过生成桥接方法来
JVM是如何实现反射的
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情 本系列专栏:JVM专栏 前言 本篇文章来说一下Java的重要特性:反射,反射相信大家都很熟悉了,它的基本概
Java类的加载和加载器
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情 前言 我们知道Java语言的类型可以分为2大类:基本类型和引用类型,而在上一篇文章中,我们已经介绍了Java
JVM中的虚方法调用解析
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天,点击查看活动详情 前言 上一篇文章留了个坑,也就是动态绑定时,比如invokevirtual和invokeinterface
超级详细的Java垃圾回收机制解析(上)
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情 本系列专栏:JVM专栏 前言 前面文章说到JVM的一大好处就是它相当于一个托管平台,来处理一些比较复杂的逻
Java并发编程 | Lock和Condition(2)
本篇还是以实现阻塞队列为例介绍一下Lock和Condition实现的管程和synchronized实现的区别,就是可以有多个条件变量,同时说了Dubbo中异步转同步,也是利用管程模型来实现。
Java并发编程 | Lock和Condition(1)
Lock的API让线程支持响应中断、超时和非阻塞获取锁,而不像synchronized实现的管程只会一味着等待。同时Lock内部使用volatile关键字来实现可见性。
Java并发编程 | 局部变量为什么是线程安全的
线程执行其实就是方法栈不断的入栈和出栈,而方法栈的元素就是栈帧,栈帧中会包含参数、局部变量、返回值等,所以局部变量不会在线程之间共享,所以是安全的。
Java并发编程 | 遇到死锁不要慌,看一下死锁本质
死锁不要怕,理解产生的4个条件:互斥、占有且等待、不可抢占、循环等待,对应3个方法:一次性申请资源、主动释放资源、按序申请资源避免闭环
Java并发编程 | 并发编程的万能钥匙:管程
管程解决互斥是通过把共享变量以及对其操作的方法给封装起来,对外只提供线程安全的方法;解决同步是通过条件变量以及条件变量的等待队列来实现。
下一页