美文网首页
01--Java核心之JVM引入篇

01--Java核心之JVM引入篇

作者: e4e52c116681 | 来源:发表于2018-10-25 21:59 被阅读46次

    Java作为一门语言已经历了漫长岁月的考验,仍焕发青春。

    1.语言的存在的价值是什么?
    语言的本身价值在于[桥接],使不同的[接口]可以实现等价的[信息交互]。汉语如此,英语如此,编程语言亦是如此。
    [信息交互]是个非常有趣的东西,由它可以演化出很多副产品:阶级、金钱、翻译、奴役、情感、工作以及社会。
    自然语言的接口是人与人,编程语言的接口是人与物,这注定很长一段时间计算机将成为人奴役与驱使的对象。
    确实人是依靠自己的智慧、努力与能力获得这种权力的,我们如此也无可厚非。
    先不说计算机网络的种种开天辟地的里程碑,编程语言的立足点至今并未变化:
    [听从人的指令,无条件服从与工作],变化的只是特定领域的指令语法,并基于此之上建立的无数上层建筑(类库)
    
    2.Java语言
    如果你要搭讪一个叫world的美女,你也许会说"Hello World",但人家不一定懂英语,结果对牛弹琴,并无价值。
    面对计算机这个只认识0,1的绝世美女,该怎样打招呼能让她理你?
    1.你掌握java语言,写一个HelloWorld.java的文件,此时.java文件还是给人看的,计算机不懂。
    2.将.java用javac 编译成.calss字节码文件,这时.class文件是JVM看的,计算机不懂。
    3.在JRE上,JVM读.class文件并操做计算机的输出流,给你打出了"Hello World"。
    4.从头到位只是JVM调用计算机资源,那位美女似乎成了提线木偶,而提线的始作俑者竟是自己,好一个自言自语!
    
    3.JDK
    有了JRE就能运行java程序,如果不做开发,装个JRE就行了。(话说不做java开发的也不会在意JRE是什么。)
    我们一般说java8,java10都是指的JDK,是java开发者使用的工具集,是一个大的概念,下面是java8的JDK组成
    
    java8.png
    4.JDK、JRE、JVM的关系

    JDK:Java 语言的软件开发工具包(Java Development Kit)
    JRE: Java运行环境(Java Runtime Environment)
    JVM: Java虚拟机(Java Virtual) Machine。

    jdk-jre-jvm.png
    5.历史上的java虚拟机类型

    虚拟机即:虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的
    JVM只是一种用于计算设备的规范,广义来说相当于一个接口,而接口的实现可以不同,但都能起到JVM的作用
    Java发展至今JVM也有过更新迭代,也有基于不同场景下使用的JVM

    Sun Classic VM 第一款商用Java 虚拟机,纯解释器方式执行java代码。(已退出历史舞台)
    EXact VM 编译器解释器混合工作,很快被HotSpot VM取代(已退出历史舞台)
    HotSpot VM 沿用至今
    KVM 手机端----效率低(已退出历史舞台)
    JRockit 专注服务端应用
    J9 IBM公司
    Microsoft JVM windows----平台专用(已退出历史舞台)
    Taobao VM 淘宝根据HotSpot VM定制
    Dalvik 安卓虚拟机,寄存器架构,执行.dex文件(.class-->.dex)
    
    6.java虚拟机的体系结构

    下一篇将详细介绍:java虚拟机的体系结构

    java虚拟机的体系结构.png

    相关文章

      网友评论

          本文标题:01--Java核心之JVM引入篇

          本文链接:https://www.haomeiwen.com/subject/erkhtqtx.html