访问标志的位置:在常量池结束之后的两个字节(16位)表示访问标志access_flags。 访问标志的作用:用于标识类或者接口层次的访问信息;比如该Class是类还是接口,是否为public类型、是否为abstract类型、是否是final类型等等。 访问标志的类型:参考博客《Java虚拟机原理图解 ...
分类:
其他好文 时间:
2020-05-04 17:49:06
阅读次数:
82
Java类加载器 Java虚拟机自带的加载器: 根类加载器(Bootstrap):该加载器没有父加载器,它负责加载虚拟机中的核心类库。根类加载器从系统属性sun.boot.class.path所指定的目录中加载类库。类加载器的实现依赖于底层操作系统,属于虚拟机的实现的一部分,它并没有集成java.l ...
分类:
其他好文 时间:
2020-05-03 18:26:26
阅读次数:
54
volatile是什么 ? 是java虚拟机提供的轻量级同步机制,它包含三种特性: 保证可见性: 只要主内存中变量做出修改,其余线程马上会感知到变量的修改。 不保证原子性: 禁止指令重排 JMM概念 ? JMM本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个 ...
分类:
其他好文 时间:
2020-05-02 18:51:25
阅读次数:
46
[TOC] 一、回顾 回顾Java的Runtime类可以单独启动一个进程来运行操作系统的命令,如下程序所示: 二、Runtime对象的exec()产生Process对象的 使用Runtime对象的exec()方法可以运行平台上的其他程序,该方法产生一个Process对象,Process对象代表由该J ...
分类:
编程语言 时间:
2020-05-01 20:26:18
阅读次数:
64
JVM运行时数据区域 Java虚拟机在执行Java程序的过程中,会把它管理的内存划分为若干个不同的数据区域。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示 程序计数器 程序计数器: 可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下 ...
分类:
其他好文 时间:
2020-05-01 17:04:47
阅读次数:
90
Java内存分配?寄存器:程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码。?静态域:static定义的静态成员。?常量池:编译时被确定并保存在.class文件中的(final)常量值和一些文本修饰的符号引用(类和接口的全限定名,字段的名称和描述符,方法和名称和描述符)。?非RAM存储:硬盘等永久存储空间。?堆内存:new创建的对象和数组,由Java虚拟机自动垃圾回收器管理,存取速
分类:
其他好文 时间:
2020-04-29 14:26:04
阅读次数:
65
2.1 概述 对Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每个对象的new操作去写配对的delete/free 代码,不容易出现内存泄露和内存溢出的问题。不过,仍然需要Java虚拟机是如何使用内存的,方便我们定位内存泄露和内存溢出的问题: 2.2 运行时数据区域 Java虚拟机 ...
分类:
编程语言 时间:
2020-04-27 13:45:47
阅读次数:
73
Java内存分配?寄存器:程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码。?静态域:static定义的静态成员。?常量池:编译时被确定并保存在.class文件中的(final)常量值和一些文本修饰的符号引用(类和接口的全限定名,字段的名称和描述符,方法和名称和描述符)。?非RAM存储:硬盘等永久存储空间。?堆内存:new创建的对象和数组,由Java虚拟机自动垃圾回收器管理,存取速
分类:
其他好文 时间:
2020-04-26 20:59:44
阅读次数:
77
NoClassDefFoundError错误发生的原因 NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出 ...
分类:
其他好文 时间:
2020-04-26 15:29:31
阅读次数:
72
Java 虚拟机栈:线程私有,生命周期和线程一致。描述的是 Java 方法执行的内存模型:每个方法在执行时都会床创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的。 本地方法栈:Java ...
分类:
其他好文 时间:
2020-04-26 14:03:32
阅读次数:
87