首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

已中招!Android 基础面试常常吊死在这几个问题上……

面试官:我给你讲讲吧,你去别的公司面试你,你可以这样回答: OnCreate():这是第一次创建视图时。通常,这是我们创建视图包中获取数据等的地方。...应聘:应使用线程将长时间运行的操作与主线程分开,以提高性能。但是它不能被优雅地取消,并且不能处理 Android 的配置更改。无法 Thread 更新 UI 。...假设我们要显示100行项目。一种简单的方法是只创建100个视图,每行一个视图,然后将它们全部布局。但这是浪费的,因为在任何时间点上,只有10个左右的项目可以放在屏幕上,而其余项目则不在屏幕上。...代替为每个新行创建新视图,而是通过将新数据绑定到旧视图来对其进行回收和重用! 应聘:我学到了! 18、面试官:再说一下RecyclerView与ListView有何不同?...即使适配器返回膨胀视图以进行回收,仍然需要查找元素并进行更新。重复使用的一种方法 findViewById() 是使用 “ViewHolder” 设计模式。

2K20

ZGC关键技术分析

通过设置地址元位的状态,可以形成不同地址视图,ZGC同一物理堆内存被映射到虚拟地址空间三次,从而产生同一物理内存的三个“视图”,GC活动的不同时期会只存在一个活跃视图,根据垃圾回收的周期ZGC通过切换不同视图标来记出对象的颜色...在垃圾回收时,ZGC只需要扫描其中一个虚拟内存段,并将其作为当前视图映射到实际的内存位置。同时,ZGC会将其他虚拟内存段映射到虚拟地址上,这些内存段不会被收集器扫描。...无论是业务线程作为使用访问对象,还是GC线程遍历堆中的所有活动对象(在标记期间)都有可能会触发读屏障。ZGC读屏障如何实现呢?举个例子,代码 var x = obj.field。...GC周期中地址视图窗口图片并发标记(M/R)并发标记的任务有2个:第一,并发标记线程待标记的对象列表出发,根据对象引用关系图遍历对象的成员变量,递归进行标记。第二,计算,并更新关联页面的活跃度信息。...活动信息是页面上的活动字节数,用于选择将要回收的页面,这些对象将作为堆碎片整理的一部分进行重新定位。

27230
您找到你想要的搜索结果了吗?
是的
没有找到

node.js 内存泄漏的秘密

如果你将内存视为一个树结构,那么可以想象 V8 “根节点”开始保存程序中所有的变量。这可能是你的 window 对象,也可能是 Node.js 模块中的全局对象,通常称为控制。...请记住:要确定某个对象是否处于活动状态,需要检查是否可通过被定义为活动对象的某个指针链到达;其他所有的情况,例如无法根节点访问,或无法被根节点或另一个活动对象引用的对象,都会被视为垃圾。...Orinoco 垃圾收集器 Orinoco 是最新 GC 项目的代号,它利用最新的增量和并发技术进行垃圾回收,并有释放主线程的功能。...描述 Orinoco 性能的重要指标之一是垃圾回收器执行时主线程暂停的频率和时间。对于经典的“世界末日”收集而言,这些时间间隔会因为延迟、质量差的渲染以及响应时间的增加而影响程序的用户体验。...V8 在新声代内存中的辅助流之间分配垃圾回收工作(清除)。每个流接收一组指针,然后将所有活动对象移动到“to-space”。

2.1K21

Flutter 2.5正式版发布,带来重大更新

根据官方的介绍,这是一个大版本更新,一共关闭了 4600 个问题, 252 个贡献和 216 个审阅合并了 3932 个 PR。...Widget Inspector 中更详细地查看你的小部件; 在 Visual Studio Code 项目中添加依赖关系的新支持; IntelliJ/Android Studio 的测试运行中获取覆盖信息的新支持...Android 全屏、Material You & 文本编辑快捷方式 (#81303) 开始, 我们修复了 Android 一系列与全屏模式相关的问题,此更改还添加了一种在其他模式下收听全屏更改的方法...彩色框架图,用于识别应用中的应用、原生、Dart 和 Flutter 代码活动。...同时,此版本的 DevTools 附带了对 Widget Inspector 的更新,允许将鼠标悬停在 Widget 来获取评估对象、视图属性、小部件状态等信息。

4.3K50

新一代垃圾回收器ZGC的探索与实践

GC停顿指垃圾回收期间STW(Stop The World),当STW时,所有应用线程停止活动,等待GC停顿结束。...并发标记阶段:并发标记阶段是指GC Roots开始对堆中对象进行可达性分析,找出存活对象。该阶段是并发的,即应用线程和GC线程可以同时活动。...并发标记阶段:第一次进入标记阶段时视图为M0,如果对象被GC标记线程或者应用线程访问过,那么就将对象的地址视图Remapped调整为M0。...跟做其他项目区别不大,不再具体细说。 在我们的实践中,两周时间完成线上部署,达到安全稳定运行的状态。后续持续迭代3个月,根据业务场景对ZGC进行了更契合的优化适配。...注意JDK 11版本中的ZGC不支持Mac OS系统,在Mac OS系统上使用JDK 11只能用其他垃圾回收器,如G1。

1.1K41

Flutter 2.5正式版发布,带来多项重大更新

根据官方的介绍,这是一个大版本更新,一共关闭了 4600 个问题, 252 个贡献和 216 个审阅合并了 3932 个 PR。...Widget Inspector 中更详细地查看你的小部件; 在 Visual Studio Code 项目中添加依赖关系的新支持; IntelliJ/Android Studio 的测试运行中获取覆盖信息的新支持...[在这里插入图片描述] Android 全屏、Material You & 文本编辑快捷方式 (#81303) 开始, 我们修复了 Android 一系列与全屏模式相关的问题,此更改还添加了一种在其他模式下收听全屏更改的方法...彩色框架图,用于识别应用中的应用、原生、Dart 和 Flutter 代码活动。...[在这里插入图片描述] 同时,此版本的 DevTools 附带了对 Widget Inspector 的更新,允许将鼠标悬停在 Widget 来获取评估对象、视图属性、小部件状态等信息。

3.5K00

【性能优化】Jprofiler基础知识汇总

用户若不想进行会话配置,其可以多个IDE插件中选择其最喜欢的那个对应用程序进行配置。...HeapDumpOnOutOfMemoryError JVM参数触发)创建的HPROF快照文件 JProfiler功能描述: 早期版本(V6.2.4): 内存剖析 Memory profiler JProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图...所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。 所有对象 :显示类或在状况统计和尺码信息堆上所有对象的包。你可以标记当前值并显示差异值。...索引 References :为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功能。还能提供合并输入视图和输出视图的功能。 数据 Data :为单个对象显示实例和类数据。...记录的对象 Recorded objects :显示一张关于活动对象与数组的图表的活动时间表。 垃圾回收 Garbage collector: 显示一张关于垃圾回收活动活动时间表。

75250

Jprofile解析dump文件使用详解

4 模块功能点详解 也可以使用工具栏中的“转到开始”按钮访问第一个数据集 4.1 内存视图 Memory Views JProfiler的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图...所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。 所有对象 All Objects 显示类或在状况统计和尺码信息堆上所有对象的包。你可以标记当前值并显示差异值。...索引 References 为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功能。还能提供合并输入视图和输出视图的功能。 时间 Time 显示一个对已记录对象的解决时间的柱状图。...对线程剖析,JProfiler提供以下视图: 线程历史 Thread History 显示一个与线程活动和线程状态在一起的活动时间表。...记录的生产量 Recorded Throughput 显示一段时间累计的JVM生产和释放的活动时间表。 垃圾回收活动 GC Activity 显示一张关于垃圾回收活动活动时间表。

3.9K20

小程序架构

实现了对底层API接口的调用,所以在小程序里面开发,开发不用太多去考虑OS的实现差异的问题,安心在上层的视图层和逻辑层进行开发即可。 数据通信机制: ? 分为数据单项绑定、事件绑定。...四、小程序项目结构 ?...当小程序后台运行或跳转到其他页面时,触发onHide方法。 当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。...由上图可知,小程序由两大线程组成:负责界面的视图线程(view thread)和负责数据、服务处理的服务线程(appservice thread),两协同工作,完成小程序页面生命周期的调用。...后台运行状态:如果界面进入后台,服务线程就进入后台运行状态,目前的官方解读来说,这个状态挺奇怪的,和激活状态是相同的,也可以通过setdata函数更新界面的。

1.8K30

IDEA集成Java性能分析神器JProfiler

内存视图Live memory  JProfiler的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图。...所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。 ? 所有对象 All Objects 显示类或在状况统计和尺码信息堆上所有对象的包。你可以标记当前值并显示差异值。...索引 References 为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功能。还能提供合并输入视图和输出视图的功能。 时间 Time 显示一个对已记录对象的解决时间的柱状图。...访问图 Call Graph 显示一个已选方法、类、包或J2EE组件开始的访问队列的图。 方法统计 Method Statistis 显示一段时间内记录的方法的调用时间细节。 4.4....记录的生产量 Recorded Throughput : 显示一段时间累计的JVM生产和释放的活动时间表。 垃圾回收活动 GC Activity:显示一张关于垃圾回收活动活动时间表。

4.1K10

生命周期感知 Lifecycle

例如,如果回调在保存活动状态后运行 Fragment 事务,那么它将触发崩溃,因此我们永远都不想调用该回调。 为了简化此用例,Lifecycle 类允许其他对象查询当前状态。...尝试编写数据驱动的 UI ,其中 UI 控制器的职责是在数据更改时更新视图,或者将用户操作通知给 ViewModel 。 将数据业务逻辑放在 ViewModel 类。...但并不是说让 ViewModel 类去获取数据,相反的应该让其他合适的组件去获取数据,ViewModel 类只是把结果提供给 UI 控制器。 使用数据绑定库维护视图和 UI 控制器的整洁。...这让视图更具声明性,并减少在 UI 控制器的更新代码。如果你倾向于使用 Java ,可以使用 Butter Knife 减少重复代码。...这将创建一个可能较长的时间间隔,在该时间间隔中,即使无法修改其 UI 状态,观察仍认为生命周期处于活动状态。

1.2K20

阿里太狠了,把人问蒙了

时间戳:使用时间戳记录数据的更新时间,在更新数据时,在比较时间戳。如果当前时间戳大于数据的时间戳,则说明数据已经被其他线程更新更新失败。 使用时间戳会不会有可见性问题?...开发无需处理繁琐的配置,可以快速搭建项目并专注于业务逻辑的实现。 集成性强:Spring Boot提供了大量的起步依赖,涵盖了各种常见的库、框架和组件,使得集成第三方库和服务变得更加容易。...起步依赖:Spring Boot提供了一系列起步依赖,这些依赖包含了常用的框架和功能,可以帮助开发快速搭建项目。...通过引入适合项目需求的起步依赖,开发可以快速构建出符合要求的应用程序,减少了配置的复杂度 后端 是否了解消息队列呢? 了解过,常见的消息队列有RabbitMQ、Kafka、RocketMQ。...视图本身是基于其他表的查询,所以可以用视图作为隔离,返回一张过滤后的表,这样对数据安全也是有好处的,订单表本身含有的信息比较多,在上面的这个需求当中实际上使用到的订单表的字段并不多,或者说只是数量统计,

12510

运维CMDB建设思路

的确CMDB在ITIL中应该算是一个核心概念,以它为基础,才能构建起相关的其他运维活动,因为所有的活动都需要与这个CMDB平台交互。在CMDB构建的过程中,都会碰到如上的问题。...这个模型整体解决思路是从业务活动视图导出信息模型再导出技术实现方案,依此类推。其中尤其以前面两个视图最为重要。...NGOSS的业务视图,它吧电信内部的业务活动按照领域模型分成了不同子欲,在每一个子域中不断向下细分,最后得出各个明确的业务框架和活动视图。...比如说服务器申请、回收、IP地址分配回收、进程的上下线等等,这是我们建设CMDB的首要原则,不要臆想我们要管理哪些资源,比如说glibc的版本库。通过活动的识别,去导出管理的资源对象。...第一个问题可以简单些理解,我们面对要管理的对象来说,可以把它们划分成物理对象和逻辑对象。

1.6K90

运维CMDB建设思路

的确CMDB在ITIL中应该算是一个核心概念,以它为基础,才能构建起相关的其他运维活动,因为所有的活动都需要与这个CMDB平台交互。在CMDB构建的过程中,都会碰到如上的问题。...这个模型整体解决思路是从业务活动视图导出信息模型再导出技术实现方案,依此类推。其中尤其以前面两个视图最为重要。...NGOSS的业务视图,它吧电信内部的业务活动按照领域模型分成了不同子欲,在每一个子域中不断向下细分,最后得出各个明确的业务框架和活动视图。...比如说服务器申请、回收、IP地址分配回收、进程的上下线等等,这是我们建设CMDB的首要原则,不要臆想我们要管理哪些资源,比如说glibc的版本库。通过活动的识别,去导出管理的资源对象。...第一个问题可以简单些理解,我们面对要管理的对象来说,可以把它们划分成物理对象和逻辑对象。

1.2K30

APP测试面试题汇总

具体要准备的测试资源,根据实际项目来,可以以下几个方面出发: 1.IOS设备、Android设备(选取市面上主流手机产品); 2.支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等; 3.有秒杀专题的题目...,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步更新。...安装:需考虑安装时的中断、弱网、安装后删除安装文件,全新安装、升级安装、第三方工具安装等情况; 卸载:需考虑第三方工具卸载、直接卸载卸,载后是否删除app相关的文件; 更新:分强制更新、非强制更新、增量包更新...生命周期即活动开始到结束所经历的各种状态,从一个状态到另一个状态的转变,从无到有再到无,Activity本质上有四种状态: 运行(Active/Running):Activity处于活动状态,此时Activity...系统回收(Killed):当Activity被系统回收掉,Activity就处于Killed状态。

1.7K31

JDK11升级JDK17最全实践干货来了

长期支持版本 JDK17是Oracle官方在2021年9月14日发布的一个长期支持(LTS)版本,意味着它将获得长期的更新和支持,有助于保持程序的稳定性和可靠性。 2. 性能提升 更好的垃圾回收器。...ZGC垃圾回收器从实验性功能更改为正式产品功能,JDK11引入以来,经过持续的迭代升级,目前已经足够稳定。需要手动开启,开启方式:-XX:+UseZGC 2....比较实用的一个特性,可以用来限制类的层次结构 5.2.6 其他优化和升级 感兴趣的读者,推荐阅读OpenJDK官方文档说明,JDK11到JDK17的改动: https://openjdk.org/projects...小项目想当大Boss?...结合现有平台的通用能力,实现会员行为全路径覆盖,并能结合企业自身业务特点,规划相应的会员精准营销活动,提升会员忠诚度和业务的持续增长。

87010

运维CMDB建设思路

的确CMDB在ITIL中应该算是一个核心概念,以它为基础,才能构建起相关的其他运维活动,因为所有的活动都需要与这个CMDB平台交互。在CMDB构建的过程中,都会碰到如上的问题。...这个模型整体解决思路是从业务活动视图导出信息模型再导出技术实现方案,依此类推。其中尤其以前面两个视图最为重要。...NGOSS的业务视图,它吧电信内部的业务活动按照领域模型分成了不同子欲,在每一个子域中不断向下细分,最后得出各个明确的业务框架和活动视图。...比如说服务器申请、回收、IP地址分配回收、进程的上下线等等,这是我们建设CMDB的首要原则,不要臆想我们要管理哪些资源,比如说glibc的版本库。通过活动的识别,去导出管理的资源对象。...第一个问题可以简单些理解,我们面对要管理的对象来说,可以把它们划分成物理对象和逻辑对象。

76710

ClearCase一些概念整理 原

在此基础上,你可以比较自由的进行设置和二次开发,以满足你实际项目的需要。 它的优点是灵活。...静态视图是位于本机的一个目录树,这个其他工具很像。 动态视图有点像虚拟盘符,看着是在本机上,实际上是连到了服务器。...而把变更集私有流提交(deliver命令)到公共流后,大家就都能看到啦。 总之,提交包括两步,工作区到私有流,再从私有流到公有流。...更新 ClearCase UCM这里所说的更新,大致对应于ClearCase UCM里的变基(Rebase)私有流,并相应的更新私有流对应的工作区。...触发器 ClearCase UCM除了设置触发器外, 还可以锁定公共的地盘(公共流)、仅特定的用户可写,可以提交活动,而对其他人只读; 或者在创建基线时,

1.8K10

「译」Orinoco: V8的垃圾回收

我们将活动对象复制到当前没有被整理的其他内存页中(即被添加到空闲列表的内存页);通过这种做法,我们就可以利用内存中高度小而分散的内存空间。...垃圾回收器复制活动对象到当前没有被整理的其他内存页中有一个潜在的缺点,我们要分配内存空间给很多常驻内存( long-living)的对象时,复制这些对象会带来很高的成本。...这就是为什么我们只选择整理内存中高度分散的内存页,并且对其他内存页我们只进行清除而不是也同样复制活动对象的原因。...图片 副垃圾回收器移动 ‘intermediate’ 子代的活动对象到老生代 副垃圾回收器在清理时,实际上执行三个步骤:标记,移动活动对象,和更新对象的指针;这些都是交错进行,而不是在不同阶段。...以便于其他协助线程可以找到该活动对象更新后的指针。为了快速的给幸存下来的活动对象分配内存,清理任务会使用线程局部分配缓冲区。

24920
领券