JVM 体系结构介绍】的更多相关文章

JVM是Java的一大利器.它可以屏蔽各个计算机平台相关软件和硬件之间的差异.把平台相关的耦合统一工作交由JVM的实现者. JVM(Java 虚拟机),它通过模拟一个计算机来达到一个计算机所拥有的计算功能. 为了了解JVM的体系结构,所以我们先看一台真实计算机的体系包括哪些结构: 1.指令集:这台计算机可以识别的机器语言的命令集合. 2.计算单元:能够识别并且控制指令执行的模块. 3.寻址方式:地址的位数,地址的范围和运行方式. 4.寄存器:包括操作数寄存器.变址寄存器.控制寄存器等的定义.数量…
一.Java的内存区域划分 Java 虚拟机在执行Java程序的时候会把它管理的内存区域划为几部分,这一节我们就来解析一下Java的内存区域. Java的内存区域主要分为五部分: 程序计数器(PC) Java 虚拟机栈(JVM Stack) 本地方法栈(Native Method Stack) Java 堆内存(Java Heap) 方法区(Method Area) 1.1.按照功能 1.2.按照内存是否共享 类装载器(ClassLoader)(用来装载.class文件) 执行引擎(执行字节码,…
一.jvm运行在操作系统之上的,它与硬件没有直接交互: 二.JVM体系结构概览 JVM的基本结构:类加载器.执行引擎.运行时数据区.本地方法接口: 过程:class文件 ----> 类加载器 ----> 运行时数据区 -----> 执行引擎 ,本地接口----->  本地方法库. 1.类加载器ClassLoader: 负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责 class 文件的加载,至于class文件是否能够运行则由Exec…
方法区 方法区存储虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据.HotSpot中也称为永久代(Permanent Generation),(存储的是除了Java应用程序创建的对象之外,HotSpot虚拟机创建和使用的对象).为什么称为永久代呢?? 各个地方说的都不清楚,查看官方文档,解释为:永久代中的对象并不是永久的,只是历史上被叫做永久代罢了. In fact, the objects in it are not “permanent”, but that's what i…
一.简介 方法区在JVM中也是一个非常重要的区域,它与堆一样,是被线程共享的区域.在方法区中,存储了每个类的信息(包括类的名称.方法信息.字段信息).静态变量.常量以及编译器编译后的代码等. 方法区(method area)只是JVM规范中定义的一个概念,用于存储类信息.常量池.静态变量.JIT编译后的代码等数据,具体放在哪里,不同的实现可以放在不同的地方.而永久代是Hotspot虚拟机特有的概念,是方法区的一种实现,别的JVM都没有这个东西. 二.方法区结构 2.1.先看classLoader…
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > .katex-html { display: block; } .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; } .katex { font: 1.21em/1.2 KaTeX_M…
JVM体系结构: 下面重点介绍运行时数据区域模块: (1)java堆(Heap) 被所有线程共享的一块内存区域,在虚拟机启动时创建 用来存储对象实例 可以通过-Xmx和-Xms控制堆的大小 OutOfMemoryError异常:当在堆中没有内存完成实例分配,且堆也无法再扩展时. java堆是垃圾收集器管理的主要区域.java堆还可以细分为:新生代(New/Young).旧生代/年老代(Old/Tenured).持久代(Permanent)在方法区,不属于Heap. 新生代:新建的对象都由新生代分…
本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载(点此下载),另外良心推荐阅读<深入理解Java虚拟机JVM高级特性与最佳实践.pdf>(点此下载).…
JVM监控工具介绍 VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole,这些工具与JDK的标准版本是一致的. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat:一个极强的监视VM内存工具.可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量. jmap:打印出某…
第1章 Java体系结构介绍 Java技术核心:Java虚拟机 Java:安全(先天防bug的设计.内存).健壮.平台无关.网络无关(底层结构上,对象序列化和RMI为分布式系统中各个部分共享对象提供了基础) 1.3 体系机构 Java体系结构中的四个技术: Java程序设计语言 Java class文件格式 Java应用编程接口API Java虚拟机 Java虚拟机和Java API一起组成了Java平台 1.3.1 Java虚拟机 Java面向网络的核心是Java虚拟机:平台无关性.安全性和网…
JVM能跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台的软件和硬件之间的差异. 7.1 JVM体系结构 7.1.1 何谓JVM 模拟一个计算机来达到一个计算机所具有的计算功能. 以计算为中心来看计算机的体系结构可以分为如下几个部分. 指令集    计算机能识别的机器语言的命令集合. 计算单元  能够识别并且控制指令执行的功能模块. 寻址方式  地址的位数,最小地址和最大地址范围,以及地址的运行规则. 寄存器定义 包括操作数寄存器,变址寄存器,控制寄存器等的定义,数量…
博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用) 个性签名:世界上最遥远的距离不是天涯,也不是海角.而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spar…
每个Java开发人员都知道字节码将由JRE (Java运行时环境)执行.但是很多人不知道JRE是Java Virtual Machine(JVM)的实现,它分析字节码.解释代码并执行代码.作为开发者,了解JVM的体系结构非常重要,因为它使我们能够更有效地编写代码.在本文中,我们将更深入地了解Java中的JVM体系结构和JVM的不同组件. 什么是JVM呢? 虚拟机是物理机的软件实现.Java是用WORA(编写一次运行到任何地方)的概念开发的,它在VM上运行.编译器将Java文件编译成Java .c…
SMP.NUMA.MPP体系结构介绍 https://www.cnblogs.com/tcicy/p/10185783.html 从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform Memory Access) ,以及海量并行处理结构 (MPP : Massive Parallel Processing) .它们的特征分别描述如下: 1. SMP(S…
JVM总结--JVM体系结构 https://blog.csdn.net/samjustin1/article/details/52215274 需要不断的学习才可以. 2016年08月15日 22:03:56 sam_justin 阅读数 1933   版权声明:本文为博主原创文章,未经博主允许不得转载.  一. 虚拟机 虚拟机是模拟执行某种指令集体系结构(ISA)的软件,是对操作系统和硬件的一种抽象. 图1 计算机系统中的抽象         计算机系统的这种抽象类似于面向对象编程(OOP)…
源文档:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/index.html JVM体系结构     方法区,类加载器,堆,Java栈,本地方法栈,程序计数器,执行引擎,PC寄存器. 类加载器: • 启动类加载器 (Bootstrap Bootstrap) • 扩展类加载器 (Extension Extension Extension)Java Java• 应用程序类加载器应用程序类加载器 应用程序类加载器 (AppClassL…
JVM监控工具介绍 jstack - 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题.另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的.目前只有在Solaris和Linux的JDK版本里…
一.intern()定义及使用 相信绝大多数的人不会去用String类的intern方法,打开String类的源码发现这是一个本地方法,定义如下: public native String intern(); 文档告诉我们该方法返回一个字符串对象的内部化引用.关于native方法详解见native关键字(本地方法). java调用so动态链接库 java.lang.String.intern():返回一个保留池字符串,就是一个在全局字符串池中有了一个入口.如果以前没有在全局字符串池中,那么它就会…
一.基础理论知识 1.java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序.程序开始执行时他才运行,程序结束时他就停止.你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机. Java虚拟机总是开始于一个main()方法,这个方法必须是公有.返回void.直接受一个字符串数组.在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名. Main()方法是程序的起点,他被执行的线程初始化为程序的初始线程.程序中…
JVM全程是java virtual machine(java虚拟机). 以计算为中心来看计算机的体系结构可以分为以下几个部分: 1.指令集:这个计算机所能识别的机器语言的命令集合; 2.计算单元:能够识别并控制指令执行的功能模块; 3.寻址方式:地址的位数.最小地址和最大地址范围,以及地址的运行规则; 4.寄存器定义:包括操作数寄存器.变址寄存器.控制寄存器等的定义.数量和使用方式; 5.存储单元:能够存储操作数和保存操作结构的单元,如内核级缓存.内存和磁盘等; 执行引擎是JVM的核心部分,它…
http://www.aboutyun.com/thread-6217-1-1.html   1.Hive架构与基本组成     下面是Hive的架构图. 图1.1 Hive体系结构     Hive的体系结构可以分为以下几部分:     (1)用户接口主要有三个:CLI,Client 和 WUI.其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本.Client是Hive的客户端,用户连接至Hive Server.在启动 Client模式的时候,需要指出Hive Server所在…
JVM 是一种抽象的计算机,基于堆栈架构,它有自己的指令集和内存管理,是 Java 跨平台的依据,JVM解释执行字节码,或将字节码编译成本地代码执行.Java 虚拟机体系结构如下: Class File Class File 是平台无关的二进制文件,包含着能被JVM执行的字节码,其中多字节采用大端序,字符使用一种改进的UTF-8编码.Class文件精确的描述了一个类或接口的信息,其中包括: 常量池:数值和字符串字面常量,元数据如类名.方法名称.参数,以及各种符号引用 方法的字节码指令,参数个数,…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行.本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明. 一.Java源文件的编译.下载.解释和执行 Ja…
转载自:http://glutinit.iteye.com/blog/1263446 延伸参考 JVM接收参数和方法调用 void spin() {    int   i;    for (i = 0; i < 100; i++) {         ; // Loop body is empty    } } 编译后的代码如下 (与<Java虚拟机规范(java SE 7)>上看到的不一样,不知道是不是JDK版本的问题) void spin();   Code:    0:   ico…
一.概述 内存在计算机中占据着至关重要的地位,任何运行时的程序或者数据都需要依靠内存作为存储介质,否则程序将无法正常运行.与C和C++相比,使用Java语言编写的程序并不需要显示的为每一个对象编写对应的内存分配和内存回收等相关的函数,这主要是得益于JVM的自动内存管理机制,使得Java开发人员可以从频繁的体力劳动中解放出来,只关注与自身的业务即可. 尽管JVM的自动内存管理机制大大提高了Java开发人员的编程效率,甚至从某种意义上说降低了内存泄漏和内存溢出的风险,但是Java开发人员过度的依赖于…
ClassLoader(类装载器) 负责加载class文件. class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine(执行引擎)决定. 虚拟机自带的加载器 启动类加载器(Bootstrap) 扩展类加载器(Extension) 应用程序类加载器(AppClassLoader)也称系统类加载器. 加载当前应用的classpath下的所有类. 用户自定义加载器 Java.lang.ClassLoader…
一.JDK和JRE? 在刚入门java开发的时候,第一步都要从官网下载JDK来帮助开发,下载下来安装之后看到安装目录结构如下 bin目录:存放Java的编译器.解释器等工具(可执行文件). db目录:JDK7附带的一个轻量级的数据库,名字叫做Derby. include目录:存放的调用系统资源的接口文件. jre目录:存放Java运行环境文件. lib目录:存放Java的类库文件. src.zip文件:JDK提供的类的源代码. 总结: JRE: java运行环境. JRE = java虚拟机 +…
本文将对JVM监控工具jstack, jconsole, jinfo, jmap, jdb, jstat进行详细的介绍,具体内容请看下文 Sun JDK监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟进程 jstat JVM Statistcs Monitoring Tool,用于手机HotSpot虚拟机各方面的运行数据 jinfo Configuration Info for java,实时查看和调整虚拟机各项参…
jstack?-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题.另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的.目前只有在Solaris和Linux的JDK版本里面才有. jco…
下面是Hive的架构图. 图1.1 Hive体系结构 Hive的体系结构可以分为以下几部分: (1)用户接口主要有三个:CLI,Client 和 WUI.其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本.Client是Hive的客户端,用户连接至Hive Server.在启动 Client模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server. WUI是通过浏览器访问Hive. (2)Hive将元存储在数据库中,如mysql.derby.Hi…