Skip to content

Commit d4923eb

Browse files
committed
updates
1 parent a986fac commit d4923eb

12 files changed

+96
-0
lines changed

第1章 Java开发入门/Java概述.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
---
2+
typora-copy-images-to: img
3+
---
4+
15
# 1. 计算机基础知识
26

37
## 1.1 计算机
@@ -125,6 +129,20 @@
125129

126130
# 2. Java语言概述
127131

132+
在揭开Java语言的神秘面纱之前,先来认识一下什么是计算机语言。
133+
134+
计算机语言(Computer Language)是人与计算机之间通信的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,程序员可以通过这些指令来指挥计算机进行各种工作。计算机语言的种类非常多,总的来说可以分成机器语言、汇编语言、高级语言三大类。计算机所能识别的语言只有机器语言,但通常人们编程时,不采用机器语言,这是因为机器语言都是由二进制的0和1组成的编码,不便于记忆和识别。目前通用的编程语言是汇编语言和高级语言,汇编语言采用了英文缩写的标识符,容易识别和记忆;而高级语言采用接近于人类的自然语言进行编程,进一步简化了程序编写的过程,所以,高级语言目前是绝大多数编程者的选择。
135+
136+
Java是一种高级计算机语言,它是由SUN公司(已被Oracle公司收购)于1995年5月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。Java语言简单易用、安全可靠、主要面向Internet编程,自问世以来,与之相关的技术和应用发展得非常快。在计算机、移动电话、家用电器等领域中,Java技术无处不在。
137+
138+
为了使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发,SUN公司将Java划分为三个技术平台,它们分别是JavaSE、JavaEE和JavaME。
139+
140+
Java SE(Java Platform Standard Edition)标准版,是为开发普通桌面和商务应用程序提供的解决方案。JavaSE是三个平台中最核心的部分,JavaEE和JavaME都是从JavaSE的基础上发展而来的,JavaSE平台中包括了Java最核心的类库,如集合、IO、数据库连接以及网络编程等。
141+
142+
Java EE(Java Platform Enterprise Edition) 企业版,是为开发企业级应用程序提供的解决方案。JavaEE可以被看作一个技术平台,该平台用于开发、装配以及部署企业级应用程序,其中主要包括Servlet、JSP 、JavaBean 、JDBC、EJB、Web Service等技术。
143+
144+
Java ME(Java Platform Micro Edition) 小型版,是为开发电子消费产品和嵌入式设备提供的解决方案。JavaME主要用于小型数字电子设备上软件程序的开发。例如,为家用电器增加智能化控制和联网功能,为手机增加新的游戏和通讯录管理功能。此外,Java ME提供了HTTP等高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,提供最高效率的无线交流。
145+
128146
## 2.1 Java语言发展史
129147

130148
Java之父-- 詹姆斯·高斯林(James Gosling)
@@ -149,14 +167,30 @@ Java之父-- 詹姆斯·高斯林(James Gosling)
149167

150168
## 2.3 Java语言特点
151169

170+
Java语言是一门优秀的编程语言,它之所以应用广泛,受到大众的欢迎,是因为它有众多突出的特点,其中最主要的特点有以下几个。
171+
152172
- 简单性:解释性
173+
174+
Java语言是一种相对简单的编程语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java丢弃了C++中很难理解的运算符重载、多重继承等模糊概念。特别是Java语言不使用指针,而是使用引用,并提供了自动的垃圾回收机制,使程序员不必为内存管理而担忧。
175+
153176
- 面向对象:高性能
177+
178+
Java语言提供了类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面向对象程序设计语言。
179+
154180
- 分布式处理:多线程
181+
182+
Java语言是支持多线程的。所谓多线程可以简单理解为程序中有多个任务可以并发执行,这样可以在很大程度上提高程序的执行效率。
183+
155184
- 健壮性:动态
156185
- 结构中立:安全性
186+
187+
Java语言不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,从而使应用更安全。
188+
157189
- 开源
158190
- 跨平台
159191

192+
Java语言编写的程序可以运行在各种平台之上,也就是说同一段程序既可以在Windows操作系统上运行,也可以在Linux操作系统上运行。
193+
160194
## 2.4 跨平台性
161195

162196
- 什么是跨平台性?
@@ -175,6 +209,14 @@ PS:Java语言是跨平台的,而JVM不是跨平台的。
175209

176210
## 2.5 JDK与JRE
177211

212+
SUN公司提供了一套Java开发环境,简称JDK(Java Development Kit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。
213+
214+
为了满足用户日新月异的需求,JDK的版本也在不断地升级。在1995年,Java诞生之初就提供了最早的版本JDK1.0,随后相继推出了JDK1.1、JDK1.2、JDK1.3、JDK1.4、JDK5.0、JDK6.0、JDK7.0、JDK8.0
215+
216+
SUN公司除了提供JDK,还提供了一种JRE(Java Runtime Environment)工具,它是Java运行环境,是提供给普通用户使用的。由于用户只需要运行事先编写好的程序,不需要自己动手编写程序,因此JRE工具中只包含Java运行工具,不包含Java编译工具。值得一提的是,为了方便使用,SUN公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可,不需要专门安装JRE工具了。
217+
218+
Oracle公司提供了多种操作系统的JDK,每种操作系统的JDK在使用上基本类似,初学者可以根据自己使用的操作系统,从Oracle官方网站下载相应的JDK安装文件。
219+
178220
![](img/jdk4.png)
179221

180222
# 3. JDK的下载,安装
@@ -199,6 +241,20 @@ JDK的下载步骤图3
199241
建议:安装路径不要有中文或者特殊符号如空格等。最好目录统一。
200242
当提示安装JRE时,可以选择不安装。
201243

244+
为了更好地学习JDK,初学者必须要对JDK安装目录下各个子目录的意义和作用有所了解,接下来分别对JDK安装目录下的子目录进行介绍。
245+
246+
- bin目录:该目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。
247+
- db目录:db目录是一个小型的数据库。从JDK 6.0开始,Java中引入了一个新的成员JavaDB,这是一个纯 Java 实现、开源的数据库管理系统。这个数据库不仅很轻便,而且支持JDBC 4.0所有的规范,在学习JDBC时,不再需要额外地安装一个数据库软件,选择直接使用JavaDB即可。
248+
- jre目录:“jre”是Java Runtime Environment的缩写,意为Java程序运行时环境。此目录是Java运行时环境的根目录,它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
249+
- include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
250+
- lib目录:lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。
251+
- src.zip文件:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
252+
253+
值得一提的是,在JDK的bin目录下放着很多可执行程序,其中最重要的就是javac.exe和java.exe,分别如下:
254+
255+
- javac.exe是Java编译器工具,它可以将编写好的Java文件编译成Java字节码文件(可执行的Java程序)。Java源文件的扩展名为.java,如“HelloWorld.java”。编译后生成对应的Java字节码文件,文件的扩展名为.class,如“HelloWorld.class”。
256+
- java.exe是Java运行工具,它会启动一个Java虚拟机(JVM)进程,Java虚拟机相当于一个虚拟的操作系统,它专门负责运行由Java编译器生成的字节码文件(.class文件)。
257+
202258
# 4. HelloWorld案例
203259

204260
## 4.1 开发工具介绍
@@ -271,6 +327,46 @@ public static void main(String [] args){
271327

272328
# 5. 环境变量的配置
273329

330+
在计算机操作系统中可以定义一系列变量,这些变量可供操作系统上所有的应用程序使用,被称作系统环境变量。在学习Java的过程中,需要涉及两个系统环境变量path和classpath
331+
332+
path环境变量是系统环境变量中的一种,它用于保存一系列的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下寻找这个文件,如果仍未找到,系统会报错。例如,在命令行窗口输入“javac”命令,并按下回车,会看到错误提示。如下图所示:
333+
334+
![1500701808153](img/1500701808153.png)
335+
336+
从上图的错误提示可以看出系统没有找到javac命令。在命令行窗口输入“set path”命令,可以查看当前系统的path环境变量,如下图所示:
337+
338+
![1500701831703](img/1500701831703.png)
339+
340+
从上图中列出的path环境变量可以看出,其中并没有包含“javac”命令所在的目录,因此操作系统找不到该命令。为了解决这个问题,需要在命令行窗口输入一行命令,将“javac”命令所在的目录添加至path环境变量。命令如下所示:
341+
342+
```
343+
set path=%path%;C:\Program Files\Java\jdk1.7.0_60\bin;
344+
```
345+
346+
其中,“%path%”表示引用原有的path环境变量,“C:\Program Files\Java\jdk1.7.0_60\bin” 表示javac命令所在的目录。整行命令的作用就是在原有的path环境变量值中添加javac命令所在的目录。
347+
348+
再次输入“set path”命令查看path环境变量,结果如下图所示:
349+
350+
![1500701903102](img/1500701903102.png)
351+
352+
设置完path环境变量后,再次运行“javac”命令,找不到javac.exe命令的错误情况就不会再出现了,命令行中会显示“javac”命令的帮助信息,如下图所示:
353+
354+
![1500701931483](img/1500701931483.png)
355+
356+
由于“java”命令和“javac”命令位于同一个目录中,因此在配置完path环境变量后,同样可以在任意的路径下执行“java”命令。
357+
358+
重新打开一个新的命令行窗口,再次运行javac命令,又会出现找不到javac.exe命令错误,使用“set path”命令查看环境变量,会发现之前的设置无效了。出现这种现象的原因在于,在命令窗口中,对环境变量进行任何修改只对当前窗口有效,一旦关闭窗口,所有的设置都会失效。因此,要想让环境变量永久生效,就需要在系统中对环境变量进行配置。让Windows系统永久性地记住所配置的环境变量。配置系统环境变量步骤如下:
359+
360+
1、查看Windows系统属性中的环境变量
361+
362+
右键单击桌面上的【计算机】,从下拉菜单中选择【属性】,在出现的【系统】窗口中选择左边的【高级系统设置】选项,然后在【高级】窗口中单击【环境变量】按钮,打开【环境变量】窗口,如下图所示:
363+
364+
![1500702002217](img/1500702002217.png)
365+
366+
2、设置path系统环境变量
367+
368+
369+
274370
## 5.1 path环境变量配置的作用
275371

276372
- 程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下时候,因此程序只能写入bin目录
Loading
29.5 KB
Loading
139 KB
Loading
31.4 KB
Loading
67.6 KB
Loading
14.3 KB
Loading
14.8 KB
Loading
145 KB
Loading
20.5 KB
Loading
22.5 KB
Loading
18.7 KB
Loading

0 commit comments

Comments
 (0)