笔记
T-silence
曾想仗剑走天涯,后来忙就没去
展开
-
2020-6-8
每天一个面试小知识Day1 binder与其他IPC通信对比 1 共享内存 通过shmget创建内存共享区,通过shmat进行映射(逻辑地址和物理地址通过页表进行关联) 两个进程用户可以直接通过地址直接访问修改数据,无需数据拷贝,效率最高 缺点:共享内存未提供同步机制,多进程的操作访问较为复杂,得通过信号量方式实现同步访问控制) 2 管道 分匿名和有名管道 匿名管道局限性大,通信双方得是亲缘进程 实现方式 1父进程通过pipe创建管道,得到两个描述符(读端和写端) 2 父进程fork一个子进程,子进程同样得原创 2020-06-11 13:28:03 · 172 阅读 · 0 评论 -
2020-6-9
每天一个面试小知识Day2 switch-case的优化方案: 1 策略者模式:定义一个抽象接口,根据switch(state)中state写n个实现类 将state和实现类通过map产生映射关系(两种映射途径 1 状态码state和具体实现类映射 缺点:程序运行就会将所有实现类实例化,如果实现类较为复杂,对内存和性能有影响 2 通过配置文件映射:当具体的消息分发过来,才会通过反射去实例化具体对象) 2 注解+反射:用注解去标记一个消息id,写在每个具体实现方法前,程序运行时获取所有注解,放入map集合中(原创 2020-06-11 13:21:42 · 152 阅读 · 0 评论 -
2020-06-11
每天一个面试小知识Day1 加密算法及应用 1 对称加密:加密和解密用的同一个秘钥。 常见的对称加密算法:DES AES 等等。 使用场景:数据通信传输 2 非对称加密:加密和解密是不同的秘钥 常见的非对称加密算法:RSA DSA等等 使用场景 : 加密通信 RSA + AES 主要用于向服务器发送一段数据 步骤: 1服务端生成AES秘钥和IV 分散因子,客户端生成RSA的秘钥对。 2 客户端携带RSA公钥和随机数向服务器请求AES秘钥 3 服务端返回通过RSA公钥加密的AES秘钥和IV 4 客户端用RS原创 2020-06-11 13:17:35 · 465 阅读 · 0 评论