Java SE
2021-02-08 18:07:28 0 举报
AI智能生成
学习、仿制编写
作者其他创作
大纲/内容
Java语言初识
我能不能学这个语言?
注册微博:27+
MarkDown语法
简单的DOS命令
计算机语言的发展
Java的诞生
1995
Java SE
Java EE
Java ME
Android
2006
JDK
开发者工具包
配置环境变量
JRE
运行环境
HelloWorld
public class HelloWord{...}
javac HelloWord.java
生成class
java HelloWord
编译型
解释型
IDEA
基础语法
注释
行内注释
//
多行注释
/* */
文档注释
/** */
标识符
关键字
数据类型
基本数据类型
整数
byte
1
short
2
int(默认)
4
long
8
浮点数
float
4
double(默认)
8
BigDeclmal
字符
char
2
常用编码
ASCII
UTF-8
Unicode
GBK
常用转义字符
\b
退格
\t
制表符
\n
换行
\r
回车
\\
反斜杠
布尔值
boolean
1位
if(a)
引用数据类型
类
接口
数组
类型转换
自动类型转换
低转高
强制类型转换
高转低
(低)高
变量与常量
type varName [=value]
作用域
类变量
实例变量
局部变量
常量
final MAX_A = 10
命名规范
见名知意
驼峰命名(变量+方法)
类:首字母大写,驼峰命名
常量:大写+下划线
少用拼音
运算符
算数运算符
+ - * / % ++ --
赋值运算符
=
关系运算符
> < >= <= == !=
逻辑运算符
&& || !
位运算符
& | ^ ~ >> << >>>
条件运算符
? :
扩展运算符
+= -= *= /=
包机制
域名倒写
防止命名冲突
package
import
javadoc
JDK帮助文档
javadoc
@author
@Version
@Since
@param
@return
@throws
流程控制
Scanner
用户交互system
顺序结构
程序默认结构,自上往下执行
分支选择结构
单分支结构
if()
多分支结构
if()...else if ...else finally
switch
jdk7支持String类型
case 穿透现象
break
default’
循环结构
while
do...while
for
for(int i=0;i<100;i++){}
增强for循环
九九乘法表
break和continue
break跳出循环
continue 跳出当次循环
带标签的continue
return结束方法
方法
什么是方法
方法的定义
修饰符 返回值类型 方法名(参数类型 参数名){return 返回值}
方法调用
类名.方法名
对象.方法名
方法重载
方法名相同,参数列表不同
命令行传参
main方法传参
可变长参数
放在最后一个
递归
自己调用自己、出口
面试常问
数组
数组的定义
new int[5]
{1,2,3,4,5}
必须同一类型
数组的使用
通过下标拿到值
ArrayindexofBounds
增强for循环
二维数组
int[][5]
Arrays工具类
排序算法
冒泡排序
选择排序
插入排序
快速排序
归并排序
希尔排序
堆排序
基数排序
面向对象
什么是面向对象
类与对象
类是对象的模板class
对象是类的具体
构造方法
与类名相同的fangfa
构造方法的重载
默认的无参构造
如果手动定义了构造方法,必须再加上无参构造
单例模式,需要构造方法私有化
new 对象
栈存放引用
堆存放具体的对象
封装
属性私有化、get、set方法
继承
extends
Object
子类拥有父类的全部特性
方法的重写
this
super
java类是单继承,只能继承一个父类
多态
父类的引用指向子类的对象
Person person = new Student
instanceof关键字,如果匹配,可以进行类型之类的转换
修饰符
public
protected
private
static
final
abstract
接口
interface
约束、只能定义方法名
子类实现接口、必须重写其中的方法
只有一个方法的接口叫函数式接口,可以用lambda表达式简化
接口比抽象类更抽象
一个类可以实现多个接口
内部类
局部内部类
静态内部类
匿名内部类(重点)
异常
Throwable
Exception
运行时异常
1/0
ClassNotFount
NullPoint
UnKownType
下标越界异常
......
检查性异常
Error
AWT异常
JVM异常
StackOverflow
OutOfMemory
五个关键字
try
catch()
先小后大
finally
throw
手动抛出异常
throws
方法抛出异常
自定义异常
继承Exception类
常用类
Object类
hashcode()
tostring()
clone()
getclass()
notify()
equals()
.....
Math
常见的数学运算
Random
生成随机数
UUID
File
创建文件
查看文件
修改文件
删除文件
包装类
自动装箱和拆箱
Date
Date
SimpleDateFormat
yyyy-MM-dd HH:mm:ss
Calendar(建议使用)
String
String
不可变性final
操作量少
StringBuffer
可变长
append()
多线程数据量大
效率低、安全
StringBuilder
可变长
单线程数据量大
效率高、不安全
String str = “a”+ 1 +2
int str = ‘a’+ 1 +2
String str = 1 + 2 + ‘a’
集合框架
Collection
List有序可重复
ArrayList常用
add
remove
contains
size
LinkList常用
getFirst()
getLast()
removeFirst()
addFirst()
Vector
Stack
Set无序不可重复
HashSet常用
TreeSet
Map
HashMap重点、天天用、面试高频
jdk7:数组加链表
jdk8:hash表=数组+链表+红黑树
TreeMap
Collections工具类
泛型<>约束,避免类型之间转换的问题
IO流-以程序为中心
字节流
InputStream
outputStream
字符流
Reader
Writer
节点流
CharArrayReader、CharArray....
StringReader、StringWriter
pipe(管道流)
pipedOutputStream
File
4个
处理流
buffer
4个
序列化
反序列化
Serializable
transient透明
data
DataInputStream
DataOutputStream
object流
转化流
inputStreamReader
OutputStreamWriter
Filter
4个
print
PrintWriter
PrintReader
多线程
进程与线程
run()、start()
线程的创建方式
Runnable
函数式接口
lambda
Thread
start0,本地方法,java无权调用交给底层的c处理
private native void start0;
Callable
可以有返回值
静态代理
new Thread(Runnable).start()
lambda表达式
函数式编程
避免内部类定义过多
new Thread(()-> {System.out.println}).start()
手动推导一遍lambda表达式
线程的状态
新建
就绪
运行
阻塞
死亡
常用的方法
sleep
join
isLive
start
setPriority
interrupt
线程同步
多个对象操作同一资源,并发
队列+锁
Synchronized
同步方法
弊端:锁太多
同步代码块(常用)
第一个线程进来拿到锁,后面的就要排队、知道这个人释放锁
四所:两个人都抱着对方需要的锁
互斥
请求与保持
不剥夺条件
循环等待条件
lock(优先级高)
ReentrantLock
lock
trylock
unlock
线程通讯
缓冲区:消息队列
标志位:红路灯
wait()
notifyAll();
线程池pool
池化技术
池的大小
最大连接数
保持时间
....
网络编程
IP
端口
Socket编程
TCP
三次握手
四次挥手
面向连接
UDP
无连接
packet
URL
初识Tomcat
聊天通讯
文件上传
GUI编程(可选)
AWT
Frame
监听事件
鼠标
键盘
窗口
动作时间
Swing
文本框
标签
按钮
文本域
画板
布局方式
关闭窗口
列表
贪吃蛇
键盘监听
键盘监听
游戏帧的概念
注解与反射
注解
元注解
内置注解
自定义注解
反射读取注解
反射
Class
newInstance();
类加载机制
Method
invoke(Class对象、参数)
存在重载、也需要写参数的类型
Field
set(Class对象、参数)
Contruct
newInstance();
获取的时候需要传递参数的class类型
破幻私有关键字
setAccessble(true);
性能分析
正常>监听关闭反射>默认反射
反射获得注解、泛型
单例模式的探究
Stream
ForkJoin
效率对比
0 条评论
下一页