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