Java 基础知识汇总
JavaSE 基础知识汇总
JAVASE
Spring
Springmvc
SpringBoot
Springcloud
Springsecurity
Javaweb
Mybatis
Mybatisplus
ElasticSearch
SSM
1.java语言初识:
java诞生:1995(JavaSE,javaME(adnroid),javeEE
JDK:开发工具包,配置环境变量
JRE:运行环境
JaveSE:standard edition开发电脑上运行的软件,针对桌面程序的开发
JavaEE:enterprise edition开发网站,企业家应用开发,ERP,WEB
JavaME:micro edition开发手机软件app,嵌入式设备软件开发
2.基础语法:
注释:单行注释//
多行注释://
文档注释:/ */ javadoc 生成帮助文档
表示符:关键字
数据类型:
8大基本数据类型:
整数:byte 1字节,short 2,int 4,long 8,0b二进制,0x十六进制,0八进制
浮点型:float 4,double 8,bigdecimal
字符:char 2,ascii,utf-8,unicode,\b,\t
布尔型:boolearn 1位
引用数据类型:
类
接口
数组
3.类型转换:
自动类型转换:由低转高
强制类型转换:高转低
4.变量和常量:
type name=value;
作用域:类变量,实例变量,局部变量
常量:final max_1=10;
命名规范:1.见名知意
驼峰命名变量,方法,不要使用拼音命名
5.运算符:
算术运算符:
赋值运算符:=
关系运算符:
逻辑运算符:
位运算符:
条件运算符:?:
扩展运算符:+= -=
6.包机制:
域名倒下
防止命名冲突
package,import
JavaDoc:JDK帮助文档
7.流程控制:
顺序结构
选择结构:if ,if-else,if-else if-else,switch case,break,default
循环接口:while,do--whie,for,
break:跳出循环
continue:终止当此循环
return::结束方法的运行
8.面向对象:
类与对象
构造方法:如手动定义了有参构造需手动加一个无参的构造函数
new对象:栈存引用,堆存放具体的对象
封装:属性私有;get,set
继承:extends,object,子类拥有父类的全部特性,方法重写,this,super
多态:
修饰符:public
9.常用类:
Object:hashcode(),toString(),clone(),getClass(),notify(),wait(),equals()
Math类:常用的数学运算
Random类:生成随机数,UUID
File类:创建文件,查看文件,修改文件,删除文件
包装类:自动装箱和拆箱
Date类:
Date
SimpleDateFormat: yyyy-MM-dd HH:mm:ss
Calendar 建议使用
String类:不可变性final,操作量较少时使用
StringBuffer:可变长,append(),多线程数据量大时使用,效率低,安全
StringBuilder:可变长,单线程数据量大时使用,效率高,不安全
10.集合框架:
10.1Collection:
list(有序可重复):
ArrayLis常用t:add,remove,contains,size
LinkedList:addFirst,push,pop,getFirst,getLast,removeFirst,addFirst
Vector
Stack
set(无序不可重复):
HashSet 常用
TreeSet
iterator迭代器
10.2Map:
HashMap(重点,高频):
jdk1.7:数组+链表
jdk1.8: hash表=数组+链表+红黑树
TreeMap:
Collections工具类
泛型:约束,避免类型转换之间的问题
11.IO流:
字节流:
输出:OutputStream
输入:InputStream
字符流:
Reader
Wirter
节点流:
charArrayReader,writer
StringReader,writer 处理中文
pipOutputStream
File
处理流:
buffer:
bufferInputStream
bufferOutputStream
bufferReader
bufferwriter
data:
DataInputStream
DataOutputStream
转换流:
inputStreamReader
OutputStreamWriter
Fiter:
FilterInputStream
FilterOutputStream
FilterReader
Filterwriter
Print:
PrintWriter
PrintStream
序列化:反序列化,Serializable
13.多线程:
进程,线程
run(),start()
线程的创建方式:
Thread: start0 本地方法,java无权调用,交给底层的c处理,private native void start0()
Runnable:函数式接口,lambada:->{System.out.print("hello")}
Callable:可以有返回值
静态代理:new Thread(Runnable).start()
lambda表达式:
函数式变成
避免内部类定义过多
线程状态:创建,就绪,运行,阻塞,死亡
常用方法:sleep
join
jield
isLive
start
setPriority
interrupt
线程同步:
多个对象操作同一个资源,并发
队列+锁
Synchronized:同步方法,同步代码快
第一个线程进来拿到锁,后面排队
死锁:2个线程抱着对方的锁,互斥,请求与保持,循环等待
14.Lock:
lock
trylock
unlock
线程通信:
缓冲区,消息队列
wait()
notifyAll()
线程池pool:
池化技术
线程大小
最大连接数
保持时间
15.网络编程:
ip
port
Socket编程
TCP:三次握手,四次挥手,面向链接
UDP:无链接,packet
url
聊天通信,文件上传下载
16.GUI:
AWT:
Frame
监听事件:鼠标,键盘,窗口,动作事件
Swing:
文本框
标签
按钮
文本域
面板
布局方式
关闭窗口
列表
贪吃蛇:Timer,键盘监听,游戏贞
17.注解;
元注解
内置注解
自定义注解
反射读取注解
18.反射:
Class newInstance()
类加载机制
Method:invoke()
Field:set()
Construct:newInstance()
破坏私有关键字:setAccessible(true)
性能分析:正常>检测关闭的反射>默认的反射
反射获取注解,泛型
19.单例模式
Stream
ForkJoin 效率对比