初入了解java虚拟机

前言

什么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就是操作系统
对于操作系统来说,JVM就是一个应用程序

2、JVM的作用

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

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、虚拟机栈的特点:先进后出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值