再回首 Java核心技术 1 —— Java语言

        Java 是目前用户最多,使用范围最广的软件开发技术。Java技术 离不开 JVM,JRE,多种Java技术框架(spring家族技术栈,Mybatis等)的支撑。

JVM 是Java Virtual Machine 的缩写,Java虚拟机 是用来运行Java字节码程序的虚拟计算机软体程序,它负责将Java 字节码 转为各平台的底层机器指令,然后在平台上执行掉这些指令。

JRE Java Runtime Environment, 是一个软件包,,提供了运行一个Java程序所需的各种组件环境,其中包括了 Java的核心类库,JVM以及其他支持文件。

JDK Java Development Kit ,它是面向Java开发人员的工具包,为程序员同学提供了各种开发工具,当然它也肯定包含了运行Java程序的JRE。

        如果你是和我一样要开发Java程序,请使用JDK。如果你只是想跑一个Java程序,那么JRE就肯定满足你的需求了。至于JVM 他是Java体系的核心基础组件,是Java程序运行的载体。

JVM,JRE,JDK三者关系

        使用JDK的编译器来编译我们的 xx.java  文件就会得到 xx.class 的字节码文件,俗称字节代码 ByteCode。它是专门为虚拟机生成的代码,不管是什么平台的JVM得到这套字节代码都是一样的,所以它让Java代码实现了平台无关性。虽然字节码和平台无关,但是JVM它要负责将这些 Java 字节码 转为各平台的底层机器指令,所以不同平台的JVM都叫JVM,不同平台的JVM肯定是不同的。比如: Linux‘s JVM 它就 负责将Java 字节码 转为Linux平台的底层机器指令;Windows's JVM 它就 负责将Java 字节码 转为Windows平台的底层机器指令;Mac‘s JVM 它就 负责将Java 字节码 转为Mac平台的底层机器指令; 然后cpu 拿到这些指令,运行程序。

        当今,除了Java语言,其他语言,像 Kotlin,Clojure,JRuby,Scala , Groovy 也是可以编译成字节码,然后在JVM上执行。他们都属于Java技术体系中的一员。

        我们常说Java语言是平台无关的,仅仅只能局限在Java语言 以及 经过编译器编译出来的字节码文件是和平台无关的,但是JDK,JRE和JVM的具体实现一定是和平台相关。

        今天的Java作为一个经常霸榜的编程语言,也要随着时代的发展,不断面临很多机遇和挑战。比如:微服务流行的当下,就对Java云原生提出了要求,所以从JDK9 开始逐步引入了GraalVM Compiler 以对云原生条件下的AOT提前特性提供支持。随着Java每半年更新的节奏,将会有更多的改进和更多优秀的特性 被推出来,毋庸置疑的是,Java 未来必然还能继续保持相当长的生命力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值