前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是Java语言(学习一门语言首选了解这们语言)

什么是Java语言(学习一门语言首选了解这们语言)

作者头像
全栈程序员站长
发布2022-09-08 11:21:41
2960
发布2022-09-08 11:21:41
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

学习一门语言首先要对它有一定的了解。否则就会失去最基本的东西。

一、什么是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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档