![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
smile radiantly
Smile to life can influence the damp mood, erase unhappy colors。
展开
-
JVM学习-05:JVM之本地方法(Native Method)与本地方法栈(Native Method Stack)
一.本地方法1.什么是Native Method一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法,该方法的实现由非Java语言实现。"A native method is a Java method whose implementation is provided by non-java code."在定义一个native method时,并不提供实现体(有些像定义一个Java Interface) ,因为其实现体是由非ja原创 2020-07-12 12:13:42 · 474 阅读 · 0 评论 -
JVM学习-04:JVM之虚拟机栈详解
一.虚拟机栈概念1.概念由于跨平台性的设计, Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。栈是运行时的单位,而堆是存储的单位。即: 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪儿。Java虚拟机栈是什么?Java虚拟机栈(Java virtual Machine stack) ,早期也叫Java栈。每个线程在创建原创 2020-07-12 00:39:08 · 3934 阅读 · 4 评论 -
JVM学习-03:JVM之运行时数据区、PC寄存器
一.运行时数据区内部结构JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。每个线程独立拥有:程序计数器、虚拟机栈、本地方法栈(线程);线程间共享:堆、堆外内存(永久代或元空间、代码缓存),永久代或方法区就是方法区的实现,与虚拟机的生命周期一致(进程)。阿里开发手册:每个JVM只有一个Runtime实例。即为运行时环境,相当于运行时数据区。二.程序计数器1.概念JVM中程序计数寄存器(原创 2020-07-12 00:38:18 · 187 阅读 · 0 评论 -
JVM学习-02:JVM之类加载过程,类加载器及双亲委派机制
一.概述类加载器子系统负责从文件系统或网络中加载Class文件,class文件在文件开头有特定的文件标识。字节码文件会经过类加载阶段、链接阶段、初始化阶段后被执行引擎所执行。ClassLoader只负责字节码文件的加载,至于是否可以运行由执行引擎决定。加载的类信息存放在方法区(JRockit和J9虚拟机没有方法区的概念)的内存空间。运行时常量池信息也会存放到方法区中,可能还包括字符串字面量和数字常量。字节码文件存在于本地硬盘上,被加载到JVM中,被称为DNA元数据模板,放在方法区。该过程中类加载器扮原创 2020-07-04 18:09:19 · 237 阅读 · 0 评论 -
JVM学习-01:JVM概述及发展历程
虚拟机与Java虚拟机介绍虚拟机虚拟机(Virtual Machine)顾名思义就是虚拟的计算机。是一款软件,用来执行一系列虚拟计算机指令。虚拟机一般分为 系统虚拟机 和 程序虚拟机。Visual Box,VMware就属于系统虚拟机,是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台Java虚拟机就是典型的程序虚拟机,专门为执行单个计算机程序设计,在Java虚拟机中执行的指令称为Java字节码指令Java虚拟机Java虚拟机是一台执行Java字节码的虚拟计算机,JVM平台的各种语原创 2020-07-04 18:08:29 · 207 阅读 · 0 评论