Day1__Java语言概述

本文介绍了Java作为编译型与解释性语言的特点,强调了其编译生成的字节码面向JVM而非特定平台。JVM作为关键组件,充当了字节码与不同平台之间的转换器。同时,解释了为何需要下载安装JDK,包括JDK中的bin目录、lib目录、JRE等内容,以及JRE与JVM的关系。
摘要由CSDN通过智能技术生成

一、Java语言特点,以及编译和解释执行

1、高级语言的运行机制

(1)、编译型语言是指使用专门的编译器特定平台的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性“翻译”成可以被该平台硬件执行的机器码(包括机器指令和操作数),并包装成改平台所能识别的可执行性程序的格式,这个转换过程成为编译(Compile)。编译生成的可执行性程序可以脱离开发环境(因为编译成机器码),在特定的平台上独立运行,但是编译型语言的程序被编译成特定平台上的机器码,因此编译生成的可执行程序通常无法移植到其他平台上运行;如果需要移植,需要将源代码copy到特定平台上,利用特定平台上的编译器重新编译。c、c++、FORTRAN、Pascal等高级都属于编译型语言。

(2)、解释型语言是指专门的解释器(特定平台的解释器)对源程序进行解释成特定平台的机器码并立即执行的语言。即:每次执行解释性语言的程序都需要进行一次编译,因此运行效率比较底,并且不能脱离解释器独立运行。但是跨平台比较容易,只需要提供特定平台的解释器即可,解释器负责将源码解释成特定平台的机器指令即可。解释性语言以牺牲程序执行效率为代价,方便的实现了源程序的移植。Rupy、Python等语言都属于解释性语言。

2、Java语言运行机制和JVM

(1)、执行java程序两个步骤简图:



由上图可以看出:当Java编译器编译java源文件时,生成.class字节码文件,此字节码不面向任何平台,只面向JVM。不同平台的JVM是不同的,但是向本地平台提供了相同的编程接口。

如果把编译生成的字节码比喻成一个笔帽,把两个不同的平台比喻成两只不同的笔,要想能把这同一个“笔帽”套在两支不同的“笔”,那么需要一个转换器,JVM就是中间转换器,向笔帽提供相同的接口,向两支笔提供不同的接口。即提供给Java字节码的接口是相同的,提供给不同操作平台的接口是不同。

(2)、JVM(java虚拟机)

作为中间转换器的JVM,可以看出处在核心地位,是Java程序与操作系统底层和硬件无关的关键,那么它的实现原理和内部组成又是怎样的呢?单独弄一节吧

二、为什么要下载安装JDK?

Sun公司提供的一套标准的Java应用程序开发包,提供了编译、运行Java程序所需要的工具和资料,以及常用的Java类库等。

1、下载解压后的目录

--bin:    JDK各种命令工具,windows系统上面打开文件夹是*.exe文件。编译器javac、反编译.class文件javap、密钥管理工具keyTool、java文档管理工具javadoc等;

--db:     安装Java的数据库路径;

--include:     .h头文件,C语言开发是用到的头文件;

--lib:   java类库文件目录,常见的dt.jar、tool.jar都在此目录下;

dt.jar  运行环境所依赖的类库,如Swing包,在操作GUI时需要调用;

toor.jar  工具类库,执行bin目录下的可执行文件时用到此类库;

--jre:    (Java RunTime Environment)java运行是环境,目录如下:

--bin:    java程序运行时所需要的可执行文件;

--lib:     java程序运行时所依赖的类库和动态链接库;(*.dll、*.so等)

--src.zip:   java源码库文件。

2、JRE和JVM的关系

简单的说,JRE包含JVM,但是运行Java程序不仅仅需要Java核心虚拟机,还需要类加载器、字节码校验器、以及大量的基础类库,所以JRE除了包含JVM,还包括运行java程序的其他环境支持。


总体来看,JDK是Sun对Java程序编译运行环境的一次完美封装。逐层剖析,又将相同特性的文件分类,整个JDK框架清晰可见并且每个分支博大精深,只有知根知底,知其然知其所以然,才能在实际开发中少走弯路,避免低级错误,若遇见错误能够快速解决。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值