码迷,mamicode.com
首页 > 其他好文 > 详细

JVM_开篇_JVM是什么

时间:2021-05-24 13:05:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:class   程序设计语言   安装   nbsp   等等   常用   hello   类加载   加载   

JAVA最初流行的原因

  • 强大的类库
  • 自动的垃圾处理
  • 一处编译,处处运行
  • 动态的内存分配和自动垃圾回收

运行JAVA程序

我们第一次接触Java的时候(Hello World),回忆一下具体的步骤,如下:

  • 编写Java程序。
  • 通过javac编译.class文件。
  • 通过java命令运行.class文件。

而这一些列的操作,都需要我们提前安装一个环境(JDK)。

 

JDK

JDK被称为java程序开发的最小环境,组成如下:

  • Java类库,常用的String,List等。
  • 程序设计语言:我们的语法,及其关键字。
  • Java虚拟机(JVM):java程序所寄托的内存和执行系统。

java类库中的Java SE API和JVM统称为JRE,JRE也就是JAVA程序运行的最小环境。

JVM是什么

C++的跨平台型

相对于其他的变成语言,比如C++的跨平台性,是针对源码跨平台的,因为C++相对于不同的操作系统,有不同的指令,Linux下直接使用gcc编译器程序,在Windows下使用对应的mingw编译器编译。

跨平台的对比

技术图片

因为C 编译的时候将程序编译成本地机器码,运行时直接执行。而JAVA的做法实在中间夹了一层,也就是我们讲到的JVM,JVM执行是通过把编译好的.class文件转换为本地机器码运行,所以只需要在不同平台上安装了不同的JVM,就可以把其他平台编译好的.class文件交给现有平台的JVM去解析执行。

JVM其他功能

当然JVM不只是只有跨平台的功能,同时还有垃圾回收,内存结构,内存模型,类加载机制,编译字节码等等。

其他

JVM是相对于.class文件存在的,所以说JVM在运行的时候,并不在意你的源码是什么,如果编译出来的字节码文件符合JVM的规范,也是可以的。比如Koltlin, Clojure等等。

感谢阅读,如有错误欢迎指正。

JVM_开篇_JVM是什么

标签:class   程序设计语言   安装   nbsp   等等   常用   hello   类加载   加载   

原文地址:https://www.cnblogs.com/xwbBlog-2021/p/14774434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!