自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Android高级面试题大全(持续更新中),android物联网开发从入门到实战源码

它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseArray不需要对key和value进行auto-boxing(将原始类型封装为对象类型,比如把int类型封装成Integer类型),结构比HashMap简单(SparseArray内部主要使用两个一维数组来保存数据,一个用来存key,一个用来存value)不需要额外的额外的数据结构(主要是针对HashMap中的HashMapEntry而言的)。5. Java多线程之间如何通信等待唤醒机制6

2022-01-10 14:58:01 240

原创 Android高级架构师:Android平台HTTPS抓包解决方案及问题分析

MITM Server的处理方式是从第一个SSL/TLS握手包Client Hello中提取出域名www.baidu.com,利用应用内置的CA证书创建www.baidu.com域名的公钥证书和私钥。创建的公钥证书在SSL/TLS握手的过程中发给Client,Client收到公钥证书后会由系统会对此证书进行校验,判断是否是百度公司持有的证书,但很明显这个证书是抓包工具伪造的。为了能够让系统校验公钥证书时认为证书是真实有效的,我们需要将抓包应用内置的CA证书手动安装到系统中,作为真正的证书发行商(CA),即洗

2022-01-10 14:56:36 526

原创 Android高级工程师面试必备之计算机网络基础,Android入门

数据链路层大白话 : 数据链路层将上传数据再度封装成数据帧,其MAC头部包含一个重要的MAC地址信息。可以理解为固化在硬件里的物理地址1.5、物理层物理层:实现相邻计算机节点之间比特流的透明传输物理层大白话 : 将上层数据转成电信号在网络中传输1.6、补充点常见硬件设备与五层模型的对应关系应用层:计算机(其实计算机是融合OSI七层于一身的)传输层:防火墙网络层:路由器(严格讲和我们家里所用的家用路由器不一致,一般在机房可以见到)数据链路层:交换机(例如家里的光猫)物理

2022-01-10 14:55:11 121

原创 Android高级工程师面试必备之计算机网络基础(1),安卓kotlin面试题

1.5、物理层物理层:实现相邻计算机节点之间比特流的透明传输物理层大白话 : 将上层数据转成电信号在网络中传输1.6、补充点常见硬件设备与五层模型的对应关系应用层:计算机(其实计算机是融合OSI七层于一身的)传输层:防火墙网络层:路由器(严格讲和我们家里所用的家用路由器不一致,一般在机房可以见到)数据链路层:交换机(例如家里的光猫)物理层:网卡二、TCP三次握手和四次挥手TCP三次握手简单示意图:2.1、为什么要三次握手?客户端发送SYN(TCP/IP建立的握手信号)

2022-01-10 14:53:46 2272

原创 Android音视频开发入门(1)基础概要,android开发入门与实践

常见的多媒体框架及解决方案VLC一款自由、开源的跨平台多媒体播放机框架FFmpeg多媒体解决方案,不是多媒体框架,广泛应用于音视频开发中GStreamer一套构建流媒体应用的开源多媒体框架。一些术语----------------------------------------1.帧率Frame Rate用于测量显示帧的量度。 换句话所就是我们最熟知的FPS或者HZ。注:如果FPS超出了 显示器的刷新率,那么就算FPS很高,多出来的部分也会浪费了图像处理的能力,因为监视器

2022-01-10 14:52:22 180

原创 Android音视频开发之——音频非压缩编码和压缩编码,神级Android进阶笔记

if (!file.exists()) {Toast.makeText(this, “请先进行录制PCM音频”, Toast.LENGTH_SHORT).show()return}val fis = FileInputStream(file)var read: Intstatus = Status.STARTINGwhile ({ read = fis.read(byteArray);read }() > 0) {var ret = audioTrack?.write(byteArra

2022-01-10 14:50:57 3139

原创 Android音视频——MediaCodec编码mp4踩坑记录,移动端页面开发

在探究该问题前,先来了解一下 MediaCodec 的两种编码模式:ByteBuffer 模式(手动档):格式:COLOR_FORMAT 对应的值是 MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar(图像格式 NV21)。操作:通过 MediaCodec.dequeueInputBuffer() 获取数据输入缓冲区,再通过 MediaCodec.queueInputBuffer() 手动将 YUV 图像传给 MediaCod.

2022-01-10 14:49:31 637

原创 Android面试题之Java基础篇,我的阿里手淘面试经历分享

2.String、StringBuffer 和 StringBuilder 的区别JAVA 早期平台提供了两个类:String 和 StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个 String 类提供了数值不可改变的字符串。而这个 StringBuffer 类提供的字符串可以进行修改。当你知道字符数据要改变的时候你就可以使用 StringBuffer。。String 类是不可变类,任何对 String 的改变都会引发新的 String 对象的生成;而 StringBu

2022-01-10 14:46:42 61

转载 三分钟快速搭建分布式高可用的Redis集群

6380端口的节点启动成功,第一次启动时如果没有集群配置文件,Redis会自动创建一个。6380端口的节点创建的集群配置文件如下:df1ac987f47dea35f1d0a83c3b405f0ef86892ab :0@0 myself,master - 0 0 0 connectedvars currentEpoch 0 lastVoteEpoch 0集群文件中记录的集群的状态,这里最重要的是节点ID,它是一个40位的16进制字符串,用于唯一标识集群中的这个节点。同样,也可以通过cluster nod

2022-01-05 19:11:47 162

原创 万字博文教你搞懂java源马的日期和时间相关用法

FastDateFormat.getInstance(CHINESE_DATE_TIME_PATTERN);复制代码看下对应的源码/**获得 FastDateFormat实例,使用默认格式和地区@return FastDateFormat*/public static FastDateFormat getInstance() {return CACHE.getInstance();}/**获得 FastDateFormat 实例,使用默认地区支持缓存@p

2022-01-05 19:10:23 262

原创 一问Kafka就心慌?我却凭着这份《Kafka源码实战

**第6章 Topic的管理工具 :**介绍三个维护脚本: kafka-topics.sh 、kafka-reassign-partitions.sh 和kafka preferredreplica-election.sh,它们分别涉及Topic的生命周期管理、Topic分区的重分配和分区首选副本的选择。**第7章 生产者 :**从设计原则、示例代码、模块组成和发送模式四个部分介绍有关消息生产者的相关知识,从设计原则至客户端编程,从客户端编程到内部实现原理,由浅人深,循序渐进地讲解。**第...

2022-01-05 19:08:57 763

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除