什么是Java语言(学习一门语言首选了解这们语言)
大家好,又见面了,我是你们的朋友全栈君。
学习一门语言首先要对它有一定的了解。否则就会失去最基本的东西。
一、什么是Java 通俗将就是计算机语言的最新版本,计算机经历了C语言、C++语言、以及C+±-语言。这里的C++ – -语言就是Java语言。Java语言是C语言的第三个计算机语言革命,C++语言是对C语言不足处的改进,的一门语言。而Java语言是面对C++语言的不做又一步的改进。为最大的革进新颖,决定不叫C+±-而后一些过程,最终叫Java。 Java与C语言以及C++语言相比的优势其又跨平台性、可移植性。
二、sun jdk
众所周知,java运行在jvm虚拟机上,其中虚拟机又分很多种。到目前为止java代表的并不是jvm。
jvm可以理解成一个不透明的沙盒,提供了一些接口允许输入输出,当然也提供了一些基本的监控。java被当成了编写程序运行在jvm上的一门编程语言。
sun jdk主要分为bin、lib、 jre 、jre/lib 、 jre/bin 几大块:
bin是Java工具,可以调起java的一些可运行包,比如java的编译,最主要的是编译器(javac.exe)。
lib是java基础类库。
jre是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库,也就是说运行一个java程序只需要包含jre部分即可,但是jre只能运行,不能编译。
jre/lib是JVM标准实现及Java核心类库。
jre/bin相当于jvm,提供了编译后的二进制文件的运行环境。
可以看出 jdk是最全的包含了所有的java所需包括jre,而jre只有运行环境,其中jre包含jvm。
三、回到核心
回到本质上,jvm接受的是二进制文件,而不是指定java语言编写的二进制文件,所以使用其他语言比如python、c、c++、go等语言,只要能将其编译成jvm可理解的二进制文件,就能在jvm上运行,当然这个过程非常艰难,要知道难在哪,需要搞清楚java编译器编译出来的二进制文件的格式是怎么样的,这个问题我将在后续的java编译、指令重排中介绍。
当下对java程序员的技能水平考验的更多是jvm的了解和掌握程度,而非java语言特性。绝大多数jvm都是由c++或者c(c与c++历来不分家)编写,当然也有用java实现虚拟机的版本。要搞懂jvm不必去搞c,但是搞过c的人都知道写起c来跟写起java来,完全不是一回事,java给我们的是全套封闭式的环境,同时也是束缚程序员的一大壁垒。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156640.html原文链接:https://javaforall.cn
相关文章
- java 音频转为wav格式标准音频 | Java工具类
- 学java用什么编译器_学习Java用什么编译软件好
- 反应java程序并行机制的特点_Java语言具有许多优点和特点,下列选项中能反映Java程序并行机制特点的是()。…[通俗易懂]
- java怎么输出保留两位小数_剖析Java输出怎么保留两位小数「建议收藏」
- java后端开发需要什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]
- java语言的平台无关性是指什么,《深入Java虚拟机》学习笔记二:平台无关性
- java motherfree video_Java Config 下的Spring Test方式
- 吐血整理!java面试中经常被问到的问题「建议收藏」
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- JAVA入门学习十一
- Java学习-如何编译适配java版本的jar包
- java基础学习总结——面向对象1详解编程语言
- Java学习笔记之十三初探Java面向对象的过程及代码实现详解编程语言
- Java学习笔记之十一Java中常用的8大排序算法详解总结编程语言
- Java学习笔记之二java标识符命名规范详解编程语言
- Java学习笔记之一java关键字及作用详解编程语言
- 学习如何使用Linux环境运行Java程序(linux下的java)
- 挑战未来:学习Linux与Java(学linux还是java)
- Linux下搭建 Java 开发环境(linux搭建java环境)
- Python、R、Java、 C++ 等:从业界反馈看机器学习语言趋势
- 深入学习:Linux下Java环境建设与配置(linux下java环境)
- Linux下快速安装Java开发环境(linux安装java)
- 简明易懂的介绍Linux java包的25个字的文章标题:Linux Java包:开发和运行Java程序的工具(Linuxjava包)
- Linux平台上C语言接口调用Java语言实现(linux c调java)
- 秘籍学习实现纯Java版Redis(纯java版redis)