`
退役的龙弟弟
  • 浏览: 451878 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jvm和类

 
阅读更多

        当执行java程序时,jvm会为该程序启动一条jvm进程,不管该进程多复杂启动了多少条线程,都处于该jvm进程中。

 

(1)同一个jvm进程的所有线程变量都使用该jvm进程的内存区。

(2)不同jvm进程并不能共享数据

 

 

下面是一个例子:

 

1、有一个含有静态变量的类AA:

package com.ru.jvm.jvm_class;

public class AA {

	public static int a = 6;
}

 2、第一个测试类,对静态变量+1

package com.ru.jvm.jvm_class;


public class Test1 {

	public static void main(String[] args) {
		AA a = new AA();
		a.a ++;
		System.out.println("a =" + a.a); 
	}
}

 这时:AA的静态变量a = 7:

a =7

 

3、第二个测试类直接打印AA的a变量

package com.ru.jvm.jvm_class;

public class Test2 {

	public static void main(String[] args) {
		AA b = new AA();
		System.out.println("a = " + b.a);
	}
}

 结果:

a = 6

 

从第2和地3步可以看出两个程序之间并没有相互影响。这是因为test1和test2执行时是两个不同的jvm进程,不同进程间不能互相通信

 

分享到:
评论

相关推荐

    JVM实战-JVM类加载机制案例分析

    通过本次实验,不仅加深了对JVM类加载机制的理解,还学会了如何利用类加载器和单例模式来优化程序结构和性能。在实验过程中遇到了一些小问题,如类加载路径配置错误导致的类加载失败等问题,这些问题最终通过仔细...

    JVM类加载机制详细讲解

    总结,JVM 类加载机制是Java平台的核心特性之一,它确保了程序的稳定运行和动态扩展能力。理解类加载器的工作原理和双亲委派模型对于优化程序性能、解决类冲突以及构建复杂的模块化系统至关重要。在实际开发中,掌握...

    JVM类加载过程.pptx

    JVM类加载过程 JVM(Java Virtual Machine)是Java语言的核心组件之一,它是Java语言的可移植性和跨平台性的基础。JVM主要组成部分包括类加载子系统、执行引擎、本地方法接口和运行时数据区。 类加载子系统是JVM的...

    jvm类装载器原理

    《JVM类装载器原理详解》 Java的JVM(Java Virtual Machine)类装载器是Java运行时系统的重要组成部分,负责在程序运行期间查找并加载类的二进制数据。理解类装载器的工作原理对于优化Java应用性能和实现动态加载类...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    Java提供了多种并发工具和机制,如synchronized关键字、volatile关键字、各种锁机制、以及java.util.concurrent包下的并发类和接口。 描述中提到了一个博文链接,尽管没有给出具体内容,但根据标题,我们可以推测该...

    jdk,jvm源码

    Java虚拟机(JVM)是Java程序运行的核心,它负责解释和执行字节码,为Java应用程序提供了一个跨平台的运行环境。JDK(Java Development Kit)包含了开发和运行Java程序所需的所有工具,包括JVM。当我们谈论"jdk,jvm...

    jvm 启动过程 JVM 原理

    - **方法区**:存储类和接口的信息,如常量池、字段和方法数据。 - **PC寄存器**:记录当前线程正在执行的字节码指令地址。 - **本地方法栈**:与Java方法不同,本地方法栈为JNI(Java Native Interface)调用的C/...

    jvm和gc详解及调优

    1. **JVM架构**:JVM包括类装载器、运行时数据区、执行引擎、本地方法接口和本地方法库等主要部分。了解这些组件的作用和交互方式是理解JVM工作流程的基础。 2. **内存模型**:JVM的内存分为堆内存(Heap)、栈内存...

    深入Java虚拟机_002_深入详解JVM之类加载器深度剖析、根、扩展及系统类加载器

    根类加载器,也称为bootstrap class loader,是JVM内置的最基础的类加载器,由C++实现,负责加载JDK核心库,如rt.jar,这些库位于JRE的lib目录下,包含了Java的基础类和API。 扩展类加载器,又叫extension class ...

    JVM原理讲解和调优,详细讲解JVM底层

    JVM(Java虚拟机)是Java语言运行的基础,它负责执行Java字节码,并且是...开发者可以通过对JVM进行调优,结合业务场景和应用需求,合理配置JVM内存大小、调整垃圾回收策略和类加载机制,从而达到优化应用性能的目的。

    jvm规范和java规范

    Java虚拟机(JVM)规范和Java语言规范是Java开发者深入理解这个平台和技术的基石。这两部分规范分别定义了Java程序如何在JVM上运行以及Java编程语言的语法和语义。 《Java语言规范》(Java Language Specification...

    jvm 详细介绍,了解jvm各个组成部分和功能

    首先,它具备一种名为“类加载器”(Class Loader)的组件,用于加载和管理程序中的类文件。类加载器不仅能够按需加载类文件,还能够支持热更新等功能。此外,类之间的隔离也使得每个类的运行环境相对独立,提高了...

    JVM调优和故障排除手册

    标题《JVM调优和故障排除手册》预示着文档将专注于Java虚拟机(JVM)的性能调优以及如何诊断和解决在JVM环境中遇到的问题。JVM是运行Java程序的核心,负责提供内存管理、垃圾回收、多线程处理以及本地方法调用等服务...

    JVM图解-JVM指令-JVM原型图.rar

    - JVM指令是字节码,每条指令对应一个特定的操作,如加载和存储变量、算术运算、控制流程、对象创建和方法调用等。 - 指令手册会列出所有这些指令,比如`iconst_5`表示将整数5压入操作数栈,`aload_0`用于将局部...

    JVM必知必会

    - **类文件解析**:JVM将类文件中的字节码转换成计算机能够理解的指令执行。 #### 10. 常用工具 - **VisualVM**:是一个可以监控运行时的Java应用程序和环境的工具。 - **Memory Analyzer**:用于分析Java堆转储的...

    jvm视频及笔记

    1. **JVM架构**:JVM主要由类装载器、运行时数据区、执行引擎、本地方法接口和本地库组成。了解每个部分的功能对于优化程序性能至关重要。 2. **类装载机制**:包括加载、验证、准备、解析和初始化五个阶段,确保类...

    jvm 配置jvm参数

    JVM参数主要分为两大类:一类是用于控制JVM运行时行为的参数,如内存分配、垃圾回收策略等;另一类则是用于调试和监控的参数,如日志记录、性能分析等。以下是一些关键的JVM参数: 1. **堆大小设置**: - `-Xms`:...

    【Java正来-深入理解JVM】类文件结构

    JVM的指令由一个字节长度、代表着某种特定操作含义的数字(成为操作码)以及跟随其后的零至多个代表此操作所需参数(操作数)而构成。JVM采用面向操作数栈而不是寄存器架构,所以大多只有一个操作码。

    浅谈jvm原理

    JVM 可以分为三类:VMWare、Visual Box 和 JVM。其中,VMWare 和 Visual Box 使用软件模拟物理 CPU 的指令集,而 JVM 使用软件模拟 Java 字节码的指令集。 JVM 的运行机制可以分为三个主要的子系统:类加载器子...

    狂神说JVM探究.rar

    - 类的生命周期包括加载、验证、准备、初始化和卸载五个阶段。 - 双亲委派模型:类加载器在加载类时,会将任务委托给父类加载器,直到Bootstrap ClassLoader。 3. **内存区域**: - 程序计数器:记录当前线程...

Global site tag (gtag.js) - Google Analytics