做了这么久的开发,到目前为止对JVM也只是一些简单的概念上的理解,正好周末于是将JVM的学习提上日程。 JVM 概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现 ...
分类:
其他好文 时间:
2018-09-08 18:01:29
阅读次数:
196
1、运行时数据区域 1.1、程序计数器 线程私有,当前线程所执行的字节码行号指示器, Java虚拟机的多线程是通过线程轮流切换处理器执行时间的方式来分配 1.2、Java虚拟机栈 线程私有,,虚拟机的局部变量表每个方法在执行的时候都会创建栈帧用于存储局部变量,操作数栈,动态链接方法出口等信息,每个方 ...
分类:
编程语言 时间:
2018-09-07 23:56:38
阅读次数:
322
Java跨平台的特性,也就是同一份字节码文件可以在不同的系统上执行, 由不同系统中的Java虚拟机负责翻译成对应的机器指令。 jre - Java运行时环境信息,只要运行Java编写的应用程序就需要安装。 jdk - Java开发工具包,只要编写Java应用程序就需要安装,该工具包中包含了jre。 ...
分类:
编程语言 时间:
2018-09-07 23:54:52
阅读次数:
218
1.Java技术体系结构 Java技术体系:广义上,Clojure、JRuby、Groovy等运行于java虚拟机上的语言以及相关的程序都属于java技术体系的一员。sun官方所定义的java技术体系包括以下几个组成部分: java程序设计语言、各种平台上的java虚拟机、class文件格式、jav ...
分类:
其他好文 时间:
2018-09-07 14:07:57
阅读次数:
136
1:什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM ...
分类:
其他好文 时间:
2018-09-06 16:14:25
阅读次数:
137
什么是Java虚拟机? Java虚拟机,从字面上来看,像是某种机器,但Java虚拟机之所以被称之为“虚拟”的,是因为它是由一个规范来定义的抽象计算机,所以在我们说Java虚拟机的时候,可能指的是如下三种不同的东西: 抽象规范 一个具体的实现 一个运行中的虚拟机实例 Java虚拟机的生命周期 当启动一 ...
分类:
编程语言 时间:
2018-09-05 17:58:34
阅读次数:
137
JVM内存划分,人为的根据不同内存空间的存储特点以及存储的数据: 本地方法栈:为虚拟机使用的native方法服务。程序计数器:当前线程所执行的字节码的行号指示器。Java虚拟机栈:描述Java方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口等 ...
分类:
其他好文 时间:
2018-09-04 23:29:05
阅读次数:
193
一、多线程原理 如上图所示:程序启动运行main的时候,java虚拟机启动一个进程,主线程main在mian()调用的时候被创建,随着调用mt的对象的start方法,另一个新的线程也就启动了,这样整个应用就在多线程下运行 二、多线程在内存中执行 多线程执行时候,在内存中是如何分析的,还用上图代码为例 ...
分类:
编程语言 时间:
2018-09-03 19:31:29
阅读次数:
160
哪些内存需要回收? java内存运行时区域的各个部分,其中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不絮的执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的。因此这几个区域的内存分配和回收都具有确定性,所以这部分 ...
分类:
编程语言 时间:
2018-09-03 12:12:21
阅读次数:
184
本文转自https://zhuanlan.zhihu.com/p/25713880。 JVM的基础概念 JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。 JVM也充当着一个翻译官的角色,我们编写出的Java程序,是不能够被操作系统所直接识别的,这时候JVM的作用就 ...
分类:
编程语言 时间:
2018-09-03 02:21:07
阅读次数:
140