Java学习-01-Java入门

Java入门

内容概要:

1. Java特性和优势

2. Java三大版本

3. JDK、JRE、JVM

4. JDK的卸载和安装

5. Java程序运行机制

Java特性和优势

  • 简单性:没有头文件、没有指针运算、不用分配内存,而且语法基于C,学习起来比较简单。

  • 面向对象:万物皆对象,对象符合人的思考方式。

  • 可移植性:跨平台性。写一次到处运行。

  • 高性能:即时编译。

  • 分布式:网络分布式。

  • 动态性:反射机制。

  • 多线程

  • 安全性

  • 健壮性:没有指针和内存管理,有异常机制,java程序基本不会崩溃。

核心优势:跨平台、可移植性 Write Once、Run Anywhere

思考:Java为什么能够成功!!! 机遇+实力

Java三大版本

  • JavaSE:标准版(桌面程序,控制台开发......)

  • JavaME:嵌入式开发(手机、小家电......) 几乎没人学,已淘汰

  • JavaEE:企业级开发(web端,服务器开发......)

JDK、JRE、JVM

JDK:Java Development Kit

JRE:Java Runtime Environment

JVM:Java Virtual Machine

  1. JDK

    Java的标准开发包,提供编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境以及常用的Java类库等。

    JDK安装目录:

  2. JRE

    Java运行环境,用于解释执行Java的字节码文件。普通用户只需要安装JRE来运行Java程序,而程序开发者必须安装JDK来编译、调试程序。

    JRE的安装目录:

    里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

  3. JVM

    Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。

    当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的(Windows、Linux、Mac使用不同的JVM),但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。

  1. 区别和联系

    • JDK 用于开发,JRE 用于运行Java程序 ;如果只是运行Java程序,可以只安装JRE,无需安装JDK。

    • JDK包含JRE, JRE包含 JVM。

    • JVM是Java编程语言的核心并且具有平台独立性。

JDK的卸载和安装

卸载JDK

  1. 删除Java的安装目录。

  2. 删除环境变量JAVA_HOME。

  3. 删除Path下关于Java的目录。

     

     

     有的人有该C:\Program Files(x86)\Common Files\Oracle\Java\javapath环境变量,有的没有,有的话需要删除,否则卸载不成功。

  4. java -version没有用,说明卸载成功。

安装JDK

  1. 百度搜索jdk8(现在常用的都是jdk8),找到下载地址。

  2. 下载电脑对应的jdk版本。

  3. 下载后,点击安装jdk。

  4. 选择一个安装目录,记住该目录路径

  5. 配置环境变量。新建系统变量,变量名为JAVA_HOME,变量值为安装目录。

  6. 配置Path变量。

  7. java -version 运行成功则安装完成。

Java程序运行机制

  1. 你可以说它是编译型的。因为所有的Java代码都是要编译的,java不经过编译就什么用都没有。

  2. 你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。

  3. 但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。 像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!

java语言的编译-->解释--->执行过程:

java的虚拟机 :

解释性和编译性语言

定义:

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

区别:

编译型语言:执行速度快、效率高;依靠编译器、跨平台性差些。

解释型语言:执行速度慢、效率低;依靠解释器、跨平台性好。

 

补充:

 

参考课程:遇见狂神说

posted @ 2021-06-29 20:07  deyang  阅读(30)  评论(0编辑  收藏  举报