JVM-java命令

java命令位于JDk的bin目录下。 java命令目录: JPS(java process status): 显示当前所有java进程pid的命令。 Jstack: Jstack是java虚拟机自带的一种堆栈跟踪工具,用来分析JVM当前时刻的快照,快照是JVM中每一个线程正在运行的方法...

2019-07-24 20:40:06

阅读数 37

评论数 0

JVM-JVM(java虚拟机)抛出OutOfMemoryError(OOM)异常的8种原因及解决方法

JVM 发生OutOfMemoryError异常的八种原因: java堆空间。 GC开销超过限制。 请求的数组大小超过虚拟机限制。 Perm gen空间。 Metaspace。 无法新建本机线程。 发生了Stack_trace_with_native_method 。 java堆...

2019-05-05 16:32:47

阅读数 43

评论数 0

JVM-JVM内存模型(Java Memory Model)

JVM内存划分: 方法区(线程共享): class对象,常量,静态变量,运行时常量池,JIT编译后的机器码也在方法区存放。 堆区(线程共享): 对象,字符串常量池在堆区,垃圾回收的主要场地。 程序计数器(PC寄存器,线程私有): 当前线程执行的字节码的位置指示器,也就是说指向当前正在运行的指令...

2019-04-30 20:44:50

阅读数 540

评论数 0

JVM-JVM体系结构(组成/加载/运行时数据区/执行引擎)

什么是JVM: JVM是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM虚拟机包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使java程序只需生成在JVM上运行的字节码,就可以在多种操作系统上...

2019-04-30 09:28:01

阅读数 504

评论数 2

JVM-计算机基础与Class文件加载机制(类加载时机/双亲委派模型/类加载过程/JIT即时编译器)

计算机基本概念: 计算机存储元件: 寄存器: 中央处理器CPU的一部分,是计算机中读写速度最快的存储元件,但是容量很少。 内存: 属于独立的一个部件,是和CPU沟通的桥梁,用于存放CPU中的运算数据以及与外部存储器交换的数据。虽然现在内存的读写速度已经很快了,但是由于寄存器是在CPU上,所以...

2019-04-30 09:24:34

阅读数 40

评论数 0

JVM-对象在JVM中如何创建(对象定位方式/虚拟机创建对象步骤)

java是一门面向对象的语言,java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(克隆,反序列化)就是一个new关键字而已,但是虚拟机层面上却大不相同。 虚拟机创建对象的步骤: 虚拟机遇到一条new指令,首先去检查这个指令的参数能否在运行时常量池中定位到一个类的符号引用,...

2019-04-29 20:43:30

阅读数 39

评论数 0

JVM-实例初始化在静态初始化之前的特例分析

public class StaticTest { public static void main(String[] args) { staticFunction(); } static StaticTest st = new StaticTest(); ...

2019-03-17 12:13:54

阅读数 41

评论数 0

提示
确定要删除当前文章?
取消 删除