1.计算机语言
- 1.机器语言: 二进制的
0
和1
组成的编码- 2.汇编语言: 英文标识符组成的编码
- 3.高级语言: 接近自然语言
2.Java技术平台
1.JAVA SE
- 1.
Java Platform Standard Edition
,Java
标准版
1.JDK
- 1.
Java
开发工具集:包括JRE
和命令行开发工具(编译,运行,调试Java
程序所需要的基本工具)
2.JRE
- 1.
Java
运行环境:提供Java
虚拟机和运行Java
应用程序所必需的类库
3.JRE与JDK的区别
- 1.如果只需要在某种操作系统下运行
Java
应用程序,则安装支持该操作系统的JRE
即可- 2.如果不仅要运行
Java
应用程序,还要开发Java
应用程序,则需要安装支持该操作系统的JDK
4.SDK与JDK的区别
- 1.
SDK
:软件开发工具包(soft development kit
),sdk
是一个大的概念,比如开发安卓应用需要安卓开发工具包(android sdk
);开发java
程序需要用到java sdk
,一般使用sdk
这个概念需要在前面加上限定词- 2.
JDK
:Java
开发工具集,包括JRE
和命令行开发工具(编译,运行,调试Java
程序所需要的基本工具)
5.JVM
- 1.运行
Java
字节码的Java
虚拟机,源码先通过编译器编译成二进制字节码文件,然后JVM
把每条要执行的字节码交给Java
解释器翻译成对应的机器码,最后由解释器执行- 2.
JVM
屏蔽了底层操作系统的差异,使Java
程序只需生成在Java
虚拟机上运行的字节码,就可在多种平台上运行,为跨平台提供了支持
6.Java编译器
- 1.将
Java
源文件(.java
)编译成二进制字节码文件(.class
)- 2.
jdk
安装包bin
录下的javac.exe
是Java
编译器
7.Java解释器
- 1.
Java
解释器是JVM
的一部分,Java
解释器用来解释执行Java
编译器编译后的.class
文件- 2.
jdk
安装包bin
录下的java.exe
是Java
解释器
8.注意
- 1.通常一个平台上的
二进制可执行文件
不能在其他平台上工作,因为此可执行文件包含了对目标处理器的机器语言,而.class
文件这种特殊的二进制文件可以运行在任何支持Java
虚拟机的硬件平台和操作系统上
2.JAVA EE
- 1.
Java Platform Enterprise Edition
,Java
企业版
3.JAVA ME
- 1.
Java Platform Micro Edition
,Java
微型版
3.Java语言特点
- 1.简单性
- 1.
Java
使用引用而非指针- 2.
Java
提供自动分配和回收内存空间- 2.健壮性
- 1.
Java
具有的强类型、异常处理、垃圾自动收集等机制- 3.安全性
- 1.
Java
对通过网络下载的类具有一个安全防范机制(类 ClassLoader
)- 2.
Java
提供安全管理机制(类 SecurityManager
)让应用设置安全哨兵- 4.面向对象
- 1.
Java
是一种完全面向对象的编程语言- 2.
Java
支持动态绑定- 5.网络分布式计算
- 1.
Java
是面向网络的编程语言,具有基于网络协议的类库- 2.
Java
应用编程接口中有一个网络应用编程接口(java net
),其提供用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket
等- 6.并发性(多线程)
- 7.平台无关性(可移植性)
4.Java开发工具
- 1.基础开发工具
- 1.
JDK
(Java Development Kit
): 编写Java
程序时,可用文本编辑器编辑Java
源码,然后运用JDK
中的命令编译和运行程序
javac 类名.java //编译 java 包名.类名 //执行
- 2.集成开发环境(
IDE
)
- 1.
Eclipse
- 2.
IntelliJ IDEA
5.JDK下载安装
- 1.官网下载
jdk8.0
及以上Windows
版本- 2.安装并设置安装路径
- 3.
Linux
下载安装参考Linux软件安装
1.配置环境变量
此电脑->计算机->属性->环境变量->系统变量 // 用于指定jdk的安装目录,可以通过%%被引用 新建:JAVA_HOME:jdk的安装路径 // 用于告诉计算机其他可执行文件的位置 Path:%JAVA_HOME%\bin // 注意:更改Java版本时还需要更改系统变量Path中的C:\ProgramData\Oracle\Java\javapath
2.windows中的两种环境变量
1.环境变量不区分大小写(windows中环境变量包括用户变量和系统变量) 2.系统用户变量对所有用户有效,用户变量只对当前用户有效 3.用户变量与系统变量:名称是变量,值是里面的内容,通过变量存储想要的内容,方便调用 4.系统变量和用户变量的PATH:告诉系统可执行文件.exe放在什么路径(可执行程序的路径要放在PATH里,不能新建一个变量,否则cmd会提示不是内部或外部命令,或者不是可执行程序) 5.windows系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应可执行文件,批处理文件等,若当前目录找不到对应文件名的程序,则在系统变量的Path的路径中,依次寻找对应的可执行程序文件(查找顺序是按照路径的录入顺序从左往右寻找的,最前面一条的优先级最高,如果找到程序就停止寻找,后面的路径不再执行) 6.如果系统变量的Path路径找不到,再到用户变量的Path路径中寻找(如果系统变量和用户变量的Path中同时包含了同一个命令,则优先执行系统变量Path中的命令) 7.每次新加了命令以后,要确定保存再重启CMD,否则命令不生效 8.在CMD里要输出环境变量可以通过 echo %变量名% 9.%JAVA_HOME%中%的意思表示JAVA_HOME是定义过的一个环境变量,这里通过%%引用 1.首先打开“运行”输入cmd,再输入“java -version”如果有内容说明你的jdk安装成功 2.java命令可用说明你配置的classpath是正确的,因为java命令可以看作是Java解释器用来执行字节码(.class)文件,而classpath则是用来指定类库(存放.class文件)的位置 3.classpath原配置代码:%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar 4.JDK1.5之前,我们没有办法在当前目录下加载类文件(找不到 JDK目录下lib文件夹中的.jar文件),所以我们需要通过配置classpath在当前目录加载类文件 5.JDK1.5之后,JRE能自动搜索目录下类文件,并且加载dt.jar和tool.jar的类。所以配置Java环境变量时不再需要配置classpath,只需要配置JAVA_HOME以及Path即可 6.使用javac命令出现javac不是内部或外部命令,说明Path配置有问题,先检查下Path路径是否配置正确。如果确定没有问题的话,打开jdk的安装目录,在bin文件夹里查找下是否有javac.exe程序,如果有,说明你的path配置的有问题,如果没有,那说明你下载的jdk不是正规渠道下载的,建议去java官网上重新下载安装 7.dt.jar是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。 8.tools.jar是工具类库,它在编译和运行一个类时被使用 9.当我们配置classpath后,系统会根据我们所配置的classpath加载类 10.例如:在我们使用javac命令编译程序时,系统加载tools.jar其实就封装了下面这样一条命令 javac XXX.java java -classpath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java
6.Java工作原理
- 1.计算机高级语言类型主要有编译型和解释型两种,
java
是两种类型的结合- 2.
Java
中源文件名称的后缀为:.java
- 3.通过编译使
.java
源文件生成后缀为.class
的字节码文件- 4.再由
Java
的JVM
解释执行.class
文件
7.JVM
- 1.JVM(Java Virtual Machine)是Java跨平台的保证
- 2.所有的
.class
文件都在JVM
上运行,不同的操作系统只需安装符合其类型的JVM
,那么程序无论在哪个操作系统都可以正确执行- 3.具体
JVM
内容参考JVM文章
8.安装类库源代码
- 1.
Java
类库源文件在JDK
中以压缩文件src.zip
的形式发布,将其解压缩后才能够访问源代码,src.zip
中包含了所有公共类库的源代码- 2.步骤
- 1.确保
JDK
已安装,并且jdk/bin
目录在执行目录中- 2.进入
JDK
目录并建立一个子目录src
- 3.在
src
目录下的cmd
中执行解压缩命令:jar xvf . ./src.zip
9.通过命令行编译并运行Java程序
- 1.打开一个
cmd
窗口,进入到Java
程序所在目录- 2.然后输入下列命令
- 1.
javac 程序名.java
- 2.
java 程序名
- 3.带包编译
- 1.
javac -d . 源文件.java
- 2.
java 包名.类名
10.注意事项
- 1.Java严格区分大小写