
JVM基础及调优
java虚拟机相关理论模型知识及参数调优。
KevinBrain
热爱编程!热爱生活!代码改变世界!一枚喜欢研究各种代码技术,对计算机技术充满好奇心的技术宅。
展开
-
JVM基础四| 深入理解JVM执行子系统
引言 Java语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的储存格式。Java虚拟机提供的语言无关性是指虚拟机不关心Class的来源是何种语言,只要能生成Class文件就够了。可以使用Binary Viewer等软件读取二进制文件。 Java语言中的各种变量、关键字和运算符号的语义最终都是由多条字节码命令组合而成的,因此字节码命令所能提供的语义描述能力肯定会比Java语言本身更加强大。因此,有一些Java语言本身无法有效支持的语言特性不代表字节码本身无法有效支持,这也为其他语言实原创 2020-06-13 14:08:14 · 314 阅读 · 0 评论 -
JVM基础三| 深入理解垃圾回收及算法
引言 在堆里面存放着Java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。 如何判定对象为垃圾对象? 一、引用计数算法 判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。老师面试过很多的应届生和一些有多年工作经验的开发人员,他们对于这个问题给予的都是这个答案。 客观原创 2020-06-11 15:19:41 · 376 阅读 · 2 评论 -
JVM基础二| 深入理解JVM内存对象
引言 Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出 来。在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个new关键字而已,而 在虚拟机中,对象(课中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建 又是怎样一个过程呢? 对象的创建 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一 个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。对象创建的总体流程如下图所示: 对象创建的总体流原创 2020-06-09 16:47:04 · 266 阅读 · 0 评论 -
JVM基础一| java se体系结构及jvm概述
Java SE体系架构 java se体系结构图 JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 J.原创 2020-06-08 15:29:28 · 517 阅读 · 0 评论