文章目录
- 1.Java语言概述
- 1.1 Java介绍
- 1.1.1 软件开发概述
- 1.1.2 计算机语言
- 1.1.3 Java 简史
- 1.1.4 Java 技术体系平台
- 1.1.5 Java在各领域的应用
- 1.1.6 Java语言特点
- 1.1.7 Java核心机制一-Java虚拟机
- 1.1.8 Java核心机制二-垃圾回收
- 1.1.9 Java开发工具
- 1.2 Java环境搭建
- 1.2.1 JDK、JRE
- 1.2.2 JDK、JRE、JVM关系
- 1.2.3 命令行查看jdk版本
- 1.2.4 下载并安装JDK
- 1.2.5 配置环境变量path
- 1.3 Java 开发体验-HelloWord
- 1.4 Java中的注释
- 1.4.1 单行注释 多行注释
- 1.4.2 文档注释
- 1.5 Java API文档说明
1.Java语言概述
1.1 Java介绍
1.1.1 软件开发概述
-
软件即数据和指令的集合。有系统软件和应用软件之分。
-
人机交互方式
-
图形化界面 -
Graphical User Interface GUI
-
命令行方式 -
Command Line Interface CLI
-
Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”
-
常用的DOS命令(不区分大小写)
-
dir
: 列出当前目录下的文件以及文件夹**(directory-[dəˈrektəri]-目录)
** -
md
: 创建目录**(made directory)
** -
rd
: 删除目录(remove dirdectory)
rd *.txt
:将当前目录下.txt
文件删除,*
表示未知的 -
cd
: 进入指定目录 -
cd..
: 退回到上一级目录 -
cd\
: 退回到根目录**(cd/一样)
** -
del
: 删除文件**(delete)
** -
exit
: 退出 dos 命令行 -
补充:
echo javase>1.doc
-
1.1.2 计算机语言
机器语言->编译语言->高级语言
1.1.3 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(此后1.6->6.0,1.7->7.0)
-
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(9.0以后用时间来命名)
-
2018年9月,发布JDK 11.0,版本号也称为18.9
1.1.4 Java 技术体系平台
1.1.5 Java在各领域的应用
-
企业级应用
-
Android平台应用
-
大数据平台开发
-
移动领域应用
1.1.6 Java语言特点
特点一:面向对象
-
两个基本概念:类、对象
-
三大特性:封装、继承、多态
特点二:健壮性
- 垃圾回收机制
- 去除C语言指针
特点三:跨平台性
-
跨平台性:
“Write once , Run Anywhere”
(通过JVM实现) -
原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
就像坤坤在南非和北京开演唱会,不同的环境,要搭建不同的平台,而这些不同的平台就像WIn版的JVM,linux版的JVM和Mac的JVM。然后坤坤就能在不同的地域中给爱坤人士开演唱会了
1.1.7 Java核心机制一-Java虚拟机
-
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
-
对于不同的平台,有不同的虚拟机。
-
只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
-
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
- .java源代码编译成.class字节码文件,我们使用JVM中类的加载器和解释器对生成的字节码文件进行解释运行,字节码文件中对应的类就是这时加载到内存中去的。而虚拟机又是在操作系统上运行,操作系统又依赖于计算机硬件
-
在EditPlus中源代码和字节码文件都在同一个文件夹下可以直接观察到
-
在eclipse中,同样也有源代码编译成字节码文件
1.1.8 Java核心机制二-垃圾回收
-
不再使用的内存空间回收—— 垃圾回收。
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
-
垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
-
Java程序还会出现内存泄漏和内存溢出问题吗?Yes!
1.1.9 Java开发工具
文本编辑工具:
-
记事本
-
UltraEdit
-
EditPlus
-
TextPad
-
NotePad
Java集成开发环境(IDE):
-
JBuilder
-
NetBeans
-
Eclipse
-
MyEclipse
-
IntelliJ IDEA
1.2 Java环境搭建
1.2.1 JDK、JRE
-
JDK
(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具:编译工具(javac.exe) 打包工具(jara.exe)等
-
JRE
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
使用JDK的开发工具完成的java程序,交给JRE去运行。
1.2.2 JDK、JRE、JVM关系
-
JDK = JRE + 开发工具集(例如Javac编译工具等)
-
JRE = JVM + Java SE标准类库
Java 8.0 Platform
1.2.3 命令行查看jdk版本
1.2.4 下载并安装JDK
官方网址:www.oracle.com
安装JDK
- 傻瓜式安装,下一步即可。
- 建议:安装路径不要有中文或者空格等特殊符号。(可能不识别!)
- 当提示安装 JRE 时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发工具不报错,建议也根据提示安装JRE。
1.2.5 配置环境变量path
-
在dos命令行中敲入javac,出现错误提示
错误原因:当前执行的程序在当前目录下不存在。windows系统在path的环境变量指定的目录中仍未找到,所以报错。所以配置号环境变量便可以在任何目录下执行java的开发工具。
-
输入执行程序,系统首先会在当前目录下查找,如果没有,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。所以希望在任何目录下都可以执行Java的工具,只需要将Java工具所在路径定义到path环境变量中,让系统帮我们取找运行的程序。
配置方法:
-
我的电脑–属性–高级系统设置–环境变量
-
编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。(应为window本来path就有一些预定义的path值,win11是不用分号的,因为win11是填空的形式)
-
打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。
-
-
电脑安装了多个版本的jdk,使用的是那个版本,全看环境变量中配置的是那个版本。
-
系统在查找环境变量的时候会右上到下逐个路径查找,所以如果在前面的路径中发现了同名的,就不会往下查找了,和我们的预期不符合。所以配置path环境变量最好上移到第一个,这样就不会出问题了
1.3 Java 开发体验-HelloWord
步骤:
- 将 Java 代码编写到扩展名为 .java 的文件中。
- 通过 javac 命令对该 java 文件进行编译。
- 通过 java 命令对生成的 class 文件进行运行。
之前配置的环境变量就是能在任何目录下都可以执行Java的工具,如javac来编译,java运行。
步骤一:编写
选择最简单的编辑器:记事本。敲入代码
//第一个Java程序
public class Test{
public static void main(String[] args) {
System.out.println(“Hello World!”);
}
}
将文件保存成Test.java,这个文件是存放java代码的文件,称为源文件。
注意要显示文件扩展名,这时练好习惯。方法如下
步骤二:编译
有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。在该源文件目录下,通过javac编译工具对Test.java文件进行编译。如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文件,该文件称为字节码文件,也是可以执行的java的程序。
注意编译时用javac时要用扩展名,用java运行时不用扩展名。
步骤三:运行
有了可执行的java程序(Test.class字节码文件)
通过运行工具java.exe对字节码文件进行执行。
出现提示:缺少一个名称为main的方法。
因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入
public static void main(String[] args){ }
对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。
想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World");因为程序进行改动,所以再重新编译,运行即可。
1.4 Java中的注释
1.4.1 单行注释 多行注释
/注释文字/
/*注释文字*/
对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
多行注释里面不允许有多行注释嵌套。
1.4.2 文档注释
格式:
/** @author指定java程序的作者 @version 指定源文件的版本 */
-
注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
-
操作方式:
具体例子:
生成文件夹:
双击结果,对文档的解释:
-
声明为public的类必须和源文件名相同,所以一个源文件中可以有多个类,但是只能由一个public类。
-
Java应用程序的执行入口是main()方法。它有固定的书写格式:
public static void main(String[] args) {...}
-
编译过程:编译过程会生成一个或多个字节码文件,字节码文件名和java源文件中定义的类名时相同的。多少个类就由多少个字节码文件。
1.5 Java API文档说明
-
API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
-
Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
-
下载API:http://www.oracle.com/technetwork/java/javase/downloads/index.html