51信用卡-Android开发

异常处理

编 译 时 异 常 也 叫 CheckedException
对 Checked 异常处理方法有两种:
1 当前方法知道如何处理该异常,则用 try...catch 块来处理该异常。
2 当前方法不知道如何处理,则在定义该方法是声明抛出该异常。
运 行 时 异 常 也 叫RuntimeException

map几个集合原理

Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。
Map有三种类型:
1.Hashtable:底层是哈希表数据结构,不可以存入null键null值。该集合是线程同步的。jdk1.0.效率低。
2.HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合是不同步的。将hashtable替代,jdk1.2.效率高。
3.TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。

多线程同步方式

1、同步方法;
2、同步代码块;
3、使用特殊域变量(volatile)实现线程同步;
volatile关键字为域变量的访问提供了一种免锁机制
使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新
每次使用该域就要重新计算,而不是使用寄存器中的值
volatile不会提供任何原子操作,它也不能用来修饰final类型的变量
4、使用重入锁实现线程同步(Reenreantlock类),ReentrantLock类是可重入、互斥、实现了Lock接口的锁,它与使用synchronized方法和快具有相同的基本行为和语义,并且扩展了其能力。
使用:lock() ….(代码块) unlock()
5、使用局部变量实现线程同步。
使用:ThreadLocalcount=newThreadLocal();
如果使用ThreadLocal管理变量,则每一个使用该变量的线程都获得该变量的副本,副本之间相互独立,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响。

ThreadLocal与同步机制
ThreadLocal与同步机制都是为了解决多线程中相同变量的访问冲突问题
前者采用以”空间换时间”的方法,后者采用以”时间换空间”的方式

GC哪些算法

1.引用计数法(无法解决循环引用的问题,不被java采纳)
2.根搜索算法
3.现代虚拟机中的垃圾搜集算法:
标记-清除
复制算法(新生代)
标记-压缩(老年代)
4.分代收集

jvm(java虚拟机)

基本数据类型
byte://1字节有符号整数的补码
short://2字节有符号整数的补码
int://4字节有符号整数的补码
long://8字节有符号整数的补码
float://4字节IEEE754单精度浮点数
double://8字节IEEE754双精度浮点数
char://2字节无符号Unicode字符
其它数据类型
object//对一个Javaobject(对象)的4字节引用
returnAddress//4字节,用于jsr/ret/jsr-w/ret-w指令

数据库索引

索引即查找问题。数据库索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。

OSI分层

image.png

TCP

应用层 Http、Telnet、FTP和e-mail等 负责把数据传输到传输层或接收从传输层返回的数据
传输层 TCP和UDP 主要为两台主机上的应用程序提供端到端的通信,TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。
网络层 ICMP、IP 和 IGMP 有时也称作互联网层,主要为数据包选择路由,其中IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输
链路层 ARP 、RARP和设备驱动程序及接口卡 发送时将IP包作为帧发送;接收时把接收到的位组装成帧;提供链路管理;错误检测等

数据包路由过程

子网主机A 发给 B---(这里假设B是具有公网地址的)

  1. A 把报文 发给 配置的默认网关 Ra ,Ra 查询自己的路由表,发现达到地址B的下一跳为 Rnext1,于是将报文转发给 Rnext1, 同样Rnext1 查询自己的路由表,然后到达Rnext2.。。。
    (实际上 不单经过n个路由(处理3层报文),中间可能存在大量的3层交换机(只处理2层报文))
    经过若干跳后,把来自A的报文转发到 B,B再 经过nat 达到B内部的子网地址
    2.B发给A 同上面的描述

ARP地址解析协议,获取MAC地址

ARP协议的基本功能:
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

ARP协议的工作原理及过程::
ARP协议的工作原理:在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如表所示。

我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。
如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;
如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其它主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09。”这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。
同时它还更新了自己的ARP缓存表。

HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

原理区别
一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。
根据HTTP规范
GET用于信息获取,而且应该是安全的和幂等的 ;POST表示可能修改变服务器上的资源的请求 。
GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息(个人认为这是GET和POST的本质区别,也是协议设计者的本意,其它区别都是具体表现形式的差异 )。
4.你对SPA的理解
5.router路由原理 没有说好。。
jdk集合源码

你可能感兴趣的:(51信用卡-Android开发)