Java入门
什么是 Java?
Java是一种通用、面向类、面向对象的编程语言,旨在减少实现依赖。它是一个用于应用程序开发的计算平台。Java快速、安全且可靠。因此,它广泛用于笔记本电脑、数据中心、游戏机、科学超级计算机、手机等设备上开发Java应用程序。
什么是Java平台?
Java平台是一组程序,可帮助程序员高效地开发和运行Java编程应用程序。它包含执行引擎、编译器和一组库。它是一套计算机软件和规范。Java平台最初由Sun Microsystems的James Gosling开发,后来被Oracle公司收购。
此视频介绍了Java平台,并解释了为什么Java既是平台又是编程语言。
如果视频无法访问,请点击此处
Java的定义和含义
Java是一种多平台、面向对象、以网络为中心的语言。它是使用最广泛的编程语言之一。Java也用作计算平台。
它被认为是速度快、安全且可靠的编程语言之一,大多数组织都优先选择它来构建项目。
Java用于什么?
以下是一些重要的Java应用程序
- 用于开发Android应用程序
- 帮助您创建企业软件
- 各种移动Java应用程序
- 科学计算应用
- 用于大数据分析
- Java编程硬件设备
- 用于服务器端技术,如Apache、JBoss、GlassFish等。
Java编程语言的历史
以下是Java语言历史上的一些重要里程碑
- Java语言最初名为OAK。
- 最初,它是为处理便携式设备和机顶盒而开发的。Oak是一个巨大的失败。
- 1995年,Sun公司将名称更改为“Java”,并修改了该语言,以利用蓬勃发展的万维网(World Wide Web)开发业务。
- 之后,在2009年,Oracle公司收购了Sun Microsystems,并获得了Sun公司的三个关键软件资产的所有权:Java、MySQL和Solaris。
Java版本
以下是所有Java版本及其发布日期的简要历史。
Java版本 | 发布日期 |
---|---|
JDK Alpha和Beta | 1995 |
JDK 1.0 | 1996年1月23日 |
JDK 1.1 | 1997年2月19日 |
J2SE 1.2 | 1998年12月8日 |
J2SE 1.3 | 2000年5月8日 |
J2SE 1.4 | 2002年2月6日 |
J2SE 5.0 | 2004年9月30日 |
Java SE 6 | 2006年12月11日 |
Java SE 7 | 2011年7月28日 |
Java SE 8 | 2014年3月18日 |
Java SE 9 | 2017年9月21日 |
Java SE 10 | 2018年3月20日 |
JAVA SE 11 | 2018年9月25日 |
JAVA SE 12 | 2019年3月19日 |
JAVA SE 13 | 2019年9月17日 |
JAVA SE 14 | 2020年3月17日 |
JAVA SE 15 | 2020年9月15日(最新Java版本) |
Java的特点
以下是一些重要的Java特点
- 它是最容易学习的编程语言之一。
- 一次编写,可在几乎所有计算平台上运行。
- Java是平台独立的。在一个机器上开发的程序可以在另一台机器上执行。
- 它旨在构建面向对象的应用程序。
- 它是一种多线程语言,具有自动内存管理。
- 它是为Internet的分布式环境而创建的。
- 因为它以网络为中心,所以促进了分布式计算。
Java编程语言的组成部分
Java程序员以一种人类可读的语言——源代码——编写程序。因此,CPU或芯片永远无法理解用任何编程语言编写的源代码。这些计算机或芯片只理解一件事,那就是机器语言或机器代码。这些机器代码在CPU级别运行。因此,对于不同型号的CPU,机器代码也会不同。
然而,您不需要担心机器代码,因为编程就是源代码。机器理解此源代码并将其转换为机器可理解的代码,即可执行代码。
所有这些功能都发生在以下3个Java平台组件内部
Java Development kit (JDK)
JDK是一个用于创建Applet和Java应用程序的软件开发环境。JDK的全称是Java Development Kit。Java开发人员可以在Windows、macOS、Solaris和Linux上使用它。JDK帮助他们编写和运行Java程序。可以在同一台计算机上安装多个JDK版本。
为什么使用JDK?
以下是使用JDK的主要原因
- JDK包含编写Java程序所需的工具,以及用于执行它们的JRE。
- 它包括编译器、Java应用程序启动器、Appletviewer等。
- 编译器将用Java编写的代码转换为字节码。
- Java应用程序启动器打开一个JRE,加载必要的类,并执行其main方法。
Java虚拟机 (JVM)
Java虚拟机 (JVM)是一个提供运行时环境来驱动Java代码或应用程序的引擎。它将Java字节码转换为机器语言。JVM是Java运行环境(JRE)的一部分。在其他编程语言中,编译器为特定系统生成机器代码。然而,Java编译器生成用于称为Java虚拟机的虚拟机的代码。
为什么是JVM?
以下是使用JVM的重要原因
- JVM提供了一种独立于平台的Java源代码执行方式。
- 它拥有大量的库、工具和框架。
- 一旦运行Java程序,就可以在任何平台上运行,节省大量时间。
- JVM附带JIT(即时)编译器,可将Java源代码转换为低级机器语言。因此,它的运行速度比普通应用程序快。
Java Runtime Environment (JRE)
JRE是用于运行其他软件的软件。它包含类库、类加载器和JVM。简单来说,如果您想运行Java程序,您就需要JRE。如果您不是程序员,您不需要安装JDK,只需安装JRE即可运行Java程序。
为什么使用JRE?
以下是使用JRE的主要原因
- JRE包含类库、JVM和其他支持文件。它不包含任何Java开发工具,如调试器、编译器等。
- 它使用了重要的包类,如math、swing、util、lang、awt和运行时库。
- 如果您需要运行Java Applet,则必须在系统中安装JRE。
Java平台的不同类型
Java编程语言有四种不同的平台
1. Java Platform, Standard Edition (Java SE): Java SE的API提供了Java编程语言的核心功能。它定义了从类型和对象到高级类的所有基础。它用于网络、安全、数据库访问、图形用户界面(GUI)开发和XML解析。
2. Java Platform, Enterprise Edition (Java EE): Java EE平台提供了一个API和运行时环境,用于开发和运行高度可扩展、大规模、多层、可靠且安全的网络应用程序。
3. Java Programming Language Platform, Micro Edition (Java ME): Java ME平台提供了一个API和一个小型虚拟机,用于在小型设备(如手机)上运行Java编程语言应用程序。
4. Java FX: JavaFX是一个使用轻量级用户界面API开发富互联网应用程序的平台。它使用硬件加速图形和媒体引擎,帮助Java利用高性能客户端,并提供现代外观和感觉以及用于连接网络数据源的高级API。
要理解Java编程语言,我们需要理解一些基本概念,即计算机程序如何运行命令并执行操作。
什么是PC?
计算机是一种能够进行计算的电子设备。我们都知道它由显示器、键盘、鼠标和存储信息的内存组成。但计算机最重要的组件是处理器。它负责计算机的所有思考,但问题是计算机是如何进行思考的?它如何理解文本、图像、视频等?
什么是汇编语言?
计算机是一种电子设备,它只能理解电子信号或二进制信号。例如,5伏的电子信号可能代表二进制数字1,而0伏可能代表二进制数字0。因此,您的PC不断受到这些信号的轰炸。
将此类信号的八位数组合在一起,即可解释文本、数字和符号。
例如,#符号被计算机识别为10101010。同样,加法功能的模式由10000011表示。
这就是所谓的8位计算。当今的处理器能够解码64位。但这个概念与JAVA编程语言有什么关系?让我们举例说明。
假设您想告诉计算机添加两个数字(1+2),这些数字由某些二进制数字(10000011)表示,您将如何告诉您的计算机?是的,我们将使用汇编语言来执行我们的代码。
“汇编语言是最基本的软件开发语言形式。”
我们将以以下格式向计算机发出命令。在此语言中,您添加两个数字的代码将按此顺序进行。
- 将数字1存储在内存位置A
- 将数字2存储在内存位置B
- 添加位置A和B的内容
- 存储结果
但是我们该如何做到呢?早在20世纪50年代,当计算机非常庞大且耗电量很大时,您将使用映射表将汇编代码转换为相应的机器代码(1和0)。然后,这些代码将被打孔到机器卡上并输入计算机。计算机将读取这些代码并执行程序。这在ASSEMBLER出现之前是一个漫长的过程。
什么是汇编器和编译器?
随着技术的发展,输入/输出设备被发明了。您可以使用ASSEMBLER直接将程序输入PC。它会将其转换为相应的机器代码(110001..)并输入到您的处理器中。回到我们的示例,将(1+2)相加,汇编器会将此代码转换为机器代码并输出。
此外,您还需要调用操作系统提供的函数来显示代码的输出。
但这个过程中不仅仅涉及汇编器;它还需要编译器将长代码编译成一小段代码。随着软件开发语言的发展,所有这些汇编代码可以缩减为一行print f 1+2 A,这个软件叫做COMPILER。它用于将您的C语言代码转换为汇编代码。汇编器将其转换为相应的机器代码。然后,这些机器代码将被传输到处理器。PC或计算机中最常用的处理器是Intel处理器。
尽管如今的编译器已与汇编器捆绑在一起,可以直接将您的更高级语言代码转换为机器代码。
现在,假设Windows操作系统在此Intel处理器上运行,操作系统与处理器的组合称为平台。世界上最常见的平台是Windows,而Intel被称为Wintel平台。其他流行的平台是AMD和Linux、Power PC和Mac OS X。
现在,随着处理器的改变,汇编指令也会改变。例如
- Intel中的Add指令在AMD中可能称为ADDITION
- 或Power PC的Math ADD
并且,随着操作系统的改变,OS级别的调用级别和性质也会改变。
作为开发人员,我希望我的软件程序能在所有平台上工作,以最大化我的收入。因此,我将不得不购买单独的编译器,将我的print f命令转换为本地机器代码。
但是编译器价格昂贵,并且存在兼容性问题。因此,为不同的操作系统和处理器购买和安装单独的编译器是不可行的。那么,有什么替代解决方案呢?Java语言登场了。
Java虚拟机如何工作?
通过使用Java虚拟机,可以解决这个问题。但是它如何在不同的处理器和操作系统上工作呢?让我们一步一步地理解这个过程。
步骤1) 显示两个数字相加的代码是System.out.println(1+2),并将其保存为.java文件。
步骤2) 使用java编译器,代码被转换为称为字节码的中间代码。输出是一个.class文件。
步骤3) 这种代码任何平台都不理解,只有称为Java虚拟机的虚拟平台才理解。
步骤4) 此虚拟机驻留在您操作系统的RAM中。当虚拟机接收到此字节码时,它会识别其正在运行的平台,并将字节码转换为本地机器代码。
在使用PC或浏览网页时,每当您看到其中任何一个图标时,请放心,Java虚拟机已加载到您的RAM中。但是,Java之所以有利可图,是因为一旦编译,代码不仅可以在所有PC平台上运行,还可以在支持Java的手机或其他电子设备上运行。
因此,
“Java既是编程语言,也是平台”
Java如何实现平台独立性?
与C编译器一样,Java编译器不为特定机器生成本地可执行代码。相反,Java生成一种称为字节码的独特格式。它根据虚拟机规范中规定的规则执行。因此,Java是一种平台无关的语言。
字节码可被安装在任何操作系统上的任何JVM理解。简而言之,Java源代码可以在所有操作系统上运行。
摘要
- Java是一种多平台、面向对象、以网络为中心的编程语言。Java是一种通用、面向类、面向对象的编程语言。
- Java平台是一组程序,可帮助程序员高效地开发和运行Java应用程序。
- Java的含义:Java是一种多平台、以网络为中心的编程语言。
- 它主要用于开发Android Apps和企业软件。
- 2009年,Oracle公司收购了Sun Microsystems,并获得了Sun公司的三个关键软件资产的所有权:Java、Solaris和MySQL。
- 最新Java版本于2020年9月15日发布
- Java最好的特点是它是最容易学习的编程语言之一。
- Java编程语言的四种平台是:1) Java Platform, Standard Edition (Java SE) 2) Java Platform, Enterprise Edition (Java EE) 3) Java Platform, Micro Edition (Java ME) 4) JavaFX
- 计算机是一种能够进行计算的电子设备。
- 计算机只能理解电子信号或二进制信号。
- 汇编器是一种先进的技术,可将源代码转换为相应的机器代码(110001..)并输入到您的处理器中。