JavaSE思维导图(带部分知识点链接)
2021-07-26 09:34:42 378 举报
AI智能生成
登录查看完整内容
这是一份详细的JavaSE思维导图,涵盖了JavaSE的大部分知识点。从最基础的语言特性,如数据类型、运算符、流程控制等,到面向对象的特性,如类、对象、继承、封装和多态,再到异常处理、文件IO、多线程等高级特性,都有详尽的介绍和链接。此外,还包括了JavaSE中常用的集合框架、网络编程、数据库连接等实用技术。这份思维导图不仅可以帮助初学者快速理解和掌握JavaSE的基本知识,也可以帮助有一定基础的开发者进行复习和提升。每个知识点都有对应的链接,方便用户深入理解和学习。
作者其他创作
大纲/内容
继承Thread
没有返回值
线程任务
实现Runnable接口
有返回值
实现Callable接口
线程的创建方式(三种)
多个线程抢夺CPU的执行权
原因
同步代码块
同步方法
Lock锁
解决方法
必须是同一把锁
线程的安全问题
创建可变长度的线程池
newCacheThreadPool
创建固定长度的线程池
newFixedThreadPool
Executors
线程池
多线程
Java的多线程
点分十进制表示法
占4个字节
ipv4子
冒分十六进制表示法
占16个字节
ipv6
ip地址
表示应用程序的标识
0~65535
端口号
无连接,不可靠
UDp协议
有连接,可靠的
TCP协议
通信协议
网络编程三要素
发送和接受数据的数据包
DatagramSocket
封装数据的数据包子(包裹)
字节数组
数据的长度
对方的IP地址
对方的端口号
封装的数据(四个参数)
DatagramPacket
UDp通信子
告诉服务端数据写完了
shutdownoutput
往服务器写数据
getOutputStream
读取服务器返回值的数据
getInputStream
客户端
Socket
读取客户端发送的数据
往客户端写数据
监听客户端Socket
accept方法
服务端
ServerSocket
TCP通信
Java 网络编程
Java网络编程
枚举本质上是一个类,枚举类
枚举类中可以有多个枚举项(枚举类的对象)
枚举
注解是一个标记,给类、方法、变量添加一些额外的信息
概念
标记一个方法是重复父类方法
@Override
标记一个方法已过时
@Deprecated
压制警告
@SuppressWarnings
内置注解
注解在运行时有效
RetentionPolicy.RUNTIME
注解在源代码时期有效
RetentionPolicy.SOURCE
注解在字节码时期有效
RetentionPolicy.CLASS
@Retention
注解可以使用在类上
ElementTYpe.TYPE
注解可以在使用在方法上
ElementType.METHOD
注解可以使用在变量上
ElementType.FIELD
@Target
元注解
注解
反射可以获取一个类的各个组成部分(成员变量、成员方法、构造方法)
Class.forName(\"包名.类名\")子主题
对象名.getClass()
类名.class
获取字节码子主题
获取公有的-----------------
getConstructor()
获取所有的构造方法
getDeclaredConstructor()
获取构造方法
获取公有的成员变量
getField()
获取所有的成员变量
getDeclaredField()
获取成员变量
获取公有的成员方法
getMethod()
getDeclaredMethod()
获取成员方法
什么是反射?
反射
newInstance()
set/get
invoke
Java高级技术
简化匿名内部类的书写
必须要有一个函数式接口,接口中只有一个抽象方法
使用前提
Lambda的表达式
对集合和数据进行操作
集合对象.stream()
单列集合获取流
map.keySet().stream()
先获取键的集合,再获取流
map.values().stream()
获取值的集合,再获取流
map.entrySet().stream()
获取键值对的集合,再获取流
双列集合获取流
Stream.of(数组)
数组获取流
获取流Stream
过滤元素
fliter
截取前面几个元素
limit
跳过前面几个元素
skip
对元素进行转换
map
中间操作
遍历元素
forEach
统计元素个数
count
把流收集成List集合
toList
把流收集为Set集合
toSet
collect
终结操作
对流操作
Stream流式编程
JDK8的新特性
JDK Java开发工具包 包括了JRE和一些 编辑运行的操作
JRE Java运行时的环境 JVM和核心类库
JVM Java虚拟机 就是Java程序运行的地方
JDK的安装
public 、protected、private、default
修饰符
static、final、abstract
状态符
throw、throws、try、catch、finally
异常
Java 八大基本数据类型
boolean、byte、short、int、char、float、double、long
基础数据类型
顺序结构
if、else、switch、do..while、while、for
条件控制语句
关键字
就是用作给包 类 成员变量 成员方法 接口 枚举 注释 定义的一个名称
概念
全部都小写
1.包名
大驼峰 从首个单词开始 首字母大写
2,类名
小驼峰 从第二个单词开始首字母大写
3,方法名 对象名
命名规范
1,要求见名知意,不能以关键字命名
2,是由数字、英文、美元符号和下划线组成,且首字母不能是数字
3,严格区分大小写
Java命名规范
命名规则
标识符
字符常量 ‘a’
字符串常量 “abcd”
整型常量 10
浮点型常量 10.01
double型常量 10.0001
被final修饰的变量,里面的值不能变,实际上就是一个常量
标记型常量
常量
概念:实际上就是一个在栈内存或者常量池里的一个地址。
数据类型 变量名 (标识符) =常量
变量的定义格式
基本数据类型的变量
引用数据类型的变量
变量的分类
变量
基础语法
同一种事物的属性和行为的集合
类
类的具体实例(可以想象为具体的一个人,一条狗,千千万万...)
对象
类与对象
共性的抽取
就是对具有相同属性和行为的一类事物的封装
对类的封装
对具有相同功能事物的封装
对方法的封装
JAR 文件就是 Java Archive File
jar包
封装的分类
封装性
继承解决的问题是多个类中的共性抽取
共性的成员变量、成员方法抽取到父类,子类就不用写了
Java继承 只允许单继承,不允许多继承 但是允许多层继承
特点
类与类的关系过于紧密,增强了代码的耦合性
弊端
提高了代码的复用性
好处
好处和弊端
遵守就近原则
成员变量
概念:子类创建一个和父类的某个方法除了方法体的内容,其他都一样的方法。在子类对象调用这个方法时,就会执行子类重写的那个方法。子类不重写,就默认调用父类的方法。
方法复写
成员方法
所有的子类在被创建实列的时候 默认都会先调用父类的无参构造方法,即:在子类中都有一个super();
如果子类想要使用父类的有参构造,需要手动写有参构造。(前提是父类有这个有参构造)
所有的类都会直接或者间接继承Object
构造方法
继承成员访问
继承性
同一个对象有多种表现形态
本类形态、父类形态
父类 变量名 = new 子类对象()
格式
方法的参数是父类、接口类、调用方法可以传任意子类对象
方法的返回值是父类,接口类型,调用方法返回的是子类对象
实际运用
判断一个对象具体是什么类型
instanceof
多态的转型
定义在方法中的类
局部内类
定义在成员变量位置的类
成员内部类
前提:有一个接口或者抽象类
本质:就是这个接口或者抽象类的实现类对象
定义格式:new 类名/接口名/抽象类名(){}
lambda表达式
当这个类或者接口只有一个抽象方法时,可以用lambda表达式简写
匿名内部类
内部类
多态性
Java面向对象
数据结构,查询快,增删慢
ArrayList
链表结构、查询慢、增删快
LinkedList
List
哈希表结构(数组+链表+红黑树),元素去重
HashSet
红黑树结构,对元素进行排序
TreeSet
Set
单列集合(Collection)
HashMap
TreeMap
把配置文件中的键值对加载到集合
load
把集合中的键值对存储到配置文件中
store
Properties
双列集合(Map)
java集合超详解
Java的集合体系
读取字节文件的流
FileInputStream
对InpurStream进行包装,提高读取效率
BufferedInputStream
InputStream
写入字节文件的流
FileOutputStream
对Output Stream进行包装,提高写入效率
BufferedOutputStream
OutputStream
字节流
读取文本文件的流
FileReader
读一行
readLine()
BufferedReader
Reader
写入文本文件的流
FileWriter
写----换行符
newLine()
BufferedWriter
Writer
字符流
把InputStream转换为Reader,指定编码表
InputStreamReader
把OutputStream转换为Writer,指定编码表
OutputStreamWriter
转换流
java序列化和反序列化以及序列化ID的作用分析
序列化流
往控制台输出
System.out
读取控制台输入的数据
System.in
标准的输入输出流
杂流
Java的IO流
自由主题
JavaSE
收藏
0 条评论
回复 删除
下一页