zoukankan      html  css  js  c++  java
  • 浅谈Java前奏,背景,JRE,JVM以及程序执行过程

    好久没学习Java了,来复习一遍java的第一章吧。

    一、特征--跨平台原理

    1.语言的分类

       1)机器语言  优点:直接运行,速度快   缺点:不能跨平台

       2)c、c++等编译型语言

          使用特定的编译器针对特定的平台,将代码一次性的翻译成该平台所能识别的机器指令,并包装为该平台所能识别的文件,可以脱离开发环境运行

       优点:高效   缺点:可移植性不强

     3)perl,basic等解释型语言

       使用专门的解释器,针对特定的平台,解释成该平台所能识别的机器码指令,解释一条执行一条

       优点:可移植性好   缺点:代码外漏,低效

    那么Java语言是编译解释型语言,java编译器把Java源码翻译为字节码指令,并存放在.class文件中,运行时使用特定的Java编译器,把字节码指令翻译成相应的机器码指令,边翻译边执行

    java文件----->java编译器----->.class文件----->java解释器------>平台(os和硬件)

    二、JRE

     jre 意思就是java运行时的环境,包括java类库、jvm以及一些配置文件

     就是安装目录中的jre文件,jdk文件则是软件开发者的工具包

    三、JVM

      jvm虚拟机是JRE中的核心部分,java程序运行时必须启动它包含了

      1)cpu:JAVA编译器

      2)栈内存:存放基本类型数据和引用

      3)堆内存:存放对象(这里我的理解就是,好比在一个鱼塘,鱼塘看作堆,然后往塘里放鱼,鱼比作对象)

      4)方法区:存放每个类的方法定义和方法体

      5)垃圾回收器:回收堆内存中的垃圾对象

      6)类加载器,用来加载.class文件,它分为三类

        i)一次性加载JVM运行所必须的类

        ii)加载API类

        iii)加载自定义类

    四、执行过程

      1)加载字节码文件

      2)检验字节码的合法性

      3)分配和管理内存

      4)翻译字节码指令

      5)垃圾回收

    五、环境变量

    在OS中定义的,供应用程序访问的变量

    查看:计算机-->属性-->高级系统设置-->环境变量

      DOS窗口:set命令 + 变量名

    情空环境变量:set命令 + 变量名 = 

    六、path环境变量:

    定义OS查找或运行可执行文件的路径

    在设置环境变量时如果对dos命令不太熟悉可以直接在计算机--属性--环境变量中直接设置

    一般情况下直接设置一个path变量,路径(java-jdk-bin这个文件的位置,因为这个文件中有java.exe,javac.exe程序,我们要编译、运行java文件时要运行这些程序):(默认)C:Program FilesJavajdk1.6.0_13in

    当然也可以设置一个classpath变量,通过这个变量中的路径,运行时可以找到.class文件,这里定义了JVM查找或并运行字节码文件的路径(.class)

    在Dos下运行时(这里之前没太注意,然后用绝对路径编译时后也运行时出了点问题)

    javac  java文件路径名

    java  类名

    还有就是 .class文件和java文件分开存放在src,classes文件夹中 

    dos命令 javac -d 路径名:指定编译之后的.class文件存放的路径

    差不多第一章的内容就是这些了,然后就是写一个伟大的程序,Hello World!。。

  • 相关阅读:
    windows7使用(2)软件安装及系统优化
    Lucene.net搜索——初识lucene
    只好代码不好色,嫁人当嫁IT男!
    数据库生成word说明文档
    搬家到cnblogs,请多关照
    轻量级的数据交换格式——初识Json(上)
    Flex之Hello world
    Flex之Hello world
    Flex之Hello world
    在 Visual C++ 中控制全局对象的初始化顺序,#pragma init_seg(compiler)
  • 原文地址:https://www.cnblogs.com/hnzyyTl/p/4805127.html
Copyright © 2011-2022 走看看