这是我参与「第四届青训营 」笔记创作活动的第10天。
本文对Java整体的学习做出概念性描述,后续会对内容进行一定更新。
Java基础
Java语言
1995年诞生
三大版本1995
JavaSE JavaME Android JavaEE
2006
Hadoop
数据类型
BigDecimal大数精确计算,归属浮点数类型的类型
字符型扩展:
- ASCII
- utf-8
- Unicode
- '\u0000'
- \d 退格
- \t 制表
- 。。。
instanceof
引用类型 变量名 = new 类名1();
变量名 instanceof 类名2;
Step1: 引用类型是否可以强制转换为类名2
可以:Step2;
不可以:编译报错,结束
Step2:类名1 是否为 类名2 的子类或类(本身)
是:true
不是:false
Javadoc文档
@author
@param
@since
@throws
@Version
@return
//生成doc文档的命令:
javadoc -encoding UTF-8 -charset UTF-8 HelloWorld.java
流程控制
注意:jdk7支持String
命令行传参
排序算法 8大算法,得会手写
b站什么 西部。。。
多态、接口
Throwable
Error
- AWT错误 前端界面 现用的很少了
- JVM错误
- StackOverFlow栈溢出
- OutOfMemory内存溢出
常见类
- Random类 生成随机数 UUID
- File类
- 创建
- 查看
- 修改
- 删除
- Data类
- Data
- SimpleDataFormat yyyy.MM.dd HH:mm:ss 底层是SimpleDataFormat,按格式显示再转换
- Calendar(建议使用)
String类
附记
重点:
- HashMap(重点,去找博客学)
- JDK1.7前 数组+链表
- JDK1.8后 hash表 = 红黑树+数组+链表
- clone() 多线程等等
- 常见IO流(前两个重点,但是如果是中文的话一定是字符流)
- 字节流 InputStream OutputStream
- 字符流 Writer Reader
- 节点流
- 处理流
多线程
线程同步
线程通信
线程池
网络编程
GUI(可选)
AWT、Swing
贪吃蛇