Android(java)理论知识.日积月累

生活中没有什么可怕的东西,只有需要理解的东西。青春太好,好到你无论怎么过都觉浪掷,回头一看,都要生悔。曾经哭过笑过,曾经爱过恨过,曾经拥有过失去过,但只是曾经,与现在的日子无关。那些激情的日子被磨砺成空白的平淡,无爱无恨无悲无喜无性情无追求,生活颓唐或者那些自。

√的是我认为的重点


HTTP和HTTPS的区别(√)

  • http:是超文本传输协议,信息是明文传输,是无状态的
  • https是具有安全性的ssl加密传输协议,https协议是由SSL+http协议构建的,要比http协议安全

TCP,UDP区别

  • TCP 是面向连接的,UDP 是面向无连接的
  • TCP 是面向字节流的,UDP 是基于数据包的
  • TCP 保证数据正确性,丢包时有数据重传机制,UDP 可能丢包
  • TCP 保证数据顺序,UDP 不保证
  • TCP连接只能是点到点、一对一的,UDP支持一对一,一对多,多对一和多对多的交互通信。

collection和collections的区别

collection是list和set顶层接口,collections是集合工具类


ArrayList和linkedlist的区别(√)

ArrayList底层数组结构,查询快,增删慢,线程不安全,使用效率较高。

linkedList底层是双向链表结构,数据增删较快,相对数据结构来讲,不能根据角标去查询对应的数据,所以相对ArrayList来讲,查询较慢。


数组和集合的区别

  • 长度区别: 数组的长度是固定的而集合的长度是可变的
  • 存储数据类型的区别: 数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
  • 内容区别: 数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素

Hashcode与equal区别

  • 都用于比较两个对象是否相等。java集合中有 list 和 set 两类,其中 set不允许元素重复实现,如果用 equal 去比较的话,每次都得将新创建的对象通过 equal 去逐个比较是否是同一个对象,效率较低。hashcode实际上是返回对象的存储地址,如果这个位置上没有元素,就把元素直接存储在上面;如果这个位置上已经存在元素,这个时候才去调用equal方法与新元素进行比较,相同的话就不存了,散列到其他地址上

抽象类和接口的区别:

抽象类(abstract class):

  • 使用abstract修饰符修饰的类。

  • 抽象方法: 被abstract修饰的方法,只有方法名没有方法实现,具体的实现要由子类实现。方法名后面直接跟一个分号,而不是花括号。例如:public abstract int A();

  • 一个类中含有抽象方法(被abstract修饰),那么这个类必须被声明为抽象类(被abstract修饰)。

接口:

  • 接口在java中是一个抽象类型,是抽象方法的集合
  • 从定义上看,接口是个集合,并不是类。类描述了属性和方法,而接口只包含方法(未实现的方法)。
  • 使用 implements 关键字
  • 接口中没有构造方式(因为接口不是类)
  • 接口中的方法必须是抽象的(不能实现)
  • 接口中除了static、final变量,不能有其他变量
  • 接口支持多继承(一个类可以实现多个接口)

区别:

  • 抽象类:可以有默认的方法实现完全是抽象的
    接口:根本不存在方法的实现

  • 抽象类:可以有构造器(抽象类是属于类,享有类的所有特性(但是不能实例化),当然包括类的构造方法,也就是构造器。)
    接口:不能有构造器(接口是所有抽象方法的集合,注意,是集合,不是类。当然没有构造方法一说,更别提什么构造器了。)

  • 抽象方法: 可以有public、protected和default这些修饰符
    接口方法: 只有public修饰符。你不可以使用其它修饰符。

  • 抽象方法: 比接口速度要快
    接口: 是稍微有点慢的,因为它需要时间去寻找在类中实现的方法

Android版本

版本号 新增权限
Android11 新增了关于位置、麦克风和摄像头的一次性权限许可
Android10.0 新增了后台定位权限
Android6.0 动态权限

猜你喜欢

转载自blog.csdn.net/weixin_44819566/article/details/111611189