2021 Android开发项目开发必备底层技术知识点整理

在Android开发行业做了这么久,是时候该回头梳理了一下Android 的知识点了,下面我大家整理里一部分Android 开发项目必备技术知识点, 从Java序列化、泛型与反射到虚拟机底层原理、Android内存原理、 Java高级并发原理详解、 编译时技术掌握与实战、JDK高级动态代理、数据结构与算法、 Java IO操作等。因知识点的内容过多,将其整理成为了一个思维导图如下。

通过思维导图记录顺序,我将这些知识点也进行了归纳整理成了文档形式,并上传之我的 GitHub项目中,大家可以先往下看章节进行了解。

Java序列化、泛型与反射

Java序列化与反序列化深入讲解

1. 为什么需要序列化与反序列化
2. 序列化概述
3. Serializable
4. Externalizable
6. 序列化问题
7. 总结

1. 为什么需要序列化与反序列化

程序运行时,只要需要,对象可以一直存在,并且我们可以随时访问对象的一些状态信息,如果程序终止,那么对象是肯定不会存在的,但是有时候,我们需要再程序终止时保存对象的状态信息,之后程序再次运行时可以重新恢复到之前的状态,如,玩家玩游戏退出时,需要保存玩家的状态信息(如等级、装备等等),之后玩家再此登入时,必须要恢复这些状态信息。我们可以通过数据库手段来达到这个保存状态的目的,在Java中,我们有更简便的方法进行处理,那就是序列化与反序列化。序列化是一种对象持久化的手段,反序列化与序列化相反,其是通过序列化后的信息重新组装成对象。序列化与反序列化普遍应用在网络传输、RMI等场景中。

2. 序列化概述

2.1 序列化类结构图

下面展示了与序列化相关的类的结构图

说明:虚线框的表示接口类型,实线框表示具体的类。

2.2 序列化关键字说明

与序列化相关的关键字如下

说明:

1. 关键字transient,用来修饰字段,表示此字段在默认序列化过程中不会被处理,但是可以采用另外的手段进行处理。
2. 关键字serialVersionUID,表示序列化版本号,当两个类的序列化ID一致时允许反序列化,默认可以采用编译器提供的值1L。

2.3 序列化方法说明

与序列化相关的方法如下

说明:writeObject与readObject方法分别在ObjectOutput接口与ObjectInput接口中声明,在ObjectOutputStream与ObjectInputStream中实现。

后续章节内容过多如下图:

Java泛型剖析篇

1. java泛型是什么?泛型的好处是啥?
2. 泛型类
3. 泛型方法
4. 泛型接口
5. 通配符

1. java泛型是什么?泛型的好处是啥?

那些拥有Java1.4或更早版本的开发背景的人都知道。

  1. 在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。
  2. 它提供了编译期的类型安全,确保你只能把正确类型的对象放入集合中,避免了在运行时出现ClassCastException。

后续章节内容过多如下图:

深入理解Java反射

理解RTTI在Java中的工作原理,首先需要知道类型信息在运行时是如何表示的,这是由Class对象来完成的,它包含了与类有关的信息。Class对象就是用来创建所有“常规”对象的,Java使用Class对象来执行RTTI,即使你正在执行的是类似类型转换这样的操作。

1、Class对象
2、类型转换前先做检查
3、反射:运行时类信息
4、动态代理

虚拟机


1.JVM 工作流程
2.运行时数据区(Runtime Data Area)
3.方法指令
4.类加载器
5.垃圾回收 gc

Android内存原理


1. 垃圾内存回收算法
2. 拷贝回收法(Copying GC)
3. 逐代回收法(Generational GC)
4. 源码分析

Java高级并发原理详解


1. 线程池
2.为什么要使用线程池
3.线程池参数详解
4.ThreadLocal 原理
5.锁
6.并发容器
7.Future 和 Callable

JDK高级动态代理

Java两种动态代理JDK动态代理和CGLIB动态代理

1.代理模式
2.JDK动态代理
3.cglib动态代理

总结

上面所记录到的技术知识点可能还不是特别完整,后续还会慢慢的更新改进,大家如果有好Android知识点建议需要整理在内,大家可以在评论区进行留言,方便我为大家进行记录,将其知识点进行更好的完善。如要需要这份知识点记录文档的可以在我的 GitHub项目地址中:https://github.com/733gh/Android-T3/blob/master/JianShu.md进行查阅。


猜你喜欢

转载自blog.csdn.net/dongrimaomaoyu/article/details/112341701