Java SE (一)
2019-08-16 17:49:41 45 举报
AI智能生成
java se
作者其他创作
大纲/内容
公共语言基础
第一个程序
配置环境变量
java运行机制
程序入口
命名规范
Java特性
Java版本
Java历史
注释
JDK、JRE、JVM
.exe说明
数据类型
基本数据类型
byte
short
int
long
char
float
double
boolean
引用数据类型
类
接口
数组
类型转换
自动转换
强制转型
特例
整型常量进制表示
运算符
赋值运算符
算术运算符
关系运算符
逻辑运算符
位运算符
一元运算符
i++
++i
三目运算符
扩展运算符
字符串连接符
流程控制语句
分支结构
if...else...
switch...case...
循环结构
for循环
foreach循环
while循环
do...while...
数组
一维数组
声明与初始化
操作
赋值
取值
遍历
拷贝
多维数组
二维数组
定义
操作
取值
赋值
N维数组
GOF23种设计模式
创建型模式
单例模式
懒汉式
饿汉式
双重锁鉴定
静态
枚举
工厂模式
优缺点
抽象工厂
优缺点
建造者模式
原型模式
结构型模式
适配器模式
桥接模式
组合模式
装饰器模式
外观模式
享元模式
代理模式
行为型模式
责任链模式
命令模式
解释器模式
迭代器模式
中介者模式
备忘录模式
观察者模式
状态模式
策略模式
模板模式
访问者模式
容器
泛型
Iterator
Collection
List
AbstractList
ArrayList
Vector
LinkedList
Queue
Set
AbstractSet
HashSet
TreeSet
Map
AbstractMap
HashMap
TreeMap
HashTable
ConcurrentHashMap
LinkedHashMap
容器遍历
List容器遍历
for循环
迭代器
foreach循环
利用API:forEach
Set容器遍历
迭代器
foreach循环
Map容器遍历
values()
keySet()
entrySet()
Map容器排序
Collections类
新特性
jdk8
lambda表达式
IO流
分类
按流向分
输入流
输出流
按单位分
字节流
InputStream
FileInputStream
FilterInputStream
BufferedInputStream
DateInputStream
BushbackInputStream
ObjectInputStream
PipedInputStream
SequenceInputStream
StringBufferInputStream
ByteArrayInputStream
OutputStream
FileOutputStream
FilterOutputStrem
BufferedOutputStream
DateOutputStream
PrintOutputStream
ObjectOutputStream
PipedOutputStream
ByteArrayOutputStream
字符流
Reader
BufferedReader
InputStreamReader
FileReader
StringReader
PipedReader
CharArrayReader
FilterReader
PushbackReader
Writer
BufferedWriter
OutputStreamWriter
FileWriter
PrinterWriter
StringWriter
PipedWriter
CharArrayWriter
FilterWriter
按功能分
节点流
装饰流
常用类
File类
mkdir()
mkdirs()
Scanner类
nextInt()
next()
nextLine()
文件的复制
网络编程
基础知识
三次握手
TCP
UDP
Socket
NIO、AIO
NIO
通道Channel
与IO中流的区别
双向
异步
必须通过Buffer对象
类型
FileChannel
DatagramChannel
SocketChannel
ServerSocketChannel
缓冲Buffer
读写数据的步骤
写入数据到 Buffer;
调用 flip() 方法;
从 Buffer 中读取数据;
清空缓冲区
clear()
compact()
类型
ByteBuffer
CharBuffer
DoubleBuffer
FloatBuffer
IntBuffer
LongBuffer
ShortBuffer
选择器Selector
优点
NIO多路复用
通过 Selector.open() 创建一个 Selector,作为类似调度员的角色
创建一个 ServerSocketChannel,并且向 Selector 注册,通过指定 SelectionKey.OP_ACCEPT,告诉调度员,它关注的是新的连接请求。
配置非阻塞模式
Selector 阻塞在 select 操作,当有 Channel 发生接入请求,就会被唤醒。
通过 SocketChannel 和 Buffer 进行数据操作
AIO(NIO2)
增加了四个异步通道
AsynchronousSocketChannel
AsynchronousServerSocketChannel
AsynchronousFileChannel
AsynchronousDatagramChannel
事件处理类CompletionHandler<V,A>
异步操作成功
异步操作失败
概念
同步和异步
同步
异步
阻塞和非阻塞
阻塞
非阻塞
工具使用
git
配置用户信息
配置用户名
配置用户邮箱
查看所有配置
本地仓库
初始化版本库
添加文件到版本库
查看仓库状态
git工作流程
从暂存区回退
查看git提交日志
版本库回退
远程仓库
选择远程仓库
创建SSH KEY
在github上配置ssh key
测试是否连通
建立与远程仓库的联系
将本地代码推送到远程仓库
克隆仓库
分支管理
创建分支
查看分支
切换分支
合并分支
删除分支
敲代码工具
笔记本
NotePad++
集成工具
Intellij IDEA
快捷键
项目创建
project当作一个项目使用
project当做workspace去用
eclipse
面向对象
对象
概念
引用数据类型转型
类级
接口
默认规范
默认类
类
属性
变量
成员变量
局部变量
静态变量
常量
字面常量
符号常量
方法
一般方法
方法重载
方法签名
可变长参数
静态方法
构造方法
代码块
静态代码块
非静态代码块
抽象类
枚举
三大特性
继承
重写
普通方法的重写
重写的限制
子类的构造方法
引用类型的转型
封装
public
protected
默认
private
多态
关键字
static
final
修饰类
修饰方法
修饰属性
修饰数组
this
super
instanceof
import
正常导入
静态导入
return
已经做完,离开此方法;即退出该方法
返回值
transient
assert
assert condition;
这里condition是一个必须为真(true)的表达式。
如果表达式的结果为true,那么断言为真,并且无任何行动
如果表达式为false,则断言失败,则会抛出一个AssertionError对象
asser condition:expr;
常用类
Object类
equals方法
toString方法
hashCode方法
包装类
Byte
Short
Integer
Long
Float
Double
Character
Boolean
包装类的缓冲区
字符串相关类
String
StringBuilder
apped方法
StringBuffer
精度计算
定点数BigDecimal
超大数BigInteger
编译优化
字符串连接符
自动拆箱、装箱
foreach循环
枚举
泛型擦除
注解
@Override
@Deprecated
回调
内部类
成员内部类
静态内部类
局部内部类
匿名内部类
没有类名及前缀修饰符
必须继承一个抽象类或实现一个接口
一次性
路径
绝对路径
相对路径
算法
排序
冒泡排序
选择排序
插入排序
希尔排序
归并排序
快速排序
堆排序
计数排序
桶排序
基数排序
查找
遍历查找
二分查找
递归
阶乘
遍历树
斐波那契数列
数组
逆序数组
求值
动态规划
异常
Throwable
Error
Exception
RuntimeException
ArithmeticException
NullPointerException
ClassCastException
ArrayIndexOutOfBoundsException
NumberFormatException
IllegalArgumentException
IllegalStateException
NoSuchElementException
CheckedException
IOException
解决异常
try catch
try
catch
u-toString ()方法
u-getMessage()方法
u-printStackTrace()方法
finally
return
throws
方法末尾声明异常
重写中的异常声明
throw和throws区别
throw
throws
自定义异常
须继承Throwable类或者其子类
使用异常机制的建议
可视化界面、窗口
Frame界面
设置尺寸
设置居中
关闭输入法
关闭放大窗口
设置窗口监听器
设置键盘监听器
设置刷新率
双缓冲解决闪屏
设置可显示
画笔
类库
长方形、相交判定
多线程
程序、进程、线程
程序
进程
线程
进程和线程的区别
概念
线程安全
非线程安全
并行
并发
实现多线程的三种方式
继承Thread类
实现Runnable接口
通过Callable和Future创建线程
流程
代码
线程状态
新生
就绪
运行
阻塞
死亡
Thread方法
currentThread()方法
isAlive()方法
sleep()方法
getId()方法
中断方法
interrupt()方法
this.interrupted()
this.isInterrupted()
yield()方法
join()方法
停止线程
使用退出标志,使线程正常退出.
使用stop()方法暴力退出,不推荐
使用interrupt()方法中断线程。
异常法停止
在沉睡中停止异常
暂停线程
suspend()方法暂停线程
resume()方法恢复线程的执行
缺点
独占
不同步
线程的优先级
继承性
规则性
随机性
守护线程(daemon)
setdaemon(boolean)方法
线程同步
synchronized关键字
子主题
子主题
volatile关键字
Lock重入锁
常用方法
ReadLock
WriteLock
ReentrantLock
线程通信
借助于Object类的wait()、notify()和notifyAll()实现通信
使用Condition控制线程通信
使用阻塞队列(BlockingQueue)控制线程通信
死锁
死锁产生的必要条件
互斥条件
请求与保持条件
非剥夺条件
循环等待条件
处理死锁的方法
鸵鸟算法
检测死锁并恢复
资源进行动态分配
破除上面的四种死锁条件之一
正则表达式
0 条评论
下一页