初始Java(一篇带你走进Java的世界)

走进Java的世界

  • 初始Java
    • Java体系
    • Java的特征和优势
  • Java核心机制
    • 垃圾收集机制
    • 跨平台机制
  • Java环境的准备
    • 下载JDK
    • 配置环境变量
  • 第一段Java程序(HelloWorld)
  • Java API
  • JDK、JRE、JVM的区别(重点)

初始Java

Java体系

Java SE (Java Standard Edition) : 标准版,定位在个人计算机上的应用

这个版本是Java平台的核心,他提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口AWTSwing,网络功能与国际化,图像处理能力以及输入输出支持等。在上个世纪90年代末互联网上大放异彩。Applet后来为Flash取代,Flash即将被HTML5取代。

JavaEE (Java Enterprise Edition) : 企业版,定位在服务器端的应用

JavaEE是JavaSE的扩展,增加了用于对于服务器开发的类库,如:JDBC是让程序员能在Java内使用的SQL的语法来访问数据库内的数据;Servlet能够延申服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将Java程序代码内嵌在网页的技术。

JavaME (Java Micro Edition) : 微型版,定位在消费性电子产品的应用上

JavaME是JavaSE的内伸,包括J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库:javax.microedition.io.*等。该版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。
初始Java(一篇带你走进Java的世界)_第1张图片

Java的特征和优势

  • 跨平台/可移植性
  • 安全性
  • 面向对象
  • 简单性
  • 高性能
  • 分布式
  • 多线程
  • 健壮性

Java核心机制

垃圾收集机制

垃圾收集机制的目的是去除不在使用的对象,当对象建立的时候垃圾收集,就开始监控对象动态情况,垃圾收集主要是对内存的释放,即程序员不需要去关心内存动态分配和垃圾回收的问题,一切都交给JVM(java虚拟机)来处理。

  • 不再使用的内存空间应回收–>垃圾收集;
  • Java消除了程序员回收无用内存空间的职责;提供一种系统级线程跟踪存储空间的分配情况。在JVM的空闲时,检查并释放可被释放的存储器空间;相比c++,开发人员负责要自己收回无用内存。
  • 垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预;
  • GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄露。

跨平台机制

Java跨平台机制实现了:一次编译,到处运行。

(与C语言的跨平台区别在于:C语言是多次编译多次运行,而这里所指的是指编译后的文件跨平台)

Java跨平台原理:

  • 编译:通过编译器将.java文件(源文件)编译成.class字节码文件(二进制文件),编译器即javac.exe,实际上也是运行其背后的代码。

  • 解释(执行):通过解释器将.class文件转换为对应的操作系统可以识别的执行文件格式。

初始Java(一篇带你走进Java的世界)_第2张图片

Java环境的准备

下载JDK

  • 下载JDK
    官网:www.oracle.com/technetwork/java/javase/downloads/index.html
  • 安装JDK
    安装步骤这里就不详细演示,可以自行搜索安装步骤

配置环境变量

  • 找到JDK安装路径
    初始Java(一篇带你走进Java的世界)_第3张图片
  • 进入到jdk\bin目录下,复制该路径
    初始Java(一篇带你走进Java的世界)_第4张图片
  • 将复制的路径添加到系统环境变量中
    初始Java(一篇带你走进Java的世界)_第5张图片
  • 验证
    win+R 输入cmd 打开命名提示行,输入Java -version查看 :
    初始Java(一篇带你走进Java的世界)_第6张图片

第一段Java程序(HelloWorld)

当我们准备好java环境后,我们就可以写我们第一个程序(HelloWorle)了。

  • 1.在E://新建一个HelloWorld.java文件
    在这里插入图片描述
  • 2.用记事本打开,编写程序代码并保存
    注意,文件名要和class后面的类名要保持一致
public class HelloWorld{
        public static void main(String[] args){
                System.out.println("Hello world");
        }
}
  • 3.win+r打开命令提示符,输入cmd
    初始Java(一篇带你走进Java的世界)_第7张图片
  • 4.进入文件所在的位置(这里我的HelloWorld.java在E盘的根目录下)
    初始Java(一篇带你走进Java的世界)_第8张图片
  • 5.输入命令javac HelloWorld.java,成功编译,这时就会生成.class文件。
    在这里插入图片描述
  • 6.进行解释翻译执行–>执行成功
    初始Java(一篇带你走进Java的世界)_第9张图片
    这样,我们Hello World就出来了,第一段java程序就完成了!!!

Java API

API (应用程序编程接口)

  • JDK帮助文档
  • SUN公司为JDK工具包提供了一整套文档资料,我们习惯上称之为JDK文档。
  • JDK文档中提供了Java中的各种技术的详细资料,以及JDK中提供的各种类的帮助说明。
  • JDk文档是Java语言的完整说明,大多数书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料
  • 如何理解API:就当做是一个“字典”,“使用手册”,API就相当于是一个电子的帮助文档,可以帮我们查看JDK提供的类的信息,平时查看的时候可结合百度一起看。

就是一个电子文档而已,帮助我们查看JAVA中涉及到的一些技能点:
初始Java(一篇带你走进Java的世界)_第10张图片

JDK、JRE、JVM的区别(重点)

JDK、JRE、JVM的关系
初始Java(一篇带你走进Java的世界)_第11张图片

  • JDK(Java Development Kit)–> ava开发工具包

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

  • JRE(Java Runtime Enviroment)–> Java的运行环境

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

光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

  • JVM(Java Virtual Machine)–> Java虚拟机

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

当使用Java编译器编译Java程序时,生成的是与平台无关的字节码文件,这些字节码只面向JVM。不同平台的JVM都是不同的,当他们都提供了相同的接口。

JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该虚拟机下运行。


JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库(lib)。
JDK:JRE+Java的开发工具。

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

你可能感兴趣的:(Java基础,java,java-ee)