码迷,mamicode.com
首页 > 编程语言 > 详细

浅谈Java前奏,背景,JRE,JVM以及程序执行过程

时间:2015-09-13 19:47:55      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

好久没学习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 Files\Java\jdk1.6.0_13\bin

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

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

javac  java文件路径名

java  类名

 

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

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

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

浅谈Java前奏,背景,JRE,JVM以及程序执行过程

标签:

原文地址:http://www.cnblogs.com/hnzyyTl/p/4805127.html

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