1
+ ---
2
+ typora-copy-images-to : img
3
+ ---
4
+
1
5
# 1. 计算机基础知识
2
6
3
7
## 1.1 计算机
125
129
126
130
# 2. Java语言概述
127
131
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
+
128
146
## 2.1 Java语言发展史
129
147
130
148
Java之父-- 詹姆斯·高斯林(James Gosling)
@@ -149,14 +167,30 @@ Java之父-- 詹姆斯·高斯林(James Gosling)
149
167
150
168
## 2.3 Java语言特点
151
169
170
+ Java语言是一门优秀的编程语言,它之所以应用广泛,受到大众的欢迎,是因为它有众多突出的特点,其中最主要的特点有以下几个。
171
+
152
172
- 简单性:解释性
173
+
174
+ Java语言是一种相对简单的编程语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java丢弃了C++中很难理解的运算符重载、多重继承等模糊概念。特别是Java语言不使用指针,而是使用引用,并提供了自动的垃圾回收机制,使程序员不必为内存管理而担忧。
175
+
153
176
- 面向对象:高性能
177
+
178
+ Java语言提供了类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面向对象程序设计语言。
179
+
154
180
- 分布式处理:多线程
181
+
182
+ Java语言是支持多线程的。所谓多线程可以简单理解为程序中有多个任务可以并发执行,这样可以在很大程度上提高程序的执行效率。
183
+
155
184
- 健壮性:动态
156
185
- 结构中立:安全性
186
+
187
+ Java语言不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,从而使应用更安全。
188
+
157
189
- 开源
158
190
- 跨平台
159
191
192
+ Java语言编写的程序可以运行在各种平台之上,也就是说同一段程序既可以在Windows操作系统上运行,也可以在Linux操作系统上运行。
193
+
160
194
## 2.4 跨平台性
161
195
162
196
- 什么是跨平台性?
@@ -175,6 +209,14 @@ PS:Java语言是跨平台的,而JVM不是跨平台的。
175
209
176
210
## 2.5 JDK与JRE
177
211
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
+
178
220
![ ] ( img/jdk4.png )
179
221
180
222
# 3. JDK的下载,安装
@@ -199,6 +241,20 @@ JDK的下载步骤图3
199
241
建议:安装路径不要有中文或者特殊符号如空格等。最好目录统一。
200
242
当提示安装JRE时,可以选择不安装。
201
243
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
+
202
258
# 4. HelloWorld案例
203
259
204
260
## 4.1 开发工具介绍
@@ -271,6 +327,46 @@ public static void main(String [] args){
271
327
272
328
# 5. 环境变量的配置
273
329
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
+
274
370
## 5.1 path环境变量配置的作用
275
371
276
372
- 程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下时候,因此程序只能写入bin目录
0 commit comments