Skip to content

Commit d4923eb

Browse files
committed
updates
1 parent a986fac commit d4923eb

12 files changed

Lines changed: 96 additions & 0 deletions

第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目录
22 KB
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

0 commit comments

Comments
 (0)