JVM- Java真的动词吗?第四部分
#初学者 #java #jvm

说统治者(当然来自java,kkk)!
没有太多延迟,让我们继续谈论JVM !!! #partiu

我们有aqui JVM解释的开始,以及她如何与Java合作,今天我们将遵循此解释。

堆栈(堆栈区域)子系统

Image description

MãoReal(方法区域)

JVM中的这个领域负责将所有母亲存储在班级范围内,带来了我们的课程典范,我们有:

public class Programa{
    public static void main(String[] args){
        System.out.println("Hello Programa");
    }
}

类范围是括号“ {”单词程序之后的所有内容,以与另一个括号“}”“}”,我们可以在我们的班级中看到,我们可以看到只有母亲的声明,母亲©全部。因此,以我们的例子为例,将在整个过程中提供记忆中的母亲©All Main,Beauty吗?
啊!值得记住的是,整个方法是JVM中的共享资源,并且只有一个JVM区域,您不会在同一JVM中找到两种母亲模式,这是如此之多,在此示例中,我们是如此。如果只有一个课程被发送到JVM,这是一个简单的情况,但是在某些情况下,需要分析JVM收到的内容对于了解班级的工作良好,或者是对您的JVM进行良好工作或可能进行的代码调整以优化其使用IS是必不可少的有必要的,因为我们依靠母亲,基础设施,不幸的是,您将需要更多的下文,纪念馆,CPU等力量...

- 堆叠区(堆区)

在该区域中,所有对象及其相应实例均已存储。重要的是要记住,就像上一个区域一样,堆叠区域(堆区)也是一种共享资源,必须亲切地看待,已经通过导致电池破裂实现了误解(当时不再有空间存储存储新对象的内存,生成异常,例如 java.lang.outofmemoryerror:java heap space ))

- 执行时间(堆栈区域)中的数据

在这个区域,让我们划清界限 threads 的概念:

  • 线程 - 是由于计算过程而创建的,例如,当需要执行计算机中的一个过程时,就会出生线程。每次打开应用程序时,就会启动线程本身,并且在该应用程序的每个新任务中,都可以创建另一个线程...因此,应用程序打开的应用越多,您将设备处理上的超载越多。

正如我们在上面看到的,每个执行都是一个线程,并且为在成员中分配的每个执行我们命名堆栈帧。在堆栈帧中,所有本地变量都将初始化,我们还说它是线程安全的,因为此功能(与以前的功能不同)是共享资源,它是独有的。 在堆栈框架中,我们仍然有跨性别子类别:

  • 位置变量阵列(LVA) - 对应于涉及多少位置,并且在我们的示例中存储它们各自的值:

Image description

在我们的班级中,因为它很简单,所以主©main可以用LVA参考表示,该参考可能必须输入时输入;

  • 操作数堆栈(OS) - 如果需要进行任何中间操作执行,则进入场景的资源,OS充当执行所需操作的工作区域。 让我们稍微更改班级以尝试说明这一点:
public class Programa{
    public static void main(String[] args){
        System.out.println("Hello Programa");
        System.out.println("O resultado da soma é: " + soma(2,3));
    }

    public static int soma(int a, int b){
        return a + b;
    }

}

请参阅第二个系统。需要额外的操作!

  • 帧数据(FD) - 帧数据是简化执行内容的面孔,好像是执行助手一样,他一直注视堆栈帧池,并可以链接参考文献以简化该执行通过类指针,界面,字段或全部。

PC登记处(PC寄存器)

每个线程将拥有自己的注册服务商,该注册服务商将负责存储您的地址,这使当前执行能够完成并为下一个线程所需要做的事情存储的地址。

母亲的电池©本地方法堆栈

stack保留所有本地人的母亲的信息,以便在有新的执行(线程)时,它是以最有效的方式完成的,可能已经收取了一些信息(如所有本地人),并可以使用。<<<<<<<<< /p>

今天,这是统治者,越来越多地进入Java可以为我们提供的东西,您很高兴成为愉快的人吗?来评论并告诉我,当我在这里见到你时,我很高兴,一个拥抱和下一个!

翻阅: