- 博客(21)
- 收藏
- 关注
原创 android中背压问题面试题及高质量回答范例
背压是指当数据生产速度快于消费速度时,导致的数据堆积、内存压力甚至程序崩溃的问题。它常见于异步流场景,比如网络请求、传感器事件、用户点击、高频数据等。背压其实是系统资源管理的问题,解决它要综合考虑生产速率、消费能力、缓存容量。在 Android 中使用如 Kotlin Flow、RxJava 等流式框架时,需要显式使用buffer()conflate()debounce()等操作符来控制流量,保障系统的稳定性。面试前,准备两个你真实写过的带有背压处理的例子。
2025-05-07 15:31:40
901
原创 android中的背压问题及解决方案
背压是指:数据生产速度 > 数据消费速度,导致的数据堆积问题。场景建议方案UI 层收集数据(如 LiveData -> Compose)用 Flow,buffer()高频传感器或点击事件使用debounce()或网络请求分页/长轮询emitAll()文件读写、数据库导入多生产者合并数据使用merge()+ 合理背压策略。
2025-05-07 15:12:01
497
原创 类加载器与jvm的内存
类加载器的字节码放在方法区(元空间)中,同时类加载器加载类后类的信息(成员变量、成员方法及修饰符等)存放在方法区中。类的信息所占内存的回收要同时满足两个条件:类的实例被回收和类加载器被回收。加载自定义模块的类(如反射加载类时的自定义类加载器和插件化时自定义的类加载器)),开发者可以控制其生命周期。加载应用中所有类(包括用户的类和框架类),生命周期和应用相同。加载系统级别的类(通常由系统本身管理),生命周期和系统同步。加载类:从apk文件、dex文件或者文件系统中加载字节码。
2025-04-22 18:54:09
370
原创 java的反编译命令
每个方法的 Code、行号表(LineNumberTable)、局部变量表 ( LocalVariableTable)类的访问标志(access_flags)常量池(Constant Pool)方法表(Methods)字段表(Fields)显示所有访问级别,包括private。
2025-04-22 18:49:44
360
原创 Java 静态内部类面试题与高质量答案合集
静态内部类是定义在外部类内部并使用 static 修饰的类。它与外部类的实例无关,不能访问外部类的实例变量,只能访问外部类的静态成员。
2025-04-22 18:27:45
911
原创 面试——Android app启动流程
Android app启动流程桌面进程收到点击,并进行响应 桌面进程进入onpause状态 System进程通过fork zygote进程复制出app进程 在复制出的进程中创建ActivityThread,病启动main方法,接受消息循环 进程的信息注册给AMS,并在堆栈栈顶启动应用的activity...
2020-03-16 19:07:55
763
原创 面试——Tcp、Udp协议的区别
Tcp、Udp、Http、HttpsTcp: 传输控制层协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。 Udp:不可靠的,面向非连接和数据报的协议,不受算法控制。 Http:应用层协议,应用之间的打包和解析 Https:添加安全套接层的http协议。包含认证服务...
2020-03-15 23:22:41
195
原创 面试——三次握手、四次挥手
三次握手、四次挥手客户端发起连接请求 服务端确认收到请求,并发送数据报 客户端给服务端发送数据报,确认建立连接客户端发送断开连接请求 服务端发送确认收到消息,同时进入等待断开状态 服务端确认没有数据传输,发送ack,确认关闭 客户端收到回复,关闭连接...
2020-03-15 23:13:34
212
原创 面试——网络分层及意义
原理型网络分层物理层:采集到的数据转换成二进制数据。以及网络采用什么介质。 数据链路层:数据帧级别的传输问题。负责错误重发,流量控制,拥堵控制等 网络层:负责点对点的传播,两个主机之间的识别。Ip协议 传输层:负责两个主机之间建立连接。拥有tcp/udp协议 应用层:负责应用之间的打包和解析。http协议ISO标准分层物理层 数据链路层 网络层 传输层 会话层...
2020-03-14 18:01:22
505
原创 面试——计算机网络的物种拓扑结构
星型拓扑:所有节点都与中心节点相连,任何亮点之间的通信都得通过中心节点,中心节点控制着全网结构。 总线拓扑结构:任意两个节点都与总线相连,节点之间的通信都得通过总线。只能同步有一条消息发送,如果同时有两条以上信息发送,则会引起冲突 环型:两两节点相连构成一个环型。任意两点之间的通信都可能会经过多个中继点。任意两点之间的网络出现故障,则整个网络会出现瘫痪状态 树形拓扑:节点之间的连接以树形展开...
2020-03-12 23:24:28
376
原创 HTTP 协议的 8 种请求类型介绍
HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下:OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响...
2020-02-21 19:18:54
265
原创 Mac下php项目部署
配置PHP环境一、确认apache环境和php环境:1.检查apache版本: sudo apachectl -version2.检查php版本: sudo php -v二、修改apache文件:1.进入 /private/etc/apache2 文件夹找到: httpd.conf文件2.文件中找到:LoadModule php7_modulelibexe...
2019-07-12 16:21:01
2273
转载 单元测试时如果期望值是抛出异常的处理方法(转)
最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考。在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常。例如,我有一个方法,里面对一个List进行读取操作,可能会抛出IndexOutOfBoundsException,我希望在单元测试中通过测试保证该方法会正确的抛出正确类型的异常。总结起来这样的测试异常是否被正确抛出的方法有三种:1. try...
2018-09-12 17:08:41
9443
原创 gradle: Permission denied
当我们配置完gradle环境变量时,在终端输入gradle -version有可能有如下提示:-bash: /Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle: Permission denied,这表明权限已经配置成功,但是没有访问权限。输入一下命令就可以解决:chmod +x /App...
2018-09-12 17:07:32
1393
原创 Activity的生命周期及其状态
Activity的状态:1、Active/Running(活动状态):activity处于栈顶,可见,拥有用户焦点,可与用户进行交互。2、Paused(暂停状态):activity失去用户焦点,不可与用户进行交互。但是可见。会保存所有activity的状态信息和成员变量。当一个非全屏的activity或者透明的activity覆盖于当前activity之上时,activity会处于此状态。内存紧张...
2018-06-26 19:45:03
1107
原创 TCP/UDP,Http/Https定义区别
定义:TCP:(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议 UDP :是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务 Http:...
2018-06-26 19:03:23
373
原创 java中网络请求常见返回状态码
200:请求被服务器正常处理201:请求成功且服务器已经创建了新的资源202:服务器接受成功,但尚未进行处理203:服务器成功处理请求,但可能返回了其他来源的信息204:服务器正常处理,但是没有内容返回205:重置内容:服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。206:服务器完成了部分get请求 300:服务器提供多...
2018-06-18 12:00:42
1862
原创 android中表示图片的Bitmap、Drawable之间的转化以及他们和字节数组、输入流之间的转化
package com.android.music;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import android.graphics.Bitma
2017-03-16 14:55:56
925
转载 单元测试时期望值是抛出异常的情况
最近在做TWU关于TDD的作业,对JUnit中测试异常抛出的方法进行了一些学习和思考。在进行单元测试的时候有的时候需要测试某一方法是否抛出了正确的异常。例如,我有一个方法,里面对一个List进行读取操作,可能会抛出IndexOutOfBoundsException,我希望在单元测试中通过测试保证该方法会正确的抛出正确类型的异常。总结起来这样的测试异常是否被正确抛出的方法有三种:1.
2017-03-07 17:08:02
8533
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人