导图社区 java知识体系
Java基础知识分享!本思维导图将向你介绍复习Java基础、Java容器、JVM等知识,内容比较精简,适用于Java入门前的简单了解。有需要,想要学习Java的同学可以提前了解一下哦!
编辑于2021-06-04 19:14:36知识总结
JavaSE
初识Java
程序的分类
C/S架构
B/S架构
Java特点
简单
弱化了指针概念
面向对象
更贴近人的思考方式
分布式
可以使用多台服务器,共同支持一个服务
跨平台
Jvm虚拟机可以实现跨平台
健壮性
异常处理机制会让代码有更好的容错性
java分类
JavaSE
JavaEE
JavaME
面向对象
基本概念
类
变量
成员变量
堆中
类中,方法外
有默认值
随着对象创建而创建,消失而消失
局部变量
方法中或方法声明上
栈中
没有默认值,必须初始化
作用域在方法内
静态变量
方法
成员方法
类中
调用方式 对象.方法
静态方法
构造方法
初始化成员变量
与类名相同,无返回值
不能被继承所以不能重写
方法重载
在同一个类中
只跟参数有关
方法重写
必须有继承关系
方法名相同,参数相同
访问权限不能严与父类
代码块
局部代码块
静态代码块
构造代码块
特点
同步代码块(多线程)
对象
三大支柱
继承
特点
使用extends关键字
提供代码复用性
构造方法不能被继承
super关键字
代表父类
调用super.变量
调用super.方法
this关键字
代表本类对象
final关键字
修饰变量
修饰的变量将会变成常量,只能在初始化的时候赋值
修饰方法
修饰的方法不可以被继承
方法不可以重新
不能修饰构造方法
修饰类
abstract关键字
修饰类(抽象类)
修饰的类不能被实例化new 对象
抽象方法一定在抽象类中
抽象类可以有普通方法,或多个抽象方法
子类继承抽象类必须实现所有抽象方法
修饰方法(抽象方法)
子类在抽象类中
封装
封装步骤
成员变量私有化
将类中的属性或者方法对外隐藏,提供公共的访问方式
static关键字
修饰成员变量
报错在方法区
调用使用 对象.变量(推荐的调用方式)
随着类加载而加载,销毁而销毁
修饰成员方法
静态方法只能调用静态方法和变量
不能使用this.关键字
随着类的加载而加载,销毁而销毁
修饰静态代码块
修饰类(只能修饰内部类)
多态
好处
减少代码量
可以维护性,可拓展性
异常
Throwable
Error(错误)
Jvm不能解决
exception (异常)
RuntimeException运行时异常
NullpointException 空指针异常
ClassCastExption 类型转换异常
ArrayIndexOutOfBound数组下标越界异常
NumberFormatExption 数字格式异常
IO其他异常类
集合
Collection集合
List
实现类
ArrayList
线程不同步,速度快,底层用数组实现
常用方法
list.add
list.get 不能超出下标最大值
list.indexOf 获取集和中首次出现的位置
list.lastIndexOf 获取集和中最后出现的为位置
list.remove()返回删除的对象
LinkedList
线程同步,速度慢,底层用链表实现
Vector
线程安全
Set接口(无序,不重复)
HasSet
不是同步的
底层存储重写hashCode和equals保证元素的一致性
顺序无序的
LinkedHashSet
HashSet的子类
顺序有序
底层使用链表
需要排序,性能低于hashSet
TreeSet
底层采用红黑树实现
自然排序
定制排序
对象排序时,要添加的对象必须实现Comparable接口。Treeset会根据调用CompareTo来进行排序
Queue接口
Map
HashMap
底层采用hash表维护,线程不安全,效率高
基本方法
put(key,value)
containsKey(Object object) 查询Map是否包含指定的Key,如果包含则返回Key
containsVale(Object object)查询Map中是否包含一个或多个value,如果包含则返回true
get(Object key) 返回指定key所对应的value;如果不包含则返回null
keySet();返回Map中所有key所对应的集和
remove(Object key) 删除指定key-value
LinkedHashMap
有序,效率低
HashTable
线程安全
不允许使用null作为key和value
Collections 工具类集和
方法
reverse(List list) 反转指定List集和中的顺序
shuffle(List)对list集和元素进行随机排序
sort(List) 根据元素的自然顺序对指定List集和的元素按升序进行排序
Array
日期
JDK1.8之前日期、时间
Java.lang.System
Java.util.Date
从jdk1.0开始就存在了,它大部分构造器哦已经过时了,6个构造器4个已经过时
Date();构造器 生成一个当前时间的Date对象。该对象再底层调用System.currentTimeMillis()获得Lone整数类型作为参数
Date(lone date) 根据lone来生成一个生成一个Date对象
Java.text.SimpleDateForamt
Java.util.Calendar
Java8之后的日期、时间包(java.time)
Clock:该类用于获取当前日期、时间
localDate 该类代表不带时区的日期,例如:2021-6-03
LocalTime 该类代表不带日期的时区,例如10:30:05
LocalDateTime 该类表示不带时区的日期,时间 例如:2007-5-7T 10:35:03
Format
NumberFormat
DateFormat
getDateInstance():返回一个日期格式器,它格式化后的字符串只有日期,没有时间
getDateTime()返回一个时间格式化器,它格式的字符串只有时间没有日期
getDateTimeInstance()返回日期和时间格式
IO/NIO
File
文件名相关的方法
String getName() 返回File所表示的文件名或路径
String getPath 返回File对象所对应的路径名
File getAbsoluteFile() 返回此File的绝对路径
String getAbsolutePath()返回File的相对路径
String getParent 返回所在的文件夹名
boolean renameTo(File newName) 重命名此File对象所对应的文件或目录,如果重名命成功返回true否则失败
文件检测相关的方法
boolean exists()判断File对象所对应的文件或目录是否存在
boolean canWrite() 判断File对象所对应的文件和目录是否可写
boolean canRead() 判断Filed对象所对应的文件和目录是否可读
boolean isDirectory()判断File对象是否是目录,而不是文件
boolean isFile 判断File对象是否是文件,而不是目录
目录操作相关的方法
boolean mkdir() File对象路径不存在则创建目录,创建成功返回true
主题
主题
主题
主题
主题
主题
主题
主题