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

什么是Java语言(学习一门语言首选了解这们语言)学习一门语言首先要对他有一定的了解。否则就会失去最基本的东西。一、什么是Java通俗将就是计算机语言的最新版本,计算机经历了C语言、C++语言、以及C+±-语言。这里的C+±-语言就是Java语言。Java语言是C语言的第三个计算机语言革命,C++语言是对C语言不足处的改进,的一门语言。而Java语言是面对C++语言的不做又一步的改进。为最大的革进新颖,决定不叫C+±-而后一些过程,最终叫Java。Java与C语言以及C++语言相比的优势其又跨平台性、可移植性。二、sunjdk众所周知,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给我们的是全套封闭式的环境,同时也是束缚程序员的一大壁垒。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156640.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SSM-Spring(1)「建议收藏」

    SSM-Spring(1)「建议收藏」SpringSpring是一个开源的免费的框架Spring是一个轻量级的,非入侵式的框架控制反转(IOC),面向切面编程(AOP)支持事务的处理,对框架整合的支持IOC理论UserDaoUserDaoImpUserSeviceUserServiceImp在之前,用户的需求可能会影响原来的代码。使用一个set。public void setUserDao(UserDao userDao){ this.userDao = userDao;}之前是主动创建对象,控制

  • 电工电子电力拖动及自动化技术考核实训台QY-DG800D[通俗易懂]

    电工电子电力拖动及自动化技术考核实训台QY-DG800D[通俗易懂]一、产品简介QY-DG800D高性能电工电子电拖及自动化技术实训与考核装置是针对我国高等院校、职业技术教育的需求而开发的综合性实训考核装置。装置融合了电工、电子、电力拖动、PLC、变频器等实训内容,配备多块可自由组合的实训挂箱,适用各类职业院校、中专、技校电工、电子、电拖、机电一体化、自动化等专业的教学和从事相关专业的技术人员实训考核。二、产品特点装置实训屏上380V交流输出处设有单片机全程监控的一套过流保护装置,相间、线间直接短路或过载,电流超过设定值,系统即告警并切断总电源,确保设备安全.

  • CreatePipe、CreateProcess函数

    CreatePipe、CreateProcess函数0x01.CreatePipe函数管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(AnonymousPipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。先详细介绍一下管道,这里以匿名管道为

  • 【前端】HTML底部返回顶部悬浮按钮

    【前端】HTML底部返回顶部悬浮按钮CSS样式:.back-to{ bottom:55px; overflow:hidden; position:fixed; right:10px; width:110px; z-index:999; } .back-to.back-top{ background:url(“./imag…

  • 大数据流量分析[通俗易懂]

    大数据流量分析[通俗易懂]数据分析工具:FineBI商业智能工具http://www.finebi.com/数据分析的本质其实是做数据对比分析,没有数据对比,单一的指标统计往往难以发挥数据价值。像我们常见的数据对比分析方法有同比、环比、占比等一系列分析指标,那是不是所有的数据业务场景都可以直接进行套用分析呢?比如我们统计企业2018年1月29日的同比流量,是不是可以直接对比2017年1月29日?表面上看好像2017年1…

  • mybatis自定义分页_java分页查询接口的实现

    mybatis自定义分页_java分页查询接口的实现问题出现原因是集成mybaits时会自动加上selecttmp_page.*,rownumrow_idfrom(查询语句)tmp_page出现这个问题的原因是查询语句的列有重复的,直接查询是看不出来原因的,把重复的列名找出来然后修改…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号