语言一词,即为沟通所用。世间万物连接皆使用语言表达思想与控制,自然语言亦为随生物进化自动生成的语言,如汉语英语等人类语言,或其他动物沟通所用的语言,机器语言为计算机所用语言,其大多为二进制格式,因计算机原理限制,故只有此类语言尔。编程语言为人类与计算机沟通所用,人类将自我思想传达与计算机,由其对应相关指令完成操作尔。
计算机技术发展至今,发生甚多编程语言,其各自大同小异,目的仅为操作计算机进行运算。但其应用场景不同,而产生分歧。如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:运行所需的字节码文件
功能组成部分:
JDK-开发环境:存在供程序员使用的工具(已经写好的代码)和编译用的应用(javac)和运行环境。
编译器:将程序编译成计算机能够理解的文件(字节码文件)。
类库:java程序中的语法规范和已经编译好的可以直接使用的代码们。
工具包:供开发人员使用的工具。
运行环境:供测试使用的运行环境。
JRE-运行环境:供程序运行所用的所有资源,比如运行字节码文件的应用等。
解释器:将字节码文件逐行的进行解析,让计算机运行(也是解释性语言的运行机制)。
JVM-虚拟机:java在解释字节码文件的过程,就是在虚拟机中执行的。不同的系统(平台)拥有不同的虚拟机,但是都可以执行字节码文件。具体作用:屏蔽不同平台之间的差异。
Java语言吸取前者各语言优点,且在发展中自身优化问题,成为最热门和广泛的开发语言,其前身来自C++语言,创造者因其各类繁琐配置与内存管理语法而诟病,故对其做优化:
简单性:相对于其他编程语言,Java基础语法学习简单,且代码结果与操作相对简单。
跨平台:对于其他编译型语言,Java能够做到将字节码跨平台执行。
枯渠涓流_Java_1.0 概述_2020年4月8日19:39:00
原文:https://www.cnblogs.com/agoodjavaboy/p/12662128.html