枯渠涓流_Java_1.0 概述_2020年4月8日19:39:00

概述

  • 语言一词,即为沟通所用。世间万物连接皆使用语言表达思想与控制,自然语言亦为随生物进化自动生成的语言,如汉语英语等人类语言,或其他动物沟通所用的语言,机器语言为计算机所用语言,其大多为二进制格式,因计算机原理限制,故只有此类语言尔。编程语言为人类与计算机沟通所用,人类将自我思想传达与计算机,由其对应相关指令完成操作尔。

  • 计算机技术发展至今,发生甚多编程语言,其各自大同小异,目的仅为操作计算机进行运算。但其应用场景不同,而产生分歧。如C更适合底层代码构建,JavaScript更适合前端页面构建,Java更适合服务端运算等。

  • Java为完全符合面向对象思想所开发的一款语言,以多个语言作为前身对其优化,以提高个人特点,找准定位及应用场景。

  • 对于编程语言来讲,其亦分为高级型与低级性,越贴近人类认知的代码即称为高级语言,反之为低级语言。类似汇编语言,其中并无人类自然语言中存在的单词,故称为低级语言,现有编程语言基本都为高级语言。

运行机制

  • 不同语言皆有各自的方式传达指令给与计算机,此操作称作运行,且各语言传达给计算机指令之方式不同,故构成运行机制一说。

  • 一类语言为编译型,另一类为解释性。

    编译型需特定系统之特定编译器将代码转换翻译,使其成为当前平台可理解类二进制码,此二进制码位于系统中可直接执行,转换翻译的过程称为编译。此类语言依赖操作系统,无法切换其他系统运行。因其一次性成为了可执行代码,故其运行效率较高,类如C语言,C++等皆为编译语言。

    解释性语言并不依赖环境系统限制,其各系统中都存在对其编译的解释器,此软件将对代码进行逐行编译执行,并非全篇转换,且不会如编译语言一样产生二进制执行文件。解释性语言依赖解释器,在执行代码时要将解析器与系统内部署好即可执行,不可脱离解释器执行。但其单行编译的机制,也损失了部分执行效率。

    除此还存在半编译语言,此非真正编译,而是将高级代码生成为特定的其他格式代码,其解释器将位于可执行文件中,执行程序时才方可将特定代码转换为机器可识别码进行执行。此类语言类似编译语言依赖平台,其他平台中需特殊编译,但其运行机制与编译型相差甚远,类如Visual Basic类型语言。

  • Java代码运行机制,并不属于编译型,亦不属于解释性,概括为:先编译后解释。旨在保留运行速度的前提下实现跨平台的效果。

    Java程序源码将被编译为一种字节码语言,此类语言可跨平台执行,仅需平台中存在响应解释器即可,然后位于平台中执行字节码程序,从而运行指令。其指令运行借助JVM虚拟机,其充当字节码文件的解释器,各平台存在不同的JVM。

  • Java的虚拟机作为一款程序,有不同的厂商发布不同版本,官方会采用其中一种。由于版本较多,其规定一些细节以统一个虚拟机功能:指令集、寄存器、字节码格式、栈、垃圾回收堆、存储区。

    虚拟机的作用,即解决了一个Java文件在各系统平台运行的问题,故称其作用为:屏蔽不同系统间差异。

组成部分

  • 在两方面研究Java的组成部分,一类为其安装路径下文件夹各包含内容只作用,另一类为程序运行中其各个功能组件的作用。

  • 安装目录各组成:

    java:java的安装位置

    • jdk:开发环境

      • bin:可执行文件

      • include:包含其他语言的文件

      • jre:开发环境中的运行环境

      • lib:已经编译好的可以使用的字节码文件

      • src.zip:java的类库(已经写好的工具)的源代码

    • jre:运行环境

      • bin:可执行文件

      • lib:运行所需的字节码文件

  • 功能组成部分:

    1. JDK-开发环境:存在供程序员使用的工具(已经写好的代码)和编译用的应用(javac)和运行环境。

      1. 编译器:将程序编译成计算机能够理解的文件(字节码文件)。

      2. 类库:java程序中的语法规范和已经编译好的可以直接使用的代码们。

      3. 工具包:供开发人员使用的工具。

      4. 运行环境:供测试使用的运行环境。

    2. JRE-运行环境:供程序运行所用的所有资源,比如运行字节码文件的应用等。

      1. 解释器:将字节码文件逐行的进行解析,让计算机运行(也是解释性语言的运行机制)。

      2. JVM-虚拟机:java在解释字节码文件的过程,就是在虚拟机中执行的。不同的系统(平台)拥有不同的虚拟机,但是都可以执行字节码文件。具体作用:屏蔽不同平台之间的差异。

语言特点

Java语言吸取前者各语言优点,且在发展中自身优化问题,成为最热门和广泛的开发语言,其前身来自C++语言,创造者因其各类繁琐配置与内存管理语法而诟病,故对其做优化:

  1. 简单性:相对于其他编程语言,Java基础语法学习简单,且代码结果与操作相对简单。

  2. 跨平台:对于其他编译型语言,Java能够做到将字节码跨平台执行。

  3. 纯面向对象:高级语言中,Java的设计与源码的书写皆贴合面向对象思想,这更贴近人类认知。

猜你喜欢

转载自www.cnblogs.com/agoodjavaboy/p/12662128.html