编程语言
首页 > 编程语言> > 第一章:Java类的一生

第一章:Java类的一生

作者:互联网

第一节:万能中介:说说虚拟机

虚拟机就像一个公司,运行的每一个Java类就像公司里的一个个员工。想要了解一个员工在公司里一天都干了什么,我们还是先要搞清楚这个公司是什么的。互联网公司?外包公司?皮包公司?

首先看这样几个问题,你是否能回答:

1、Jvm是什么,他安装在哪里,如何做到跨平台的高逼格操作?

2、第一个Java类是怎么加载的?

3、Java虚拟机和main方法是什么关系,执行多个main方法意味着什么?

1、重新认识Jvm

Jvm 是 Java Virtual Machine 的缩写,即Java虚拟机。

系统虚拟机:对物理计算机的仿真,提供一个可运行的操作系统平台,如Visual Box 、VMware;

程序虚拟机:为运行一个计算机的程序而设计的虚拟机,如Java虚拟机。

Java虚拟机规范主要内容有:


2、深入底层谈main方法的启动原理

大家知道,java程序的入口是一个静态的main方法,例如下面的App.java。那么当我们在执行一个java程序的背后都发生了什么,一起来看看。

public class App {

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

注意: 本文举例基于windows操作系统)
当我们执行一个java类的时候,主要会经历以下过程:
在这里插入图片描述

-Xmn:设置新生代的大小
-Xms:设置堆的初始值
-Xmx:设置堆的最大值

校验如对垃圾收集器参数设置为:

-XX:+UseSerialGC -XX:+UseParallelGC

则由于UseSerialGC和UseParallelGC不能兼容,JVM启动时会抛出错误信息




我们一起来解答:回首本节开头的三个问题,你会回答了吗?请留言!

总结:

Java类什么时候被加载使用,什么时候不用卸载,一个类的全生命周期是怎么样的呢?请学习第一章第二节《从生到死:类的一生》

标签:java,虚拟机,第一章,JVM,Java,main,一生,加载
来源: https://blog.csdn.net/yf20614025/article/details/118469145