Java虚拟机是如何加载Java类的?
从 class 文件到内存中的类,按先后顺序需要经过加载、链接以及初始化三大步骤。其中,链接过程中同样需要验证;而内存中的类没有经过初始化,同样不能使用。Java 语言的类型分为两大类——基本类型(primitive types)和引用类型(reference types),其中引用类型分为4种:类 ...
Java代码是怎么运行的?
写在前面Java代码有很多种不同的运行方式,比如在开发工具中运行、双击jar文件运行、在命令行中运行、在网页中运行等,不过这些执行方式都离不开JRE,即Java运行时环境(Java Runtime Environment)。实际上,JRE仅包含Java程序的必需组件,包括Java虚拟机以及Java核 ...
深入拆解Java虚拟机
极客时间《深入拆解Java虚拟机》 | 郑雨迪 | Oracle高级研究员好记性不如烂笔头,做下笔记顺便加强一下记忆,之前了解虚拟机笔记零散,准备借此机会梳理一下。为什么我们要学习Java虚拟机?“知其然”也要“知其所以然”,学习Java虚拟机的本质,更多是了解Java程序是如何被执行且优化的。这样 ...
volatile关键字
本文最初来源,在此基础上做了部分修改、调整。liuxiaopengJava 并发编程:volatile的使用及其原理volatile作用在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对S ...