zoukankan      html  css  js  c++  java
  • jVM学习过程1——jvm基础知识

    jvm 基础知识

    1、jdk是什么

    jdk  包含简单来说包含java工具包,jre (运行环境)

    jre 包含jvm(java虚拟机),运行时类库

    如图

     其中

    java 工具包(百度查询):

      javac – 编译器,将源程序转成字节码
      jar – 打包工具,将相关的类文件打包成一个文件
      javadoc – 文档生成器,从源码注释中提取文档
      jdb – debugger,查错工具
      java – 运行编译后的java程序(.class后缀的)
      appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
      Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
      Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
      Jconsole: Java进行系统调试和监控的工具
    运行时类库:
      java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是一个可以不用引入(import)就可以使用的包。
      java.io: 这里面是所有输入输出有关的类,比如文件操作等。
      java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用
      java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
      java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
      java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
      javax.servlet:这个是JSP,Servlet等使用到的类

    2、java  从编译到执行

     java类(helloWorld.java文件)通过javac 工具解析成helloWorld.class文件,

    然后jvm通过类加载器、字节码解释器等一些列过程将class文件解析成os可以识别的机器码

    如图

      

     3、jvm的跨平台和跨语言

    跨平台:java 针对不同的操作系统提供了对应的jdk版本,使得同样的java代码可以运行在不同的操作系统上,产生的结果是一致的

    跨语言:由于jvm解析的只是java字节码,所以无论上层语言是java还是scala、kotlin等只要其最终生成对应的java字节码,都可以在jvm上运行

    如图

  • 相关阅读:
    Python3之random模块常用方法
    Go语言学习笔记(九)之数组
    Go语言学习笔记之简单的几个排序
    Go语言学习笔记(八)
    Python3之logging模块
    Go语言学习笔记(六)
    123. Best Time to Buy and Sell Stock III(js)
    122. Best Time to Buy and Sell Stock II(js)
    121. Best Time to Buy and Sell Stock(js)
    120. Triangle(js)
  • 原文地址:https://www.cnblogs.com/yutf/p/13695483.html
Copyright © 2011-2022 走看看