类初始化 在讲类的初始化之前,我们先来大概了解一下类的声明周期。 类的声明周期可以分为7个阶段,但今天我们只讲初始化阶段。 我们我觉得出来使用和卸载阶段外,初始化阶段是最贴近我们平时学的,也是笔试做题过程中最容易遇到的,假如你想了解每一个阶段的话,可以看看深入理解Java虚拟机这本书。 下面开始讲解 ...
分类:
其他好文 时间:
2020-05-14 13:10:43
阅读次数:
57
深入理解Java虚拟机:JVM高级特性与最佳实践Java程序员需要掌握的JVM的知识点有哪些呢?Java程序员需要掌握的JVM的知识点今天分享的这份文档将带着你从这几个问题点出发Java程序是如何运行的?Java虛拟机在其中扮演了怎样的角色?如何让Java程序具有更高的并发性?许多Java程序员都会有诸如此类的疑问。无奈,国内在很长一段时间里都没有一本从实际应用的角度讲解Java虚拟机的著作,本书
分类:
其他好文 时间:
2020-05-12 09:53:16
阅读次数:
51
本文主要通过9000余字对比了《深入理解Java虚拟机》第2版和第3版的内容,给大家做作为一个参考,是否值得够买,凭诸君自己判断。另外附送关于本书的我发现的五个小彩蛋。 ...
分类:
编程语言 时间:
2020-05-11 13:42:12
阅读次数:
64
网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。本文,就来整体的介绍一下Java内存模型,目的很简单,让你读完本文以后,就知道到底Java内存模型是什么,为什么要 ...
分类:
编程语言 时间:
2020-04-25 17:21:34
阅读次数:
65
Java是目前用户最多、使用范围最广的软件开发技术之一。Java 的技术体系主要由支撑 Java程序运行的虚拟机、提供各开发领域接口支持的Java API、Java 编程语言及许多第三方 Java框架(如Spring、Struts 等)构成。在国内,有关Java API、Java语言语法及第三方框 ...
分类:
编程语言 时间:
2020-04-14 18:45:35
阅读次数:
73
一.class类文件的结构 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。 根据Java虚拟机规范的规定,Class文件格式采用一种类 ...
分类:
编程语言 时间:
2020-04-09 00:48:13
阅读次数:
70
14. 线程安全与锁优化 1. 什么是线程安全? 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替进行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的 2. Java语言中的线程安全 我们将J ...
分类:
编程语言 时间:
2020-04-06 12:06:59
阅读次数:
118
我们都知道java虚拟机所管理的内存区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器。 在《深入理解java虚拟机》中,周志明老师对虚拟机栈进行了讲解,但是对本地方法栈却一笔带过。今天我们就来对本地方法栈做下深入...... 首先我们先回顾一下虚拟机栈。 1.虚拟机栈 1.1虚拟机栈的特点 虚拟 ...
分类:
其他好文 时间:
2020-04-03 00:22:10
阅读次数:
84
JDK的命令行工具(jps:虚拟机进程状况工具,jstat:虚拟机统计信息监视工具,jinfo:Java配置信息工具,jmap:Java内存映像工具,jhat:虚拟机堆转储快照分析工具,jstack:Java堆栈跟踪工具);可视化工具(JConsole,VisualVM) 一. JDK的命令行工具 ...
分类:
编程语言 时间:
2020-03-31 01:16:50
阅读次数:
99
参考: 《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) - 周志明》 1.要编译的JDK源码 方法一:可以通过 一款叫 Mercurial (OpenJDK 的代码版本管理工具,类似于Git)代码版本管理工具从Respository中获取源码 安装后,执行 hg clone https ...
分类:
其他好文 时间:
2020-03-28 17:43:07
阅读次数:
114