Java基础(001)-写在开头
java简介
1.java是什么?
java是一种高级的面向对象的程序设计语言 。2.JVM
Jvm(Java Virtual Machine),是java程序跨平台的关键,不同的平台有不同的JVM,而java字节码不包含任何与平台相关的信息,不直接与平台交互,而是通过JVM间接与平台交互。应用程序在执行时,JVM加载字节码,将字节码解释成特定平台的机器码,让平台执行。任何一个应用程序都必须转化为机器码,才能与计算机进行交互,如果机器码的来源依赖于具体的平台,那么这个应用程序就不能跨平台。而java应用程序运行时机器码由java体系的一部分JVM提供,不受平台的限制,所以实现了跨平台。
3.java程序运行过程
程序员编写的源码经编译器编译转化为字节码,字节码被加载到JVM,由JVM解释成机器码在计算机上运行。
4.java版本
针对不同的用途,java分为3个版本:- Java SE:java的标准版,是其他版本的基础,主要用于开发桌面应用程序。
- Java EE:java的企业版,主要用于开发企业级分布式网络程序。
- Java ME:主要用于嵌入式系统开发。
5.JDK
JDK(Java Develop Kits),使用java语言开发应用程序必备的工具包,主要包含包括了编译器、JVM、Java基础API等。6.JRE
JRE(Java Run Environment),java运行所依赖的环境,包括JVM以及java基础API。7.API
API(Application Programming Interface),应用程序编程接口,是使用java语言编写应用程序的入口,包含源码、字节码帮助文档三部分。应用程序由一系列方法构成,方法有哪些要求?什么样的方法是编程语言接受的?API提供了一些基础的方法,程序员要实现某项功能必须遵循java语言规范,调用这些方法编写更高级的方法。8.java特性
- 简单:java语言是从C++发展起来的,取消了C++中复杂难以掌握的部分,如指针。
- 面向对象:java语言的基础。java将一切问题都看做对象与对象之间的交互,将对象抽象成方法与属性的集合。
- 分布性:包含操作分布性与数据分布性两个方面。操作分布性是指由多个主机共同完成一项功能,数据分布性是分布在多台主机上的数据当做一个完成的整体处理。
- 跨平台:java语言编写的应用程序,不受平台限制,可以由一种平台迁移到另一种平台。
- 解释型:使用java语言编写的源码被转化为字节码,字节码只有被JVM解释成机器码才能被计算机执行。
- 安全性:java语言的底层设计可以有效避免非法操作。
- 健壮性:java提供了许多机制防止运行时出现严重错误,如编译时类型检查、异常处理。
- 多线程:java支持多线程,允许进程内部多个线程同时工作。
Java基础知识学习大纲
第一部分 Java 语言简介
- 1.1. java 的历史渊源及发展前景
- 1.2. java 开发方向:java SE/java ME/java EE
第二章 开发环境搭建
-
2.1. JDK 与 JRE 关联与区别
-
2.2. 开发环境搭建
-
JDK 安装
-
jdk 目录结构
-
path 环境变量
-
classpath 环境变量
编辑器
-
notepad++/Editpuls/UltraEdit:文本编辑器,入门推荐
-
Eclipse:IDE,插件式,通用灵活,中期可用
-
Inteilj Idea:IDE,功能更强大,新宠,java EE 和 java web 开发必备
2.3. 第一个程序:helloWorld.java
第三章 Java 语言基础
3.1. 基本语法
-
关键字
-
标识符
-
变量名:eg.phoneNumber
-
常量名:eg.IP_ADDRESS
-
函数名:eg.getName
-
类名:eg.Person
-
注释
-
单行注释
-
多行注释
-
文档注释
-
常量
3.2. 数据类型
-
基本数据类型:byte/short/int/long/float/double/boolean/char
-
引用类型:类 接口 数组 枚举
-
字符串:String
3.3. 基本语法
-
运算符
-
算数运算符
-
赋值运算符
-
比较运算符
-
逻辑运算符
-
位运算符
-
访问修饰符
-
public(公有)
-
default(默认)
-
protected(保护)
-
private(私有)
-
基本结构语句
-
顺序结构语句
-
选择结构语句
-
if 语句
-
switch 语句
-
循环结构语句
-
while 循环
-
do while 循环
-
for 循环
-
foreach 循环
-
循环控制 break/contunue
-
函数方法
-
方法基础
-
方法定义
-
方法调用
-
参数传递:
-
值传递
-
引用传递
-
变量作用域
-
全局变量
-
局部变量
-
重载方法
-
函数名称相同
-
返回值、参数类型、参数个数不完全相同
-
递归方法:
-
递归调用
-
结束条件
-
数组
-
数组基础
-
数组创建
-
元素访问
-
数组遍历
-
一维数组
-
多维数组(重点:二维数组)
-
异常
-
异常概念
-
异常处理
-
try...catch
-
finally
-
throws
-
异常分类
-
编译时异常
-
运行时异常
-
自定义异常
第四章 Java 面向对象
4.1. 类和对象
-
类的定义
-
类的创建和使用
-
类成员的封装
-
属性
-
方法
4.2. 构造方法
-
构造方法的定义
-
构造方法的重载
-
this 关键字的使用
-
super 关键字的使用
4.3. 内部类
-
成员内部类
-
静态内部类
-
方法内部类
-
匿名内部类
4.4. 继承
-
继承的实现 extends
-
重写父类方法
-
抽象类 abstract class
-
接口 implments
-
抽象类和接口的区别和联系
4.5. 多态
-
多态的实现
-
对象的类型转换
4.6. 关键字
-
final 关键字
-
final 变量
-
final 方法
-
final 类
-
static 关键字
-
静态变量
-
静态方法
-
静态代码块
-
应用:单例模式
第五章 Java 泛型
5.1. 泛型入门
-
编译时不检查类型的异常
-
手动实现编译时检查类型
-
使用泛型
5.2. 深入泛型
-
定义泛型接口、类
-
从泛型类派生子类
-
不存在泛型类
5.3. 类型通配符
-
类型通配符?
-
设定类型通配符的上限
-
设定类型通配符的下限
-
设定类型形参的上限
5.4. 泛型方法
-
定义泛型方法
-
泛型方法和类型通配符的区别
-
泛型方法与方法重载
5.5. 擦除和转换
5.6. 泛型与数组
第六章 - Java 集合类
6.1. 集合的分类
6.2. collection 接口
-
List 接口
-
ArrayList 用法及原理
-
vector 用法及原理
-
LinkedList 用法及原理
-
Set 接口
-
HashSet 用法及原理
-
TreeSet 用法及原理
-
LinkedHashSet 用法
6.3. Map 接口
-
HashMap 用法及原理
-
TreeMap 用法及原理
第七章 Java 输入输出流
7.1. 字节流
-
普通的字节流:InputStream/OutputStream
-
文件字节流:FileInputStream/FileOutputStream
-
带缓冲的字节流:BufferedInputStream/BufferedOutpuStream
7.2. 字符流
-
普通字符流:Reader/Writer
-
文件字符流:FileReadr/FileWriter
-
带缓冲的字符流:BufferedReader/BufferedWriter
-
字节转字符流:InputStreamReader/OutputStreamWriter
7.3. File 类
-
文件的创建、删除和重命名
-
文件夹的创建、重命名、删除
-
文件属性的读取
-
文件属性的设置
-
遍历文件夹
-
文件的简单读写
第八章 Java 多线程
8.1. 进程与线程的基本概念
8.2. 线程的创建
-
继承 Thread 类
-
实现 Runnable 接口
-
两种创建方式的比较
8.3. 线程的声明周期及状态转换
8.4. 线程的调度
-
线程的优先级 setPriority
-
线程的休眠 sleep
-
线程的让步 yeild
-
线程的插队 join
8.5. 线程同步
-
线程安全的概念及问题产生:原子性与可见性
-
同步代码块
-
同步方法
-
死锁问题的产生及解决
8.6. 多线程线程间通信
第九章 Java 常用 API 使用
9.1. 字符串操作
-
String
-
StringBuffer
-
StringBuilder
9.2. 日期操作
-
Date 类
-
Calender 类
-
DataFormat 类
9.3. 系统相关
-
System 类
-
RunTime 类
9.4. 正则表达式
-
创建正则表达式
-
使用正则表达式
9.5. 其它常用类
-
Object 类
-
Math 类
-
Random 类
-
BitgInteger 类
第十章 注解 Annotation
10.1. 基本注解
-
限定重写父类方法(@Override)
-
标识已过时(@Deprecated)
-
抑制编译器警告(@SuppressWarnings)
10.2. 自定义注解
-
注解定义语法
-
通过反射提取注解信息
10.3. 元注解
-
@Retention
-
@Target
-
@Documented
-
@Inherited
第十一章 类加载和反射
11.1. 类加载器
-
类加载的基本机制
-
创建并自定义类加载器
11.2. 通过反射查看类信息
-
获取 Class 对象
-
从 Class 中获取信息
-
使用反射创建并操作对象
-
创建对象
-
调用方法
-
访问属性值
-
操作数组
第十二章 Java 网络编程
12.1. 网络编程基础知识
-
网络协议 TCP/UDP
-
IP 地址和端口号
12.2. UDP 通信
-
服务端 DatagramSocket
-
客户端 DatagramPacket
12.3. TCP 通信
-
服务端 ServerSocket
-
客户端 Socket
第十三章 其他
13.1. 学习查阅 JDK API 文档
13.2. 学习 java 的垃圾回收机制
13.3. 学习 java 多线程并发编程
第十四章 推荐阅读 JDK 源码
-
java.lang.String
-
java.lang.Integer
-
java.lang.Long
-
java.lang.Enum
-
java.math.BigDecimal
-
java.lang.ThreadLocal
-
java.lang.ClassLoader & java.net.URLClassLoader
-
java.util.ArrayList & java.util.LinkedList
-
java.util.HashMap & java.util.LinkedHashMap & java.util.TreeMap
-
java.util.HashSet & java.util.LinkedHashSet & java.util.TreeSet