Java&Android知识总结

JAVA基础

1. 类加载和反射

(1)Classloader 类加载机制   双亲委派模型

https://blog.csdn.net/briblue/article/details/54973413

https://www.cnblogs.com/xujian2014/p/5551153.html

(2)反射

https://www.cnblogs.com/ysocean/p/6516248.html

2. JVM 内存模型

开线程影响哪块内存

https://www.cnblogs.com/xing901022/p/7725961.html

https://blog.csdn.net/suifeng3051/article/details/52611310

3. 垃圾回收 

https://www.cnblogs.com/xiaoxi/p/6486852.html

垃圾回收机制与调用System.gc()区别  

Java中对象的生命周期

https://blog.csdn.net/huangzhen0914/article/details/45172597

4. 集合

集合的接口和具体实现类,介绍

List,Set,Map的区别

(1)set

(2)List

arraylist和linkedlist的区别,以及应用场景

https://mp.csdn.net/postedit/82500925

(3)Map

HashMap实现原理,怎么解决碰撞

https://www.cnblogs.com/chengxiao/p/6059914.html

https://blog.csdn.net/andylau_zhl/article/details/78871917

LinkedHashMap实现原理

https://www.cnblogs.com/xiaoxi/p/6170590.html

https://blog.csdn.net/justloveyou_/article/details/71713781

TreeMap实现原理

https://www.cnblogs.com/skywang12345/p/3310928.html

ConcurrentHashMap 的实现原理

https://blog.csdn.net/fjse51/article/details/55260493

https://blog.csdn.net/programmer_at/article/details/79715177

Collections.synchronizedMap()与ConcurrentHashMap的区别

https://blog.csdn.net/lanxiangru/article/details/53495854

(4)Hash死循环解析

https://blog.csdn.net/xiaohui127/article/details/11928865

https://blog.csdn.net/littleschemer/article/details/52199689

https://www.jianshu.com/p/1e9cf0ac07f4

 

5. 抽象类和接口

https://mp.csdn.net/postedit/80389725

 

6. 异常处理

https://blog.csdn.net/yongyuai/article/details/79752608


7. java注解

https://blog.csdn.net/briblue/article/details/73824058

8. 类与对象

(1)object类的equal 和hashcode 方法重写,为什么?

https://blog.csdn.net/u013679744/article/details/57074669/

(2)内部类和静态内部类和匿名内部类,以及项目中的应用

https://www.jianshu.com/p/f0fdea957792

(3)String 为什么要设计成不可变的

https://blog.csdn.net/zhangjg_blog/article/details/18319521

https://blog.csdn.net/qingmengwuhen1/article/details/52175303

https://blog.csdn.net/topwqp/article/details/46380331

(4)String buffer 与string builder 的区别

(5)软引用、弱引用区别

               强引用置为null,会不会被回收?

(6)volatile用法 volatile的原理

Android

1. 四大组件

(1)Activity的生命周期

下拉状态栏是不是影响activity的生命周期,

如果在onStop的时候做了网络请求,onResume的时候怎么恢复

前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。

Activity 上有 Dialog 的时候按 home 键时的生命周期

横竖屏切换的时候,Activity 各种情况下的生命周期

(2)Activity的启动模式

(3)Services

(4)Broadcast

广播的使用方式,场景

(5)AlertDialog,popupWindow,Activity区别

(6)service和activity怎么进行数据交互

(7)fragment 各种情况下的生命周期

(8)fragment之间传递数据的方式?

(9)Application 和 Activity 的 context 对象的区别

(10)App中唤醒其他进程的实现方式

(11)AndroidManifest的作用与理解

2. UI

(1)View事件分发机制

https://www.cnblogs.com/Seanisme/articles/6180510.html

(2)自定义View

封装view的时候怎么知道view的大小

(3)view渲染

https://www.cnblogs.com/ldq2016/p/6668148.html

https://blog.csdn.net/zhangcanyan/article/details/52817989

(4)动态布局 

https://blog.csdn.net/mottled233/article/details/52171904

(5)SurfView 

https://blog.csdn.net/android_cmos/article/details/68955134

(6)图片加载原理

(7)listview图片加载错乱的原理和解决方案

(8)LinearLayout、RelativeLayout、FrameLayout的特性、使用场景

(9)如何实现Fragment的滑动

  https://blog.csdn.net/daihuimaozideren/article/details/78293455

(10)ViewPager

(11)ListView重用的是什么

(12)计算一个view的嵌套层级

(13)recycleview listview 的区别,性能

https://blog.csdn.net/fanenqian/article/details/61191532

(14)ListView的优化

(15)RemoteView

(16)drawable和mipmap目录

https://www.jianshu.com/p/f7dc272b3469

https://blog.csdn.net/guolin_blog/article/details/50727753

3. IPC

(1)进程间通信方式

https://blog.csdn.net/u011240877/article/details/72863432

(2)Binder机制

(3)序列化

Android为什么引入Parcelable

有没有尝试简化Parcelable的使用

(4)AIDL机制

(5)Android进程分类

https://blog.csdn.net/lixiang_y/article/details/54889871

(6)Android 上的跨进程通信是如何工作的;

4. 数据存储

(1)Android中数据存储方式

(2)Android系统为什么会设计ContentProvider,进程共享和线程安全问题

(3)LRUCache原理

(4)数据库数据迁移问题

(5)Bundle 机制

(6)SharedPreferences

SP是进程同步的吗?有什么方法做到同步

5. 多线程

(1)线程死锁4个条件,怎么避免死锁

(2)为什么不能在子线程更新UI

(3)进程与线程  进程调度 进程状态  

(4)开启线程的三种方式,run()和start()方法区别

(5)为什么要有线程,而不是仅仅用进程

(6)如何实现线程同步,如何保证线程安全

线程间 操作 List

(7)synchronize与Lock的原理,用法

synchronized与Lock的区别 synchronized与ReentrantLoc

static synchronized 方法的多线程访问和作用,同一个类里面两个synchronized方法,两个线程同时访问的问题

(8)线程如何关闭,以及如何防止线程的内存泄漏

(9)Java线程池  

Android线程有没有上限,线程池的上限

(10)Android消息机制原理

(11)AsyncTask机制

https://blog.csdn.net/qq_25806863/article/details/72782050

(12)ThreadLocal

https://blog.csdn.net/u012216131/article/details/79717280

(13)volatile

https://blog.csdn.net/v123411739/article/details/79438066

(14)CAS

https://blog.csdn.net/v123411739/article/details/79561458

https://blog.csdn.net/heyutao007/article/details/19975665

 

6. 性能调优

(1)统计启动时长,标准

https://www.jianshu.com/p/c967653a9468

(2)如何保持应用的稳定性

(3)性能优化,怎么保证应用启动不卡顿

(4)怎么去除重复代码 

(5)ANR怎么分析解决

http://yinger-fei.iteye.com/blog/1533788

(6)Android相关优化(如内存优化、网络优化、布局优化、电量优化、业务优化)

(7)App启动崩溃异常捕捉

(8)性能优化如何分析systrace

https://www.cnblogs.com/tianzhijiexian/p/4264794.html

7. 内存调优

(1)Android 内存详细分析 

https://blog.csdn.net/hnulwt/article/details/44900811

Android中进程内存的分配,能不能自己分配定额内存 

(2)内存泄漏的可能原因,OOM产生原因 

https://blog.csdn.net/boyupeng/article/details/47726765

https://blog.csdn.net/hudfang/article/details/51781997

(3)用IDE如何分析内存泄漏

https://blog.csdn.net/qq_27650777/article/details/51984006

(4)Oom 是否可以try catch

https://blog.csdn.net/mr_liabill/article/details/50209617

https://blog.csdn.net/sinat_29912455/article/details/51125748

8. 网络通信

(1)TCP/UDP的区别

(2)Http/Https

如何验证证书的合法性,https中哪里用了对称加密,哪里用了非对称加密

Https请求慢的解决办法,DNS,携带数据,直接访问IP

(3)网络请求缓存处理,okhttp如何处理网络缓存的

(4)多线程断点续传原理

(5)socket

https://blog.csdn.net/tian779278804/article/details/50922354

(6)加密算法

9. 开源框架

(1)模块化实现(好处,原因)

(2)热修复,插件化

(3)MVP模式

(4)RxJava的功能与原理实现

(5)EventBus实现原理,EventBus作用,实现方式,代替EventBus的方式

(6)项目组件化的理解

10. 多媒体

(1)几大图片加载库的比较

https://www.cnblogs.com/fightingchendan/p/5972985.html

https://blog.csdn.net/lgzaaron/article/details/51958272

(2)图片加载框架Glide

https://blog.csdn.net/xiehuimx/article/details/52349317

glide 使用什么缓存?

https://blog.csdn.net/yulyu/article/details/55096713?fps=1&locationNum=2

https://www.jianshu.com/p/325bd2f56ca7

https://www.jianshu.com/p/a5f1d662e053

Glide 内存缓存如何控制大小?

(2)Bitmap 使用时候注意什么,bitmap如何处理大图,如何预防OOM

(3)Android中开启摄像头的主要步骤

(4)视频加密传输

11. Framework

 (1)Android 的整体架构图

(2)Android启动过程

(3)App启动流程

(4)应用安装过程

(5)动态权限适配方案,权限组的概念

(6) Android Studio 的 build 按钮后发生了什么

(7)Dalvik、ART 虚拟机

(8)Android jni开发,jni如何调用java层代码

(9)差值器&估值器

数据结构/算法

1.系列目录

 https://blog.csdn.net/l_215851356/article/details/77659462

2. 二叉树

(1)二叉树 深度遍历与广度遍历

(2)给出根节点和目标节点,找出从根节点到目标节点的路径 

3. 排序

4.链表反转

5. 算法判断单链表成环与否

设计模式

 1. 单例模式

https://blog.csdn.net/goodlixueyong/article/details/51935526

2. 观察者模式

3. 工厂模式

4. 建造者模式

5. 代理模式

猜你喜欢

转载自blog.csdn.net/u012216131/article/details/79694103
今日推荐