
安卓面试
文章平均质量分 66
Nobody_else_
一个连屎都不敢吃的普通人
展开
-
HTTP和HTTPS的区别,TCP为何要三次握手和四次挥手
参考:https://blog.youkuaiyun.com/xiaoming100001/article/details/81109617HTTP特点无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。 基于请求和响原创 2020-05-14 17:49:07 · 1635 阅读 · 0 评论 -
2020年度 Android面试知识点总结(持续更新)
Android:Java:数据结构:算法:堆排序算法https://blog.youkuaiyun.com/u010452388/article/details/81283998计算机网络基础:原创 2020-06-28 20:38:23 · 2041 阅读 · 0 评论 -
List、Map和Set的区别,以及它们的使用场景
一、区别List和Set实现了Collection接口(属于Collection的子接口):List和Set都是实现了Collection接口,而LinkList和HashSet等等的List和Set都是Collection的实现类。List:1.可以允许重复的对象。 2.可以插入多个null元素。 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序...原创 2020-04-21 15:14:31 · 922 阅读 · 0 评论 -
各种情况下的Activity生命周期与及跟Fragment生命周期的比较(为什么横屏切换竖屏会调用两次)
横竖屏切换的时候,Activity 各种情况下的生命周期平时在网上看到的答案一般都是这样的↓1)切换横屏时:onSaveInstanceState->onPause->onStop->onDestory->onCreate->onStart->onRestoreInstanceState->onResume2) 切换竖屏时:...原创 2020-04-10 14:17:49 · 1986 阅读 · 0 评论 -
String、StringBuffer、StringBuilder区别,int与integer的区别
区别:String:字符串常量,不可变对象,每一次对String进行修改都相当于生成了一个新的String对象,然后将指针指向新的String对象,如果经常改变,则会频繁GC(Garbage Collection,垃圾回收),影响速度 StringBuffer:字符串变量(线程安全),修改不会生成新对象,有append()、insert()方法 StringBuilder:字符串变量(非...原创 2019-08-12 10:18:47 · 368 阅读 · 0 评论 -
什么是内部类?内部类的作用;什么是抽象类,抽象类和接口
定义:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类,可以完善Java多继承的写法分类:成员内部类 局部内部类 匿名内部类 静态内部类成员内部类: 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)class outerClass { class innerClass { }}...原创 2019-08-15 01:11:53 · 452 阅读 · 0 评论 -
进程和线程的区别,wait()和sleep()区别,wait/notify关键字的理解
进程:系统资源分配最小单位线程:线程是进程的一个实体,程序执行的最小单位 可与同属一个进程的其他的线程共享进程所拥有的全部资源关系:简而言之,一个程序至少有一个进程,一个进程至少有一个线程 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据...原创 2019-08-19 13:59:26 · 441 阅读 · 0 评论 -
Android 常见面试题——死锁,线程的运行、阻塞和死亡
参考:https://blog.youkuaiyun.com/yanxiaolx/article/details/51944048定义:一组相互竞争系统资源或进行通信的进程间的“永久”阻塞。如两个线程相互等待对方释放同步监视器时就会发生死锁。一旦发生死锁,整个程序不会发生任何异常,不会给出任何提示,只是所有线程处于阻塞状态,无法继续。原因:(1)竞争不可抢占性资源。(2)竞争可消耗资...原创 2019-07-26 20:42:19 · 3965 阅读 · 0 评论 -
Java各种变量的不同,Java各种数据类型的默认值
分类定义:变量分为成员变量、局部变量。成员变量:包括实例变量和静态变量(类变量)局部变量:形参(方法签名中定义的变量)、方法局部变量(方法内定义)和代码块局部变量(代码块内定义)区别:静态变量:用static修饰,不属于实例对象,属于类所有,只要程序加载了字节码,不用创建实例对象静态变量都会被分配空间,已经可以使用。实例变量:没有static修饰,只有实例化对象...原创 2019-07-27 14:51:38 · 527 阅读 · 0 评论 -
HashMap底层原理及各种问题(与HashTable、HashSet、ArrayMap的区别)
这里借鉴了一篇我觉得写得很好的博客:https://blog.youkuaiyun.com/mbshqqb/article/details/79799009还有另外一篇写的不错的博客,值得学习:https://blog.youkuaiyun.com/suifeng629/article/details/82179996“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”固然...原创 2019-07-27 21:45:52 · 1411 阅读 · 0 评论 -
重写equals()方法的注意事项及其原因,为什么重写equals()时需要hashCode()方法?
在这之前可以先了解equals()方法的重写:https://blog.youkuaiyun.com/Nobody_else_/article/details/97518556首先先弄清楚hashCode()是用来干嘛的?一提到hashcode,很自然就想到哈希表。将某一key值映射到表中的一个位置,从而达到以O(1)的时间复杂度来查询该key值。Object类源码(如下所示)中,hashCod...原创 2019-07-27 17:41:56 · 942 阅读 · 0 评论 -
结合代码!Android常见的设计模式(持续更新)
这里借鉴了一个篇写非常不错的博客:https://www.cnblogs.com/android-blogs/p/5530239.html什么是设计模式?设计模式(Design pattern)是一套被反复使用的代码设计经验的总结。使用设计模式的目的是为了可重用代码、让代码更容易被他人理解。设计模式是是软件工程的基石脉络,如大厦的结构一样。单例模式:在这之前先要了解单例...原创 2019-07-28 21:03:11 · 1500 阅读 · 0 评论 -
CountDownLatch的原理和并行性
这里借鉴了一篇总结得不错的博客:https://blog.youkuaiyun.com/joenqc/article/details/76794356CountDownLatch的概念CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执...原创 2019-07-29 09:54:58 · 505 阅读 · 0 评论