按线程数分,可以分为串行垃圾回收器和并行垃圾回收器;按照工作模式分,可以分为并发式垃圾回收器和独占式垃圾回收器;按碎片处理方式可分为压缩式垃圾回收器和非压缩式垃圾回收器;而按工作的内存区间,又可分为新生代垃圾回收器和老年代垃圾回收器...本文就基于工作的内存区间划分,来介绍七种经典的垃圾回收器,下图是它们的工作区间以及搭配方式。...ParNew 收集器在单核心处理器的环境中绝对不会有比 Serial 收集器更好的效果。...如果在服务端模式下,它也可能有两种用途:一种是在 JDK 5 以前的版本中与 Parallel Scavenge 收集器搭配使用,另外一种就是做为 CMS 收集器发生失败时的后备预案,在并发收集发生 Concurrent...STW,标记出那些在并发标记过程中遗漏的,或者内部引用发生变化的对象 clean up: 垃圾清除过程,如果发现一个Region中没有存活对象,则把该 Region 加入到空闲列表中 Full GC
---- 我们在处理业务的时候,偶尔会因为某些非抵抗力因素,需要对浏览器的滚动条进行处理,以提升产品的体验。...本文我们来谈谈关于浏览器滚动条的自定义和隐藏 自定义滚动条 首先,我们来认识滚动条的那些选择器。...对于 webkit 内核的浏览器,滚动条有以下的选择器: 名称 用途 scrollbar 滚动条 - 占据指定的宽高 scrollbar-track 滚动条的轨道 scrollbar-corner 滚动条的底角...读者通过更改对应的代码熟悉下: 代码片段 鼠标移动到容器右下角的滑块,并点击拖动可以伸缩容器大小 好了,至此我们就可以根据自己业务实际的需求,运用不同的选择器,对滚动条进行自定义样式了。...} -ms-overflow-style: none; /* IE 和 Edge */ scrollbar-width: none; /* Firefox */ } 代码片段 案例中,
理解 HotSpot JVM 中的不同垃圾回收器(如 CMS、G1 和 ZGC)的区别,需要深入了解它们的设计原理、工作方式和应用场景。...以下是对这三个垃圾回收器的简要概述以及一个示例 Java 程序,虽然示例程序本身不能直接展示垃圾回收器的内部机制,但可以帮助观察不同垃圾回收器的行为。...垃圾回收器概述CMS (Concurrent Mark-Sweep)设计目标:最小化停顿时间,适合需要低延迟的应用。...示例 Java 程序以下是一个简单的 Java 程序,可以用来观察不同垃圾回收器的行为。你可以通过 JVM 参数指定使用哪种垃圾回收器。...总结不同的垃圾回收器有不同的设计目标和实现方式,选择合适的垃圾回收器对应用的性能至关重要。
放一张很古老的图,大家在N多博客都看到的图。 ?...image.png 除去上一篇说的CMS,剩下的都是这几类了,然后根据Old or New 自行分配就好了 串行垃圾回收器(Serial Garbage Collector) 并行垃圾回收器(Parallel...Garbage Collector) 并不是说老的收集器就一无是处,在单线程环境下串行垃圾回收还是作用很强大的,或者说没得选?...这两篇结束之后,基本上垃圾回收器这一部分就说完了,最后说明一下如何指定回收器吧 -XX:+UseG1GC G1垃圾回收器 -XX:ParallelCMSThreads= 并发标记扫描垃圾回收器 =后面为使用的线程数量...-XX:+UseSerialGC 串行垃圾回收器 -XX:+UseParallelGC 并行垃圾回收器 -XX:+UseConcMarkSweepGC 并发标记扫描垃圾回收器
前言 小伙伴们,在前面的文章中,我们谈到了Android开发中的自定义view的基本概念及方法等,本文我们实际举例自定义一个ListView。...一 ListView 介绍 ListView 是 Android 中的经典列表控件,用于展示一组垂直滚动的项目。...基本功能支持:ListView 提供了基本的滚动和点击事件处理,可以通过设置点击监听器来响应用户的点击操作。...支持多种布局样式:可以通过自定义适配器来定制每个列表项的布局,包括单行文本、图文混排等。...运行应用程序后,您将看到一个显示列表项的自定义列表视图。 通过在 CustomAdapter 类中添加更多的逻辑和布局定义,您可以根据需求定制每个列表项的外观和功能。
回想当年,你可以通过在可滚动的元素(例如 )上使用非标准的 CSS 属性(例如 scrollbar-base-color 之类)来 自定义 IE(5.5) 浏览器滚动条样式,并且可以实现...最近,自定义滚动条又回来了,不过是在 Webkit 内核中。相比之前,这次的属性名字加了供应商前缀(例如 ::-webkit-scrollbar)并且使用了 "Shadow DOM"。...:window-inactive – window-inactive 伪类应用于所有滚动条的部件,表示包含滚动条的窗口当前是否是激活的。(在最新版中这个伪类也可作用于 ::selection。...这里有一点特别好的是,滚动条是在 body 元素上的,所以滚动条的并不是像常见的那样贴在顶部、底部和浏览器窗口的右侧。...我通过复制和粘贴做了一个类似效果的测试页面: 查看例子 在 Forrst 网站,他们在代码片段部分也使用了很棒自定义滚动条。那些滚动条不那么抢眼,尽量减少了对于代码高亮的影响: ? ?
堆存储动态创建的对象,例如结构、切片和映射,以及由于其限制而无法放入堆栈中的大型内存块。 重用堆中的内存并防止其被完全阻塞的唯一工具是垃圾回收器。...垃圾回收器中的内存由以下部分组成: 实时堆内存(在上一个垃圾回收周期中标记为“实时”的内存) 新堆内存(垃圾回收器尚未分析堆内存) 内存用于存储一些元数据,与前两个实体相比,这些元数据通常微不足道。...如何管理垃圾回收器 有一个参数允许您在 Go 中管理垃圾回收器: GOGC 环境变量或其功能等效项 SetGCPercent ,来自包。...go tool trace ,并分析程序中垃圾回收器的行为。...在“PROCS”选项卡中,“GC”(垃圾回收器)字段显示蓝色列,表示触发垃圾回收器的时刻。 一旦新堆的大小达到活动堆大小的 100%,就会触发垃圾回收。
但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...其次,如果该库中没有你满意的动画,该库提供了BaseItemAnimator类,该类继承自SimpleItemAnimator,进一步封装了自定义Item Animator的代码,使得自定义Item Animator...那么如何在不破坏原有Adapter实现的情况下完成呢? 这里引入装饰器(Decorator)设计模式,该设计模式通过组合的方式,在不破话原有类代码的情况下,对原有类的功能进行扩展。...ArrayList[] mScrapViews;: 每个Item Type对应一个列表作为回收站,缓存由于滚动而消失的View,此处的View如果被复用,会以参数的形式传给getView()...回顾 回顾整篇文章,发现我们已经实现了RecyclerView的很多扩展功能,包括:打造万能适配器、添加Item事件、添加头视图和尾视图、设置空布局、侧滑拖拽。
这个代码在网上有, 横向ListView的功能,参考Android 自定义RecyclerView 实现真正的Gallery效果 首先说布局文件: RecyclerView视图中的item的布局: 视图 接下来是就是视图的自定义:com.example.zhy_horizontalscrollview03.MyRecyclerView public class MyRecyclerView...; /** * 滚动监听器 */ private OnItemScrollChangeListener mItemScrollChangeListener; /** * 设置监听器...} 可以参考下 Listview的适配器时候的写法,基本一致,只是在我们自己定义的适配器中加入了 自定义的点击事件,回调接口 接下来就是对应的activity类了: public class...需要学习的第二个知识点就是:在对应的activity中关于RecyclerView 的使用 RecyclerView的使用代码: //找到对应的视图控件 mRecyclerView = (MyRecyclerView
但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...中获取合适的View,在后文的回收机制中会介绍该方法的具体实现。...其次,如果该库中没有你满意的动画,该库提供了BaseItemAnimator类,该类继承自SimpleItemAnimator,进一步封装了自定义Item Animator的代码,使得自定义Item Animator...ArrayList[] mScrapViews;: 每个Item Type对应一个列表作为回收站,缓存由于滚动而消失的View,此处的View如果被复用,会以参数的形式传给getView()...回顾 回顾整篇文章,发现我们已经实现了RecyclerView的很多扩展功能,包括:打造万能适配器、添加Item事件、添加头视图和尾视图、设置空布局、侧滑拖拽。
所有新闻提要中的视频都是在自动播放管理器上注册的,但并不是所有的视频都需要自动播放功能(例如,全屏视频播放器中的视频)。...相比之下,Litho的回收系统复用了更小的用户界面构建模块,比如文本或图片,而不是整个视图。通过使用一个核心视频组件,同样的视图可以被循环使用于所有的视频新闻类型。...更有效的回收利用减少了对象的分配,进而提高了滚动性能。 预分配 新闻提要的第一个视频新闻不能循环使用预先存在的视频视图,因为之前没有视图。...当两个视频新闻同时出现在屏幕上时也需要注意:一个视频视图可以从以前的新闻中回收,但是第二个视图需要新建。...通过向MountSpec注解中添加一些属性,我们可以让Litho提前创建一些实例。当滚动浏览新闻提要中的第一个视频新闻时,预分配的视频视图可以极大地提高滚动性能。
一 ListView基本介绍 ListView是Android开发中常用的列表视图控件,用于展示垂直滚动的可变长度的数据列表。...可以在布局文件中添加控件来显示列表项中的各个元素。 添加数据:通过适配器向ListView添加数据,可以使用适配器的方法(如add()、addAll())添加单个或多个数据项。...适配器: RecyclerView:RecyclerView是取代ListView的新一代列表视图控件。它提供了更强大和灵活的功能,例如支持横向滚动、网格布局、瀑布流布局等。...使用RecyclerView需要自定义适配器和ViewHolder,但它具有更好的性能和可扩展性。...同时,你还可以添加点击事件监听器来处理ListView中列表项的交互操作。 五 总结 istView是Android开发中常用的列表视图控件,用于展示大量数据并实现用户的垂直滚动浏览。
一 RecyclerView基本介绍 RecyclerView是Android支持库中的一个强大的视图容器,用于显示和管理大量数据集合的列表或网格。它是目前推荐使用的替代方式之一。...适配器负责提供数据和创建子项视图。...android:layoutManager:指定RecyclerView的布局管理器,可以是LinearLayoutManager、GridLayoutManager或其他自定义的布局管理器。...复用机制:RecyclerView引入了ViewHolder模式,可以重复利用子项的视图,在滚动过程中减少布局操作,提高性能。...事件处理:RecyclerView提供了方便的回调接口来处理点击、长按等事件,并且支持滚动监听器和拖拽排序等高级交互功能。
背景: 服务器和云盘到期后,进入回收站,数据忘记备份,如果你不愿意续费将数据找回,可以提交腾讯云工单:帮忙开通快照转镜像的白名单(此功能目前还未公测) image.png 回收站中的云硬盘创建快照、...镜像,方法如下: 登录官网控制台,找到过期状态云硬盘创建快照,然后用户在快照列表中通过快照创建自定义镜像,用镜像创建新的服务器。...1、在CVM列表找到需要找回数据的服务器,复制服务器ID image.png 然后到CBS列表找到对应的系统盘和数据盘 image.png 2、在cbs控制台创建快照 image.png 3...、在快照列表控制台页面,找到相应快照名称, image.png 并在更多中点击创建自定义镜像功能 image.png 如果您数据盘中数据也要找回,请添加数据盘快照 image.png...4、用做好的镜像创建实例(此镜像只允许创建实例,不允许重装系统,为了节约成本可以创建按量计费服务器,然后备份完数据后销毁此服务器) image.png 大功告成,到此就可以登录的新的服务器来备份数据了
ListView ListView 是一个用于显示滚动列表的控件,每个列表项可以是一个自定义的视图。 使用步骤 定义布局: 创建一个包含 ListView 的布局。...RecyclerView RecyclerView 是一个更灵活和高效的列表控件,可以替代 ListView。它支持布局管理器和视图持有者(ViewHolder)模式。...使用步骤 定义布局: 创建一个包含 RecyclerView 的布局。 创建适配器: 实现 RecyclerView.Adapter,定义数据和视图的绑定逻辑。...设置布局管理器: 选择适当的布局管理器(如 LinearLayoutManager 或 GridLayoutManager)。 设置适配器: 将适配器设置到 RecyclerView 上。...处理事件: 在 onTouchEvent 方法中处理用户的交互事件。 添加自定义属性: 在 res/values 文件夹中定义自定义属性,并在控件中解析这些属性。
前言 小伙伴们,在前面的文章中,我们谈到了Android开发中的自定义view的基本概念及方法等,本文我们实际举例自定义一个adapter。...适配器通常用于列表、网格及其他可滚动视图的数据绑定。 适配器的主要作用包括: 数据转换:适配器将原始的数据源转换为可以在 UI 控件中展示的数据项。...在 Android 中,常见的适配器有以下几种: BaseAdapter:是一个抽象类,提供了创建自定义适配器的基本实现,可以通过重写方法来定制适配器功能。...ArrayAdapter:是 BaseAdapter 的子类,适用于简单的数据集合,它将数组或列表中的每个项都作为一个单一的文本视图显示。...绑定数据与视图:在适配器的 getView() 方法中,将数据项与对应的视图进行绑定。
iOS开发中活动视图控制器UIActivityViewController的应用 在iOS开发中,UIActivityViewController常用来弹出分享面板,其实除了用来社会化分享,UIActivityViewController...还有一大应用是用来进行自定义行为。...,但是只有可以处理这些数据的行为会被展示出来 applicationActivitie参数可以设置自定义的操作行为,后面会介绍 */ - (instancetype)initWithActivityItems... 自定义活动行为需要创建继承于UIActivity类的子类,示例如下: #import "CustomActivity.h" @implementation CustomActivity //...- (void)prepareWithActivityItems:(NSArray *)activityItems; //子类实现 返回一个视图控制器作为处理活动的模态视图 活动处理完成后需要调用activityDidFinish
标签:VBA,自定义函数 如下图1所示,在单元格A1中包含多行文本,现在要求删除这些文本中开头单词相同的行,仅保留第1行,结果如图1单元格B1中所示。...图1 可以使用VBA编写一个自定义函数来实现。...Len(val) - 1) End If fnUnique = val Set dict = Nothing Set dOut = Nothing End Function 在单元格B1中输入公式...: =fnUnique(A1) 然后,选取单元格B1,单击功能区“开始”选项卡中的“自动换行”按钮,即可获得结果。...注:本文示例收集自vbaexpress.com,供有兴趣的朋友研究。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
适配器视图的特点有: 1、定义了适配器的设置方法setAdapter,以及获取方法getAdapter。适配器用于传入视图展示需要的相关数据。...一般情况下自定义适配器继承自BaseAdapter就够用了,当然Android为了方便懒人,专门扩展了两种简单易用的适配器,如ArrayAdapter用于每行只显示文本的情况,而SimpleAdapter...textAlignment : 指定文本的对齐方式,常见的取值说明如下:inherit表示继承上级视图的对齐方式,center表示文本居中对齐,textStart表示文本开头对齐,textEnd表示文本末尾对齐...xml布局中ListView的id可自定义,页面的代码类继承自Activity。...该方式要从布局文件中获取ListView的对象,然后调用该对象的setAdapter方法设置适配器,并调用ListView对象的setOnItemClickListener方法来设置点击事件的监听器。