问题分析 RecyclerView卡顿通常由以下原因导致: 频繁创建/销毁ViewHolder onBindViewHolder执行耗时操作 图片加载未优化 嵌套滑动冲突 优化方案与代码示例 1....的缓存池 // 父RecyclerView中设置共享池 val sharedPool = RecyclerView.RecycledViewPool() childRecyclerView1.setRecycledViewPool...主线程耗时操作迁移到协程 // 错误示例:在主线程执行数据库查询 fun loadData() { val data = database.query() // 阻塞主线程 updateUI...APK组成分析 代码:Java/Kotlin编译后的DEX 资源:图片、XML、字体等 本地库:armeabi-v7a/arm64-v8a等SO文件 分阶段优化方案 1....合并网络请求(Retrofit + RxJava) // 使用RxJava的zip操作符合并多个请求 Observable.zip( apiService.getUserInfo(),
0056 已经达到网络命令的极限。 0057 网络适配器出现错误。 0058 指定的服务器无法执行所请求的操作。 0059 网络出现意外错误。 0060 远程适配器不兼容。...1352 安全帐户管理程序(SAM)或本地安全颁发机构(LSA)服务器状态不正确,所以无法运行安全操作。 1353 域处于执行安全操作的错误状态。 1354 该操作只能在域的主域控制器中执行。...1449 无法以指定的方式显示或关闭窗口。 1450 系统资源不足,无法完成所请求的服务。 1451 系统资源不足,无法完成所请求的服务。 1452 系统资源不足,无法完成所请求的服务。...1783 占位程序接收到错误数据。 1784 所提供的用户缓冲区对所申请的操作无效。 1785 无法识别磁盘媒体。它可能还未格式化。 1786 工作站没有信任密码。...1812 指定的映像文件不包含资源部分。 1813 在映像文件中找不到指定的资源类型。 1814 在映像文件中找不到指定的资源名称。 1815 在映像文件中找不到指定的资源语言 ID 。
〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 ...〖55〗-指定的网络资源或设备不再可用。 〖56〗-已到达网络 BIOS 命令限制。 〖57〗-网络适配器硬件出错。 〖58〗-指定的服务器无法运行请求的操作。 ...〖63〗-删除等候打印的文件。 〖64〗-指定的网络名不再可用。 〖65〗-拒绝网络访问。 〖66〗-网络资源类型错误。 〖67〗-找不到网络名。 ...〖1223〗-操作已被用户取消。 〖1224〗-请求的操作无法在使用用户映射区域打开的文件上执行。 〖1225〗-远程系统拒绝网络连接。 ...〖1349〗-令牌的类型对其尝试使用的方法不适当。 〖1350〗-无法在与安全性无关联的对象上运行安全性操作。
404 Not Found 找不到如何与 URI 相匹配的资源。 500 Internal Server Error 最常见的服务器端错误。...306——前一版本HTTP中使用的代码,现行版本中不再使用 307——申明请求的资源临时性删除 4**(客户端错误类):请求包含错误语法或不能正确执行 400——客户端请求有语法错误,不能被服务器所理解...404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。...属性请求 412——一个或多个请求头字段在当前请求中错误 413——请求的资源大于服务器允许的大小 414——请求的资源URL长于服务器允许的长度 415——请求资源不支持请求项目格式 416——请求中包含...5**(服务端错误类):服务器不能正确执行一个正确的请求 500 - 服务器遇到错误,无法完成请求 502 - 网关错误 503:由于超载或停机维护,服务器目前无法使用,一段时间后可能恢复正常 7.描述浏览器渲染的过程
401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。 401.4 未经授权:Web 服务器上安装的筛选器授权失败。 401.5 未经授权:ISAPI/CGI 应用程序授权失败。...403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。 403.17 禁止访问:客户端证书已经到期或者尚未生效。 403.18 禁止访问:无法在当前应用程序池中执行请求的 URL。...403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI。 403.20 禁止访问:Passport 登录失败。 404 找不到文件或目录。...500.19 服务器错误:该文件的数据在配置数据库中配置不正确。 500.20 服务器错误:URL 授权域无法找到。 500 100 内部服务器错误:ASP 错误。...0129 未知的脚本语言。服务器上找不到脚本语言 '|'。 0130 File 属性无效。File 属性 '|' 不能以斜杠或反斜杠开始。 0131 不允许的父路径。
嵌套资源 如果说,我们的部件有很多用户使用,URL的结构又将会是怎样的呢?...其实这根本不需要,因为你完全可以以ID的形式参考到那些嵌套资源,总比嵌套在父类中好。...如果你对HTTP状态码陌生,以下是一个简易总结。当你请求HTTP时,服务器会响应一个状态码来判断你的请求是否成功,然后客户端应如何继续。...–请求出错(语法格式有误或服务器无法理解此请求) 401 – 未授权(需要登录) 404 – 找不到 (找不到所请求的文件或脚本) 405 – 不允许此方法(错误的 HTTP方法) 409 – 冲突...(IE尝试以PUT请求创建相同的资源时) API响应格式 当你请求HTTP时,你可以请求你想要接收的格式。
,因而Android错误地计算了内层的可滑动控件的尺寸。...的LogCat无法打印信息 关掉手机或模拟器中运行的应用,重新打开应用即可。...上面的话说的是,如果我们将参数设置为false,我们RecyclerView的item子项还是有父容器可以依靠的,这个参数root作为父容器用来规范item子项用的。...base style View(Context context, AttributeSet attrs, int defStyle) 中间文件没有清理干净 rebuild或clear一下工程 资源文件找不到...原因分析: scrollToPosition有效执行的条件是position对应的Item不在屏幕可见范围内,而scrooToPositionWithOffset无这样的限制,所以本人黄色框框里的代码无法实现滚动的原因是
在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题。...什么是 Throwable Throwable 类是 Java 语言中所有错误(errors)和异常(exceptions)的父类。...什么是 Error Error 是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。...虚拟机栈:如果线程请求的栈深度大于虚拟机栈所允许的深度,将会出现 StackOverflowError 异常;如果虚拟机动态扩展无法申请到足够的内存,将出现 OutOfMemoryError。...在类的加载过程中, JVM 或者 ClassLoader 无法找到对应的类时,都可能会引起这两种异常/错误,由于不同的 ClassLoader 会从不同的地方加载类,有时是错误的 CLASSPATH 类路径导致的这类错误
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态码。...404(未找到):服务器找不到请求的网页。 5xx(服务器错误)这些状态码表示服务器在处理请求时发生内部错误。 500(服务器内部错误):服务器遇到错误,无法完成请求。...新增Promise对象 解决异步回调多层嵌套的问题 使得原本的多层级的嵌套代码,变成了链式调用 让代码更清晰,减少嵌套数 promise 容器:里面保存着某个未来才会结束的事件(通常是一个异步操作)...缺点 无法取消Promise 一旦新建它就会立即执行,无法中途取消 如果不设置回调函数,Promise内部抛出的错误,不会反应到外部 当处于Pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成...(重绘+回流) 对style的操作(对不同的属性操作,影响不一样) 还有一种是用户的操作,比如改变浏览器大小,改变浏览器的字体大小等(回流+重绘) 另外,transform操作不会引起重绘和回流,是一种高效率的渲染
1.异常简介 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。...这样的文件或目录) 异常: 当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常" 2.捕获异常 1.捕获异常try...except... ?...解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration ...对类型无效的操作 ValueError 传入无效的参数 UnicodeErrorUnicode 相关的错误 UnicodeDecodeErrorUnicode...__init__()的说明 这一行代码,可以调用也可以不调用,建议调用,因为__init__方法往往是用来对创建完的对象进行初始化工作,如果在子类中重写了父类的__init__方法,即意味着父类中的很多初始化工作没有做
如果再次执行该请求的话,不出意外的会返回 404 Not Found: ? DELETE并不具有安全性,因为在方法执行后会改变资源(把资源删除了)。...PUT 更新资源 Put应该用来对资源的整体更新。 由于PUT是对资源的整体修改,请求body中应该带着更新对象,所以先建立这个对象: ?...但是PUT具有等幂性,这个很好理解,多次执行同一个PUT请求后,结果是一样的。...这里,我对Description属性添加了Required约束,而其它约束和父类保持一致。 最后修改PUT的Action方法: ? 测试,POST: ? OK。...由于父子关系,父类的构造函数先执行,然后执行CityUpdateResourceValidator的构造函数。
Error Error 是程序无法恢复的严重错误,程序员根本无能为力,程序中不能对其编程处理, 对 Error 一般不编写针对性的代码对其进行处理 只能让程序终止。...受检异常表示程序本身没问题,但由于 I/O、网络、数据库等其他不可预测的错误导致的异常,调用者应该进行适当处理。...但是不要定义多余的 catch 块,多个 catch 块的异常出现继承关系,父类异常 catch 块放在最后面。 异常发生后,try 块中的剩余语句将不再执行。...释放资源 有时在 try-catch 语句中会占用一些非 Java 资源,如:打开文件、网络连接、打开数据库连接和使用数据结果集等,这些资源并非 Java 资源,不能通过 JVM 的垃圾收集器回收,需要程序员释放...资源的声明和初始化放在 try 语句内,不用再调用 finally,在语句执行完try语句后,会自动调用资源的 close() 方法。资源可以定义多个,以分号分隔。
什么是 Throwable Throwable 类是 Java 语言中所有错误(errors)和异常(exceptions)的父类。...比如说你正在读取的时候硬盘损坏,这个时候你就无法读取文件和关闭资源了,此时会抛出两个异常。但是在这种情况下,第二个异常会抹掉第一个异常。...什么是 Error Error 是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。...虚拟机栈:如果线程请求的栈深度大于虚拟机栈所允许的深度,将会出现 StackOverflowError 异常;如果虚拟机动态扩展无法申请到足够的内存,将出现 OutOfMemoryError。...在类的加载过程中, JVM 或者 ClassLoader 无法找到对应的类时,都可能会引起这两种异常/错误,由于不同的 ClassLoader 会从不同的地方加载类,有时是错误的 CLASSPATH 类路径导致的这类错误
1、什么是Java中的异常? 异常是在程序执行期间可能发生的错误事件,并且会中断它的正常流程。异常可能来自不同类型的情况,例如用户输入的错误数据,硬件故障,网络连接故障等。...finally块总是被执行,无论是否发生异常。 3、解释Java异常层次结构? Java异常是分层的,继承用于对不同类型的异常进行分类。...错误是超出应用程序范围的特殊情况,并且无法预测并从中恢复,例如硬件故障,JVM崩溃或内存不足错误。...Exception是所有Checked Exceptions的父类。 运行时异常是由错误的编程引起的,例如尝试从Array中检索元素。...使用Java 7 ARM功能确保资源已关闭或使用finally块正确关闭它们。 始终记录异常消息以进行调试。 使用multi-catch块清洁关闭。
缺乏顺序性: 回调地狱导致的调试困难,和大脑的思维方式不符; 嵌套函数存在耦合性,一旦有所改动,就会牵一发而动全身,即(控制反转); 嵌套函数过多的多话,很难处理错误 Promise...多路复用 http1.1下,想要并发多个请求,必须使用多个TCP连接,并且浏览器为了控制资源,对单个域名还有6个左右的连接数限制,超过限制数量的就需要pending。...现有的em后有rem, 因为em是相对于父级元素的,使用起来比较麻烦。 大量数据本地存储 存储在indexDB IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。...步骤: 创建/打开数据库。 在数据库中创建一个对象仓库(object store)。 启动一个事务,并发送一个请求来执行一些数据库操作,像增加或提取数据等。...异常处理 异常分类: 出错、呆滞、损坏、假死、崩溃 异常原因: JS 语法错误、代码异常 请求错误 静态资源加载异常 Promise异常 Iframe异常 跨域Script error 页面崩溃和卡顿
什么是Java中的异常? 异常是在程序执行期间可能发生的错误事件,并且会中断它的正常流程。异常可能来自不同类型的情况,例如用户输入的错误数据,硬件故障,网络连接故障等。...finally块总是被执行,无论是否发生异常。 3. 解释Java异常层次结构? Java异常是分层的,继承用于对不同类型的异常进行分类。...错误是超出应用程序范围的特殊情况,并且无法预测并从中恢复,例如硬件故障,JVM崩溃或内存不足错误。...Exception是所有Checked Exceptions的父类。 运行时异常是由错误的编程引起的,例如尝试从Array中检索元素。...使用Java 7 ARM功能确保资源已关闭或使用finally块正确关闭它们。 始终记录异常消息以进行调试。 使用multi-catch块清洁关闭。
23 数据错误(循环冗余检查)。 24 程序发出命令,但命令长度不正确。 25 驱动器找不到磁盘上特定区域或磁道。 26 无法访问指定的磁盘或软盘。 27 驱动器找不到请求的扇区。...55 指定的网络资源或设备不再可用。 56 已达到网络 BIOS 命令限制。 57 网络适配器硬件出错。 58 指定的服务器无法运行请求的操作。 59 出现了意外的网络错误。...170 请求的资源在使用中。 173 对于提供取消区域进行锁定的请求已完成。 174 文件系统不支持锁定类型的最小单元更改。 180 系统检测出错误的段号。 183 当文件已存在时,无法创建该文件。...997 重叠 I/O 操作在进行中。 998 内存分配访问无效。 999 执行页内操作时的错误。 1001 递归太深;堆栈溢出。 1002 窗口无法在已发送的消息上操作。 1003 无法完成此功能。...1064 当处理控制请求时,在服务中发生异常。 1065 指定的数据库不存在。 1066 服务已返回特定的服务错误码。 1067 进程意外终止。 1068 依存服务或组无法启动。
300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent)选择一项操作,或提供操作列表供请求者选择。 301 (永久移动) 请求的网页已永久移动到新位置。...404 (未找到) 服务器找不到请求的网页。 405 (方法禁用) 禁用请求中指定的方法。 406 (不接受) 无法使用请求的内容特性响应请求的网页。...5开头(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。 500 (服务器内部错误) 服务器遇到错误,无法完成请求。...4XX:客户端错误 400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。 401 Unauthorized 请求未授权。...404 Not Found 找不到如何与 URI 相匹配的资源。 5XX: 服务器错误 500 Internal Server Error 最常见的服务器端错误。
,会同时取出计数器,同时加一,同时放回去,这样的话数据就会错误,所以需要一个全局变量的对象给全部人使用,只需要new出一个实例对象,这就是单例模式的应用,并且单例模式节省资源,因为它控制了实例对象的个数...也可以自定义线程的有限级别 e)死锁:至少两个以上线程争取两个以上cpu资源,避免死锁就避免使用嵌套锁,只需要在他们需要同步的地方加锁和避免无限等待 12、AOP与IOC的概念(即spring的核心)...使用关联查询( left join on)查询代替子查询 c) 使用union联合查询手动创建临时表 d) 开启事物,当数据库执行多条语句出现错误时,事物会回滚,可以维护数据库的完整性 e) 使用外键...24、对象的创建 a) 遇到一个新类时,会进行类的加载,定位到class文件 b) 对所有静态成员变量初始化,静态代码块也会执行,而且只在类加载的时候执行一次 c) New 对象时,jvm会在堆中分配一个足够大的存储空间...c) 一致性:事物执行之前和执行之后都处于一致性状态 d) 持久性:事物多数据的操作是永久性 e) 隔离性:当一个事物正在对数据进行操作时,另一个事物不可以对数据进行操作,也就是多个并发事物之间相互隔离
,会同时取出计数器,同时加一,同时放回去,这样的话数据就会错误,所以需要一个全局变量的对象给全部人使用,只需要new出一个实例对象,这就是单例模式的应用,并且单例模式节省资源,因为它控制了实例对象的个数...也可以自定义线程的有限级别 e)死锁:至少两个以上线程争取两个以上cpu资源,避免死锁就避免使用嵌套锁,只需要在他们需要同步的地方加锁和避免无限等待 10、AOP与IOC的概念(即spring的核心)... 使用关联查询( left join on)查询代替子查询 c) 使用union联合查询手动创建临时表 d) 开启事物,当数据库执行多条语句出现错误时,事物会回滚,可以维护数据库的完整性 e) 使用外键...22、对象的创建 a) 遇到一个新类时,会进行类的加载,定位到class文件 b) 对所有静态成员变量初始化,静态代码块也会执行,而且只在类加载的时候执行一次 c) New 对象时,jvm会在堆中分配一个足够大的存储空间...c) 一致性:事物执行之前和执行之后都处于一致性状态 d) 持久性:事物多数据的操作是永久性 e) 隔离性:当一个事物正在对数据进行操作时,另一个事物不可以对数据进行操作,也就是多个并发事物之间相互隔离
领取专属 10元无门槛券
手把手带您无忧上云