前言

什么JVM很重要:
1、任何Java的技术问题,都可以追溯到JVM
2、衡量Java技术员的水平,就是看懂多少JVM知识

一、什么是JVM?

1、语言

作为世界上最流行的编程语言,Java可以编写C/S、B/S模式的软件。语法由Java Language Specification 规定。

2、平台

作为一个开发平台,以JVM为基础,除了Java外还有Groovy,Scala,Kotlin,JRuby,Clojure,Jython等语言。虚拟机内部机制由Java Virtual Machine Specification规定。

3、文化

作为一种文化,Java几乎成为可以“开源”的代名词,后面出现的语言等,基本上都是“开源的”,Java开了“开源”的”先河”。

4、生态

作为生态,Java拥有世界最多的技术拥护者和开源社区的支持。从桌面应用软件、嵌入式开发到企业级应用、后台服务、中间件都可以看到Java的身影。


二、JVM的概念、作用

1、JVM的概念

java虚拟机(JVM)知识点一 2020-08-21
对于Java程序来说,JVM就是操作系统
对于操作系统来说,JVM就是一个应用程序

2、JVM的作用

2.1、跨平台(不同的操作系统)
Java为什么能跨平台:
1)java文件编译后产生的字节码class文件,其中的指令是抽象的,可以重写该指令。
2)官方针对主流的操作系统,各自提供了不同JVM版本(jdk),运行的时候翻译成相同的CPU的机器指令。
2.2、自动内存管理(垃圾回收)
java虚拟机(JVM)知识点一 2020-08-21

3、JVM怎么启动的?

  • 执行JVM启动器 JAVA_HOME/bin/java.exe
    (1)jvm.dll检查os、获取JVM参数
    (2)根据vm参数向os申请分配内存、创建线程等。
  • 启动器加载 JAVA_HOME/jre/bin/server/jvm.dll
  • BootstrapClassloader加载 JAVA_HOME/jre/lib/rt.jar等核心类库
  • 启动main线程,加载main方法Java类
    (1)启动器退出,虚拟机初始化完成。
  • Java main方法开始执行

1、dll文件是Windows系统的动态链接库(C语言写的一些函数库)
2、rt.jar是Java语言的核心类库
3、虚拟机栈的特点:先进后出

相关文章:

  • 2021-11-23
  • 2021-11-14
  • 2021-08-13
  • 2021-08-23
  • 2021-07-29
  • 2022-02-07
  • 2021-06-23
猜你喜欢
  • 2021-04-09
  • 2021-12-27
  • 2021-07-24
  • 2021-11-28
  • 2021-11-18
  • 2021-06-03
  • 2021-11-26
相关资源
相似解决方案