简单介绍一下java的工作原理以及jvm的基础概念

简单介绍一下java的工作原理以及jvm的基础概念

JVM工作原理

一、Java运行原理

说到java首先我们会想到它是一种编程语言,实际上java 是一种编程技术,它包括了四个方面Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图
所示:
在这里插入图片描述

二、JVM的基础概念

JVM的中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。

我们都知道Java的程序需要经过编译后,产生.Class文件,JVM才能识别并运行它,JVM针对每个操作系统开发其对应的解释器,所以只要其操作系统有对应版本的JVM,那么这份Java编译后的代码就能够运行起来,这就是Java能一次编译,到处运行的原因。

JVM的组成部分

JVM 由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成, 如图所示。
在这里插入图片描述
成员变量,局部变量,静态变量三者的区别

静态变量和成员变量的区别:

  1. A:所属不同:
    1,静态变量:属于类,类变量
    2,成员变量:属于对象,对象变量,实例变量

  2. B:内存位置不同
    1,静态变量:方法区的静态区
    2,成员变量:堆内存

  3. C:生命周期不同
    1,静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
    2,成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失

  4. D:调用不同
    1, 静态变量:可以通过对象名调用,也可以通过类名调用
    2, 成员变量:只能通过对象名调用

关于静态变量代码如下:

//全局变量本身就是静态存储方式,所有的全局变量都是静态变量
function static_global(){
    global $glo;
    $glo++;
    echo $glo.'<br>';
}

static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3

关于成员变量的代码如下

public class Person {
    String name;
    String Sex;
    int age;
    double Height;
    
    public static void main(String arges[])
    {
        Person p=new Person();
        p.name="小黄";
        p.Sex="男";
        p.age=20;
        p.Height=1.7;
        System.out.println("姓名:"+p.name+",性别"+p.Sex+",年龄:"+p.age+",年龄:"+p.Height);
    }
}

成员变量和局部变量的区别:

  1. A:在类中的位置不同
    1,成员变量:在类中方法外
    2,局部变量:在方法定义中或者方法声明上

  2. B:在内存中的位置不同
    1,成员变量:在堆内存
    2,局部变量:在栈内存

  3. C:生命周期不同
    1,成员变量:随着对象的创建而存在,随着对象的消失而消失
    2,局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

  4. D:初始化值不同
    1,成员变量:有默认初始化值
    2,局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。


public class Test {
	
	static int i=1;
	{
		System.out .println(i);
		 i=9;
		System.out .println(i);
	}
	public static void main(String[] args) {
		new Test();
	}
}

结果:1

      9        i为全局变量

注意事项:

局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值