基于泓洋公众号的总结
JAVA基础面试知识点
1.java中equals,hashcode和==的区别
3.进程和线程的区别
线程、多线程和线程池
- 开启线程的三种方式? 点击打开链接
- 线程和进程的区别?
- 为什么要有线程,而不是仅仅用进程?
- run()和start()方法区别
- 如何控制某个方法允许并发访问线程的个数?
- 在Java中wait和seelp方法的不同; 点击打开链接
- 谈谈wait/notify关键字的理解
- 什么导致线程阻塞? 点击打开链接
- 线程如何关闭?
- 讲一下java中的同步的方法
- 数据一致性如何保证?
- 如何保证线程安全? 点击打开链接
- 如何实现线程同步?
- 两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
- 线程间操作List
- Java中对象的生命周期
- Synchronized用法
- synchronize的原理
- 谈谈对Synchronized关键字,类锁,方法锁,重入锁的理解
- static synchronized 方法的多线程访问和作用
- 同一个类里面两个synchronized方法,两个线程同时访问的问题
- volatile的原理
- 谈谈volatile关键字的用法
- 谈谈volatile关键字的作用
- 谈谈NIO的理解
- synchronized 和volatile 关键字的区别
- synchronized与Lock的区别
- ReentrantLock 、synchronized和volatile比较
- ReentrantLock的内部实现
- lock原理
- 死锁的四个必要条件?
- 怎么避免死锁?
- 对象锁和类锁是否会互相影响?
- 什么是线程池,如何使用?
- Java的并发、多线程、线程模型
- 谈谈对多线程的理解
- 多线程有什么要注意的问题?
- 谈谈你对并发编程的理解并举例说明
- 谈谈你对多线程同步机制的理解?
- 如何保证多线程读写文件的安全?
- 多线程断点续传原理
- 断点续传的实现
- 如何避免多线程并发 点击打开链接
并发编程有关知识点
Java 内存模型
java线程安全总结
http://www.iteye.com/topic/806990
深入理解java内存模型系列文章
http://ifeve.com/java-memory-model-0/
线程状态:
一张图让你看懂JAVA线程间的状态转换
https://my.oschina.net/mingdongcheng/blog/139263
锁:
锁机制:synchronized、Lock、Condition
http://blog.csdn.net/vking_wang/article/details/9952063
Java 中的锁
http://wiki.jikexueyuan.com/project/java-concurrent/locks-in-java.html
并发编程:
Java并发编程:Thread类的使用
http://www.cnblogs.com/dolphin0520/p/3920357.html
Java多线程编程总结
http://blog.51cto.com/lavasoft/27069
Java并发编程的总结与思考
https://www.jianshu.com/p/053943a425c3#
Java并发编程实战-----synchronized
http://www.cnblogs.com/chenssy/p/4701027.html
深入分析ConcurrentHashMap
http://www.infoq.com/cn/articles/ConcurrentHashMap#
1.四大组件及生命周期
2.Activity之间的通信方式
3.横竖屏切换的时候,Activity 各种情况下的生命周期
4.Activity与Fragment之间生命周期比较
6.两个Activity 之间跳转时必然会执行的是哪几个方法?
7.前台切换到后台,然后再回到前台,Activity生命周期回调方法。弹出Dialog,生命值周期回调方法。
8.Activity的四种启动模式对比
9.fragment各种情况下的生命周期
10.fragment之间传递数据的方式?
11.Activity 怎么和Service 绑定?
12.怎么在Activity 中启动自己对应的Service?
13.service和activity怎么进行数据交互?
14.Service的开启方式
15.请描述一下Service 的生命周期
答案同上
16.谈谈你对ContentProvider的理解
17.说说ContentProvider、ContentResolver、ContentObserver 之间的关系
18.请描述一下广播BroadcastReceiver的理解
点击打开链接 简介
点击打开链接 详解
19.广播的分类
答案同上
20.广播使用的方式和场景
答案同上
21.在manifest 和代码中如何注册和使用BroadcastReceiver?
答案同上
22.本地广播和全局广播有什么差别?
答案同上
23.BroadcastReceiver,LocalBroadcastReceiver 区别
24.AlertDialog,popupWindow,Activity区别
25.Application 和 Activity 的 Context 对象的区别
Context数量 = Activity数量 + Service数量 + 1
26.Android属性动画特性
27.如何导入外部数据库?
28.LinearLayout、RelativeLayout、FrameLayout的特性及对比,并介绍使用场景。
29.谈谈对接口与回调的理解
30.回调的原理
31.介绍下SurfView
32.RecycleView的使用
33.序列化的作用,以及Android两种序列化的区别
34.差值器
35.估值器
答案同上
36.Android中数据存储方式
- Android动画框架实现原理 点击打开链接
- Android各个版本API的区别 点击打开链接
- Requestlayout,onlayout,onDraw,DrawChild区别与联系 点击打开链接
- invalidate和postInvalidate的区别及使用 点击打开链接
- Activity-Window-View三者的差别 点击打开链接
- 谈谈对Volley的理解
- 如何优化自定义View 点击打开链接
- 低版本SDK如何实现高版本api? 点击打开链接
- 描述一次网络请求的流程
- HttpUrlConnection 和 okhttp关系 : 4.4之后的的 HTTP URL connection 基于 OK HTTP实现
- Bitmap对象的理解
- looper架构
- ActivityThread,AMS,WMS的工作原理 点击打开链接
- 自定义View如何考虑机型适配 点击打开链接
- 点击打开链接
- 自定义View的事件 点击打开链接
- 点击打开链接
- AstncTask+HttpClient 与 AsyncHttpClient有什么区别?
- LaunchMode应用场景 点击打开链接
- AsyncTask 如何使用?
- SpareArray原理
- 请介绍下ContentProvider 是如何实现数据共享的?
- AndroidService与Activity之间通信的几种方式
- IntentService原理及作用是什么?
- 说说Activity、Intent、Service 是什么关系
- ApplicationContext和ActivityContext的区别
- SP是进程同步的吗?有什么方法做到同步?
- 谈谈多线程在Android中的使用
- 进程和 Application 的生命周期
- 封装View的时候怎么知道view的大小
- RecycleView原理
- AndroidManifest的作用与理解
点击打开链接 更加全面的
平时用的比较多有单例模式(在内存中仅实例化一个对象时使用),适配器模式(典型的就是ListView和GridView的适配器),建造者模式(AlertDialog.Builder)
模板模式,我最常用的就是把多个Fragment的相同代码抽象出一个基类,在onCreate, onCreateView把子类需要实现的逻辑抽象出来。
16.Android中touch事件的传递机制是怎样的?
19.android在线程中创建handler应注意什么
21.介绍一下Android线程间通信有哪几种方式
- 共享内存(变量);
- 文件,数据库;
- Handler;
- Java里的wait(),notify(),notifyAll()