JAVA语言介绍 开发工具 (JVM、JRE、JDK的区别)与环境搭建

从即日正式学JAVA,为了巩固当日的学习和便于课后的复习,打算结合着老师课堂的笔记和自身的理解,记录下每天的学习内容。第一天主要学习了JAVA的起源简介,开发工具的介绍和环境的搭建。Day01

Java语言介绍

起源

Java语言于1995年,由隶属于Sun公司(现已被Oracle公司收购)的詹姆斯-高斯林以Oak语言为雏形设计而成。

Java的命名源自于印度尼西亚爪哇岛上的一种美味咖啡,故其Logo也形似于咖啡。

版本

Oracle公司每半年左右会更新一次Java版本。

从最早的版本Jdk1.0 – 如今最新的版本Java14 ,其中Java8(有较大改动:lambda表达式,函数式接口,StreamAPI)是目前最常用的版本。

语言特点

  • 简单性:Java没有C++中的多继承、指针等
  • 面向对象
  • 跨平台性:编译之后的java文件(.class)可以在不同的操作系统上运行
  • 编译性:写好的java 文件不能直接运行,java文件是以.java为后缀的文件,需要编译为.class文件
  • 动态性:反射 在程序运行过程中,java语言不是写死的,适应于变化的环境
  • 多线程性:可以同时执行多个程序,带来较好的交互响应和实时行为,Java是第一个支持并发的主流语言
  • 安全性:Java的存储分配模型是它防御恶意代码的主要方法之一,没有指针避免了非法内存操作
  • 高性能性:Java是一种先编译后解释的语言,但可以在运行时直接将目标代码翻译成机器指令,实现全编译
  • 稳健性:Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能,检测许多在其他语言中仅在运行时才能检测出来的问题
  • 结构中立:编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行系统,这些编译后的代码可以在许多处理器上运行,编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。这些字节码可以很容易地在任何机器上解释执行(字节码实现了结构中立,与计算机结构无关)
跨平台性

实现原理:Java程序是通过Java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。

而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。

注意:跨平台的是Java程序,不是JVM。

JVM、JRE、JDK

JVM(Java Virtual Machine),即java虚拟机,它主要有一个功能就是将编译好的class文件进行解释执行,因为class文件不能由操作系统直接执行,需要有jvm解释方可执行。相当于语言运行的容器。

JRE(Java Runtime Environment,Java运行环境)是指java运行时环境,class文件在运行时需要调用各种java的类库,即jvm要想运行class文件必须要依赖jre中的lib库,即JRE = JVM + 类库

JDK即java开发工具包。

JEasyOPC java开发_JEasyOPC java开发

我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM


开发工具

理论上只要能编辑文本文件的编辑器如记事本等都可以作为编辑工具,但缺乏效率一般会选用一些功能较强的记事本的工具 例如 :Notepad++ EditPlus

而实际项目开发时,更多的还是选用集成 IDE 做为开发工具,比如当下最流行的两款工具:Eclipse、IDEA。


环境搭建

jdk下载

Oracle官网下载 :https://www.oracle.com/java/technologies/javase-downloads.html

JEasyOPC java开发_JEasyOPC java开发_02


JEasyOPC java开发_Java_03


选择匹配自己系统的版本,下载完成后傻瓜式安装,一路无脑点击下一步即可

注意:不要安装到C盘 不要有中文,空格,特殊符号等

验证是否安装成功

找到jdk的安装目录,进入bin目录

在空白处按shift+鼠标遇见,点击在此处打开命令窗口,输入java -version

JEasyOPC java开发_JEasyOPC java开发_04

path环境变量配置

配置环境变量的目的:

在任意的目录下,都可以直接使用配置了的目录执行程序

步骤:右键电脑属性 — 高级系统设置 — 环境变量 — path —在变量值的最前或最后+java bin 的路径地址 前后需要用;分号隔开

JEasyOPC java开发_JEasyOPC java开发_05