Java是什么?(零基础也能轻松看懂)

目录

引子

那到底什么是java呢?

1. Java的运行环境与运行机制

1.1 编译语言

1.2 解释语言

1.3 关于Java语言

2.JDK、JRE具体介绍

2.1 JDK:Java开发环境包

2.2 JRE:Java运行时环境

2.3 总结


引子

每个初学者学习Java的时候,可能都会有一个疑惑,那就是java是什么?

可能初学者看到的介绍是这样的:

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

哈哈我当初看到的时候看的是一头雾水。

那到底什么是java呢?

java首先是一门语言,比如你的室友说让你帮忙带饭,女朋友让你陪她逛街就是语言。只是java的沟通对象不同,java是人用来和计算机沟通的语言。我们现在知道java是一门编程语言,接下来需要大概知道java是怎么一回事。

1. Java的运行环境与运行机制

想要了解Java的运行环境,就得知道Java是如何运行的。

java程序运行是先进行编译、后解释的。

1.1 编译语言

编译型语言:是使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

执行方式图示:

简单说就是将源代码编译成机器语言的文件,例如exe格式的文件,在运行时,直接使用编译结果,运行exe文件就行。因为只要编译一次,以后运行就不需要编译了,所以编译型语言执行效率高。

【因为编译型语言是一次性编译成特定平台的机器码,因此编译生成的可执行程序无法移植到其他平台上运行。如果需要移植,则必须将源代码复制到特定平台上】

特点:

1. 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高

2. 与特定平台相关,一般无法移植到其他平台,不同操作系统,调用底层的机器指令不同,需为不同平台生成不同的机器码文件。

3. C++就属于编译型语言

1.2 解释语言

解释型语言是指使用专门的解释器对源程序进行逐行解释成特定平台的机器码并立即执行。

代码在执行时才被解释器一行一行动态翻译和执行,而不是在执行之前完成翻译的。

解释型语言不需要提前翻译,而是直接解释成机器码并立即运行,所以只要某一平台提供了相应的解释器即可运行该程序。

特点:1. 解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;

2. 解释程序可跨平台使用,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要再考虑差异性,源代码所有平台都可以直接执行。只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;

3. Python就是解释型语言。

1.3 关于Java语言

Java和其他的语言不太一样。因为Java编写的程序需要先经过编译步骤,但这个编译过程并不会生成特定平台的机器码,而是生成字节码文件。这种字节码文件是不可执行的,必须使用Java解释器来解释字节码生成机器码。所以说Java语言既不是纯粹的编译型语言,也不是纯粹的解释型语言。

Java程序的执行必须经过先编译、后解释的这两个步骤。

Java中负责解释执行字节码文件的是JVM虚拟机,即JVM(Java Virtual Machine)。JVM是可运行Java字节码文件的虚拟计算机。

所有OS平台的JVM向编译器提供相同的编程接口,而编译器只需要面向JVM,生成虚拟机能理解的代码,然后有虚拟机来解释执行。之后虚拟机代码转换成特定系统的机器码,然后执行。

2.JDK、JRE具体介绍

2.1 JDK:Java开发环境包

JDK:Java Development Kit 是Java的标准开发工具包 。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心。

(普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序)JDK安装目录下各个子文件目录和文档作用的详细介绍

(1)bin文件夹:存放了JDK的各种工具命令,

(3)include文件夹:存放了一些平台特定的头文件

(4)jmods文件夹:存放了JDK的各种模块

(5)legal文件夹:存放了JDK各模块的授权文档

(6)lib文件夹:存放的是JDK工具命令的一些补充jar包

2.2 JRE:Java运行时环境

JRE:Java runtime environment 是运行Java语言编写程序,不可缺少的运行环境,用于解释执行Java的字节码文件。JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

2.3 总结

除了以上这些,我们在顺带一下java语言是怎么来的,有助于理解。

a公司的团队人员开发了一门语言,团队人员给给这门语言设定了一些基础功能。要推广这门语言话呢,他要请一些大牛加入团队。大牛熟悉语言后修改,并给它加一些相应的工具给他拓展,功能这种拓展出来的功能叫做第三方。如果拓展的功能很强大了,它就能吸引更多的人来使用,吸引的大牛就越来越多,这就叫做社区生态啊。从研发出来再到推广,再到更多的牛人参与进来,对它进行不断的修复完善,那么就变成了一个非常好的良性循环的一个生态。

社区:这个原始的团队和这个新的大牛的圈子共同对这个语言进行维护,这就是社区。

JDK 包含JRE,JRE包含JVM。

jdk:java翻译工具

jre:java运行环境

javac指令 就是调用jdk:将.java文件转化为.class文件(字节码)

java 指令 调用的是jre:将.class文件直接运行

.class文件可以运行于各个操作系统,无论是在哪个操作系统生成的都无所谓

java SE就是java核心基础、java的最基础语法

java EE是网站系统开发

java ME 移动端安卓开发

SDK :调用样例demo(含代码说明)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值