随笔分类 - JVM
摘要:1.介绍 JVM支持多种线程的执行,Threads代表的是线程类,位于java.lang.Thread包下,唯一的方式就是为用户在这个类下的对象创建线程,每一个线程关联着一个对象,一个线程将在start()调用时声明这个线程对象 在针对线程同步错误的情况下,手册描述了多线程程序的语义,包括了值位于只
阅读全文
摘要:1.概述 执行引擎是jvm核心组成部分之一,建立在物理器,硬件和操作系统层面之上,引擎在执行代码时会有解释执行和编译执行两种选择,输入字节码文件,字节码解析输出结果. 2.栈帧 栈帧是用于支持虚拟机进行方法调用和执行方法的结构,是虚拟机运行时数据区中的虚拟机栈的栈元素,存储方法的局部局部变量,操作数
阅读全文
摘要:1.概述 虚拟机把描述的类从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机使用的java类型,这就是虚拟机的类加载,其中类型的加载连接和初始化都在程序运行中运行,为java提高了高度的灵活性,特性就是以来运行期动态加载和动态连接,例如OSGI. 2.类加载生命周期
阅读全文
摘要:1.概述 高效并发通过JAVA线程之间提高并发协调实现,在实现过程中需考虑硬件的效率和一致性,但在运算的过程中需要考虑处理器与内存的交互,所以基于高速缓存的存储交互解决的处理器与内存的方案,在对多处理器系统中,共享着同一内存,所以JAVA中也提出了JMM的概念,JMM可以理解为特定的操作协议中,对特
阅读全文
摘要:Jvm下分为这几个部分,以下是对部分的解释 1.pc 较小的内存空间,线程所执行的字节码行号指示器,由于jvm的多线程是通过轮流切换并分配处理器执行方式实现的,一个处理器只会执行一条指令,每条线程都有独立的计数器,各条线程之间pc互不影响,独立存储,我们称这类内存区域为"线程私有内存"。 2.jav
阅读全文