Java学习-01-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
-
JDK
Java的标准开发包,提供编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境以及常用的Java类库等。
JDK安装目录:
-
JRE
Java运行环境,用于解释执行Java的字节码文件。普通用户只需要安装JRE来运行Java程序,而程序开发者必须安装JDK来编译、调试程序。
JRE的安装目录:
里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
-
JVM
Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。
当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的(Windows、Linux、Mac使用不同的JVM),但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。
-
区别和联系
-
JDK 用于开发,JRE 用于运行Java程序 ;如果只是运行Java程序,可以只安装JRE,无需安装JDK。
-
JDK包含JRE, JRE包含 JVM。
-
JVM是Java编程语言的核心并且具有平台独立性。
-
JDK的卸载和安装
卸载JDK
-
删除Java的安装目录。
-
删除环境变量JAVA_HOME。
-
删除Path下关于Java的目录。
有的人有该C:\Program Files(x86)\Common Files\Oracle\Java\javapath环境变量,有的没有,有的话需要删除,否则卸载不成功。
-
java -version没有用,说明卸载成功。
安装JDK
-
百度搜索jdk8(现在常用的都是jdk8),找到下载地址。
-
下载电脑对应的jdk版本。
-
下载后,点击安装jdk。
-
选择一个安装目录,记住该目录路径。
-
配置环境变量。新建系统变量,变量名为JAVA_HOME,变量值为安装目录。
-
配置Path变量。
-
java -version 运行成功则安装完成。
Java程序运行机制
-
你可以说它是编译型的。因为所有的Java代码都是要编译的,java不经过编译就什么用都没有。
-
你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
-
但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。 像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!
java语言的编译-->解释--->执行过程:
java的虚拟机 :
解释性和编译性语言
定义:
编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!
区别:
编译型语言:执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言:执行速度慢、效率低;依靠解释器、跨平台性好。
补充:
参考课程:遇见狂神说