Never Give Up
JVM 常用工具 JVM 常用工具
1、基础故障处理工具Java开发人员肯定都知道JDK的bin目录中有java.exe、javac.exe这两个命令行工具,但并非所有程序员都了解过JDK的bin目录下其他各种小工具的作用。随着JDK版本的更迭,这些小工具的数量和功能也在不知
2022-06-17
HotSpot的算法细节实现 HotSpot的算法细节实现
一、根节点枚举我们以可达性分析算法中从GC Roots集合找引用链这个操作作为介绍虚拟机高效实现的第一个例子。固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,尽管目标明确,
2022-06-06
JVM与Java体系结构 JVM与Java体系结构
一、前言 大部分Java开发人员,除会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。 一、程序员如何看待上层框架一些有一定工作经验的开发人员,打心眼里觉得SSM、微服务等上层技术才是重
2022-06-06
Java 常量池 Java 常量池
概述java 包括三种常量池,分别是 字符串常量池、Class 常量池(也叫常量池表)和运行时常量池。 字符串常量池(String Pool)String Pool 是 JVM 实例全局共享的,而 Runtime Constant Pool
2022-06-05
对象探秘 对象探秘
一、对象的创建Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数
2022-06-05
破坏双亲委派模型 破坏双亲委派模型
双亲委派模型并不是一个具有强制性约束的模型,而是Java设计者推荐给开发者们的类加载器实现方式。在 Java的世界中大部分的类加载器都遵循这个模型,但也有例外的情况,直到Java模块化出现为止,双亲委派模型主要出现过3次较大规模“被破坏”的
2022-05-16
JVM 执行引擎 JVM 执行引擎
一、执行引擎概述一、执行引擎概述执行引擎是Java虚拟机核心的组成部分之一。 “虚拟机”是相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理机、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是
2022-05-16
从内存结构的角度带你看 String Table 从内存结构的角度带你看 String Table
一、String的基本特征一、String的基本特征 String:字符串,使用一对 “ “ 引起来表示。 String 声明为 final 的,不可被继承。 String 实现了 Serializable:表示字符串是支持序列化的;实现了
2022-05-16
你了解 JVM 的虚拟机栈吗 你了解 JVM 的虚拟机栈吗
一、虚拟机栈概述一、虚拟机栈出现的背景由于跨平台性的设计,Java 的指令都是根据栈来设计的,不同平台 CPU 架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器实现容易,缺点是性能下降,实现同样的功能需要更多的指令。
2022-05-16
你知道一个类是如何加载的吗 你知道一个类是如何加载的吗
一、类加载器与类的加载过程一、类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识。 CLassLoader只负责class文件的加载,至于他是否可以运行,则由Execut
2022-05-16
1 / 2