一 Java 语言概述
1.1 软件开发介绍
-
软件开发软件,即一系列按照特定顺序组织的计算机数据和指令的集合。软件有系统软件和应用软件之分。
-
人机交互方式
图形化界面 (Graphical User Interface GUI) 这种方式简单直观,使用者易于接受,容易上手操作。 -
命令行方式 (Command Line InterfaceCLI):需要有一个控制台,输入特定的
-
指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。
常用的 DOS 命令
Win+R,一起按下,输入 cmd,可以打开 dos 界面。
dir : 列出当前目录下的文件以及文件夹
md: 创建目录
rd : 删除目录
cd: 进入指定目录
cd… :退回到上一级目录
cd/: 退回到根目录
del : 删除文件
exit : 退出 dos 命令行
补充:echo javase>1.doc
常用快捷键
← →:移动光标
↑↓:调阅历史操作命令
Delete 和 Backspace:删除字符
注意:在输入 dos 命令时,要是用英文输入,所有标点符号都是英文
1.2 计算机编程语言介绍
- 什么是计算机语言
语言:是人与人之间用于沟通的一种方式。
例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。 - 计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种。
如:C ,C++,Java,PHP,Kotlin,Python,Scala 等。 - 第一代语言
机器语言:指令以二进制代码形式存在。 - 第二代语言
汇编语言:使用助记符表示一条机器指令。 - 第三代语言:高级语言
C、Pascal、Fortran 面向过程的语言
C++ 面向过程 / 面向对象
Java 跨平台的纯面向对象的语言
.NET 跨语言的平台
Python、Scala…
1.3 Java语言概述
是 SUN(Stanford University Network,斯坦福大学网络公司 ) 1995 年推出的一门高级编程语言。是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序.可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序(applet)。
语言。后台开发:Java、PHP、Python、Go、Node.js
1.3.1 Java历史
1991 年 Green 项目,开发语言最初命名为 Oak ( 橡树 )
1994 年开发组意识到 Oak 非常适合于互联网
1996 年发布 JDK 1.0,约 8.3 万个网页应用 Java 技术来制作
1997 年发布 JDK 1.1,JavaOne 会议召开,创当时全球同类会议规模之最
1998 年发布 JDK 1.2,同年发布企业平台 J2EE
1999 年 Java 分成 J2SE、J2EE 和 J2ME,JSP/Servlet 技术诞生
2004 年发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为 JDK 5.0
2005 年 J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009 年 Oracle 公司收购 SUN,交易价格 74 亿美元
2011 年发布 JDK 7.0
2014 年发布 JDK 8.0,是继 JDK 5.0 以来变化最大的版本
2017 年发布 JDK 9.0,最大限度实现模块化
2018 年 3 月发布 JDK 10.0,版本号也称为 18.3
2018 年 9 月发布 JDK 11.0,版本号也称为 18.9
2019 年 3 月 20 日 Java SE 12 发布。Java 12 是短期支持版本。
2019 年 9 月 23 日 Java SE 13 发布,此版本中添加了“文本块”,文本块是
一个多行字符串文字,避免对大多数转义序列的需要,以可预测的方式自动
格式化字符串,并在需要时让开发人员控制格式。
1.3.2 Java 技术体系平台
- 1、JavaSE(Java Standard Edition) 标准版:
支持面向桌面级应用(如 Windows 下的应用程序)的 Java 平台,提
供了完整的 Java 核心 API,此版本以前称为 J2SE - 2、JavaEE(Java Enterprise Edition) 企业版:
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中
包含的技术如 :Servlet 、Jsp 等,主要针对于 Web 应用程序开发。版本以前称为 J2EE - 3、Java ME(Java Micro Edition) 小型版:
支持 Java 程序运行在移动终端(手机、PDA)上的平台,对 Java API
有所精简,并加入了针对移动终端的支持,此版本以前称为 J2ME。
1.3.3 Java 主要特性
- Java 语言是易学的。Java 语言的语法与 C 语言和 C++ 语言很接近,
使得大多数程序员很容易学习和使用 Java。 - Java 语言是强制面向对象的。Java 语言提供类、接口和继承等原语,
为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,
并支持类与接口之间的实现机制(关键字为 implements)。 - Java 语言是分布式的。Java 语言支持 Internet 应用的开发,在基本的
Java 应用编程接口中有一个网络应用编程接口(java net),它提供了
用于网络应用编程的类库,包括 URL、URLConnection、Socket、
ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式
应用的重要手段。 - Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集
等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。 - Java 语 言 是 安 全 的。Java 通 常 被 用 在 网 络 环 境 中, 为 此,Java 提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
- Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。
- Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统的解释器中运行。先编译后解释。
- Java 是性能略高的。与那些解释型的高级脚本语言相比,Java 的性能还是较优的。
- Java 语言是原生支持多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。
1.4 Java 程序运行机制及运行过程
- 特点一:面向对象
两个基本概念:类、对象
三大特性:封装、继承、多态 - 特点二:健壮性
吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。 - 特点三:跨平台性
跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。
1.4.1 Java 两种核心机制–Java 虚拟机 (Java VirtalMachine)
JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责
执行指令,管理数据、内存、寄存器。
对于不同的平台,有不同的虚拟机。
只有某平台提供了对应的 java 虚拟机,java 程序才可在此平台运行。
Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
1.4.2 Java 两种核心机制–垃圾收集机制 (Garbage Collection)
不再使用的内存空间应回收——垃圾回收。
在 C/C++ 等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级
线程跟踪存储空间的分配情况。并在 JVM 空闲时,检查并释放那些
可被释放的存储空间。
垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干
预。但Java 程序还会出现内存泄漏和内存溢出问题
1.5 Java 语言的环境搭建
1.5.1 明确什么是 JDK, JRE
JDK(Java Development Kit Java 开发工具包 )
JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。 所以安装了 JDK,就不用在单独安装 JRE 了。其中的开发工具:编译工具 (javac.exe) 打包工具 (jar.exe) 等。
JRE(Java Runtime Environment Java 运行环境 )
包括 Java 虚拟机 (JVM Java Virtual Machine) 和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装JRE 即可。
1.5.2 执行原理
简单而言,使用 JDK 的开发工具完成的 java 程序,
交给 JRE 去运行
JDK = JRE + 开发工具集(例如 Javac 编译工具等)
JRE = JVM + Java SE 标准类库