- 博客(19)
- 收藏
- 关注
原创 Kotlin实战---使用Room封装本地数据层
/ TODO 可扩展 …/**LocalRoomRequestManager类的实现,初始化的通过dataBase层获取dao,然后通过dao层进行增删改查=null//相当于Java代码的构造代码块init{= null!studentDao?studentDao?studentDao?studentDao?
2025-01-12 23:21:40
584
原创 kotlin 实战之面向对象特性全方位总结
扩展也是有作用域的,上面的扩展案例都是定义在 kotlin 的顶层文件中,其实扩展也可以定义在另外的类中。kotlin 的扩展相对于 java 来说是不可思议的概念,如果我们已经定义了一个类,现在想给这个类添加额外的功能,用 java 方式解决的办法只有继承或者装饰者实现,而对于 kotlin 来说,扩展可以轻松做到这一点。上面的扩展代码实现是不是很神奇,为了探究扩展的实现原理,我们需要明确的是,扩展本身不会真正的修改目标类,方法不会被编译插入到 Xunit 类中,而是在其定义的类中。
2025-01-12 23:17:57
557
原创 Kotlin 在Android开发中那些让人舒适的地方
当然有时候使用when会有一些比较麻烦的事情,比如对else情况的处理,因为你的程序中明明只有这么几种情况,但是你却不得不写上关于else的情况处理,这样的代码让人觉得不安心,也降低了可读性,这个时候可以结合Koltin的密封类来处理,比如对网络情况的回执,对错误的处理,Android对RecyclerView的适配中多中ViewHolder的处理。稍微不一样的地方是它们的this和it各自指向不一样,以及返回值得不一样,使用得时候根据具体得情况来就可以了.// this 指向user it无指向。
2025-01-12 23:14:14
881
原创 HarmonyOS NEXT 边缓存边播放案例
|—GlobalProxyServer.ets // 模型层-服务器管理。| |—VideoPlayerManager.ets // 模型层-音视频管理。| |—VideoCacheView.ets // 视图层-应用主页面。| |—utils.ets // 工具。// 创建音视频播放实例。
2025-01-12 05:22:01
965
原创 HarmonyOS Next 监听HiLog日志实现测试用例验证_oh_log_print
/ 要监听的日志内容。// 回调返回的日志内容。| |—logcallback.cpp // native层-日志回调业务逻辑。// TODO: 知识点: 注册日志回调, 侦听保存Rawfile图片到沙箱功能。// TODO: 知识点: 调用ArkTS端传入的回调函数。// 判断返回的日志内容是否包含侦听的日志内容。// TODO: 知识点: 过滤要查找的日志。// TODO: 知识点: 注册日志回调函数。// TODO: 知识点: 关闭日志回调。
2025-01-12 05:18:20
516
原创 HarmonyOS NEXT 搜索页一镜到底案例
SearchComponent // har类型(默认使用har类型,如果使用hsp类型请说明原因)| |—ListData.ets // 筛选数据模型。// 搜索框转场过渡动画,cubicBezierCurve为三阶贝塞尔曲线动画。// 构造插值器弹簧曲线对象,生成一条从0到1的动画曲线。
2025-01-12 05:14:37
229
原创 Android项目杰尼杰尼(极简番茄工作法)的学习准备之Android时钟
1.画刻度线时,分为两种,一种的普通刻度线,也就是每分钟的刻度线;另一种就是每小时的刻度线,也就是每隔5歌绘制一个特俗刻度线。2.采用canvas.drawCircle(0, 0, mRadius, mDefaultPaint);来画圆。3.因为一圈是360度,一共有60分钟,所以每个刻度线就是6度;则采用canvas.rotate(6)旋转6度来绘制刻度线。1.因为屏幕显示的大小问题,为了美观所以就只选取了12点,3点,6点,9点这四个特殊刻度来绘制数字。
2025-01-11 14:43:03
828
原创 Android面试:JDK动态代理的原理
就写到这里吧,做个总结,是JDK提供的动态代理类,我们探索过程中,至少发现了2处使用反射的地方,一处是 反射构造函数,然后执行它,创建代理类对象的过程,一处是 使用代理类对象,反射创建代理对象的过程(有没有晕?代理类对象和代理对象是不一样的,晕了的话留言,我看到就回答- -!), 使用了反射,效率自然比不上静态代理,但是它能保证 真实对象无限扩展的时候,代理类不用做修改,只需要在创建代理类的时候,传入不同的真实对象即可,这种做法才符合程序设计的开闭原则,对扩展开放,对修改关闭。
2025-01-11 14:39:21
866
原创 android面试题中高级,浅谈Android消息机制原理,系列篇
找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。多练。(视频优势是互动感强,容易集中注意力)你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。自行下载直达领取链接:【点击我即可获得!
2025-01-11 14:35:39
534
原创 Hive 调优集锦,让 Hive 调优想法不再碎片化_hive metastore内存调优
Hive 依赖于 HDFS 存储数据,Hive 将 HQL 转换成 MapReduce 执行,所以说 Hive 是基于Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,对存储在HDFS 中的数据进行分析和管理。Hive 作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、Job或I/O过多、MapReduce 分配不合理等等。
2024-12-17 12:20:50
993
原创 hibernate入门与主键生成策略以及增删改查的实现
library是自己的数据库名调试相关(show_sql 在控制台显示底层生成的sql语句 format_sql格式化sql语句)1. 数据库相关5.71. 数据库相关8.0root123456方言配置本地事务(No CurrentSessionContext configured!thread2. 调试相关truetrue配置映射文件主键生成策略一对多一对多的自关联多对多。
2024-12-17 12:17:09
517
原创 HashMap底层原理(保证你能懂)
Node是一个内部类,这里的key为键,value为值,next指向下一个元素,可以看出HashMap中的元素不是一个单纯的键值对,2. 已经有元素占据了索引为1的位置,这种情况下我们需要判断一下该位置的元素和当前元素是否相等,使用equals来比较。因为链表中元素太多的时候会影响查找效率,所以当链表的元素个数达到8的时候使用链表存储就转变成了使用红黑树存储,原因就是。在HashMap底层使用数组加(链表或红黑树)的结构完美的解决了数组和链表的问题,使得查询和插入,删除的效率都很高。
2024-12-17 12:13:28
833
原创 HarmonyOS Next 正确配置ImageKnife请求头实现防盗链功能_鸿蒙 imageknife
目前许多网络图片资源有防盗链功能,需要在请求头中设置正确的Referer。本模块使用了第三方库imageknife,通过在请求头中添加Referer来获取防盗链图片功能。同时我们可以设置请求头中的其他参数,比如User-Agent来设置客户端,Origin设置来源,ETag来设置缓存等等。输入需要获取的图片URL和Referer。点击请求,等待下方出现图片。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的。
2024-12-17 12:09:48
785
原创 hadoop安装(第二步)
1.利用模板机 hadoop102,克隆三台虚拟机我们给克隆完的两台虚拟机起名为hadoop103,hadoop1042.修改克隆机 IP,以下以 hadoop103 举例说明(1)修改克隆虚拟机的静态 IPONBOOT=yesPREFIX=24(2)修改克隆机主机名,以下以 hadoop103 举例说明输入:hadoop103。
2024-12-17 12:06:07
376
原创 GTID复制---自动界定从哪儿开始复制
这种方案优点是修复速度快,不需要停止主从辅助,缺点是需要知识积累,需要时间去学习,去测试,特别是在生产环境,还是要小心使用。在从库发现某几张表与主库数据不一致,而这几张表数据量也比较大,手工比对数据不现实,并且重做整个库也比较慢,这个时候可以只重做这几张表来修复主从不一致。主从实例版本不一致,特别是高版本是主,低版本为从的情况下,主数据库上面支持的功能,从数据库上面可能不支持该功能。主库执行更改前有执行set sql_log_bin=0,会使主库不记录binlog,从库也无法变更这部分。
2024-12-17 11:58:45
645
原创 grafanf集成zabbix_zabbix+ grafana有api接口吗
Trends:这个和zabbix里面的趋势数据是对应的,这个强烈推荐勾选上,因为有些监控项几天的历史数据可能就包含大量的数据,但是选择趋势数据(zabbix里面趋势数据默认是每个小时的平均数据)的话,数据量就会少很多,这样可以提高grafana的性能。如果Grafana与zabbix的连接没有问题,那么设置好后会自动显示出zabbix下添加的所有组。如下,先添加“group”插件,Data source使用上面创建的,如果添加成功的话,会在底部出现zabbix的监控项的group信息。
2024-12-17 11:55:05
392
原创 go语言多package使用实战_golang 多个package
go mod不同于以往基于GOPATH和Vendor的构建方式,其主要是通过GOPATH/pkg/mod下的缓存包来对工程进行构建。在Go 1.11中已经可以使用,同以往新添加的功能一样,go mod 可以通过GO111MODULE来控制是否启用,GO111MODULE有一下三种类型。auto 在GOPATH下的工程,不使用Module机制,不在GOPATH下的工程使用。的查找,使用的查找顺序如上面的知识点,主要使用了GOPATH路径。on 所有的构建,都使用Module机制。如上,两个文件都属于同一个。
2024-12-17 11:51:24
939
原创 golang日志框架之logrus
/ WithLinkName为最新的日志建立软连接,以方便随着找到当前日志文件。// logrus在记录Levels()返回的日志级别的消息时会触发HOOK,// logrus提供了New()函数来创建一个logrus的实例。// 按照Fire方法定义的内容修改logrus.Entry。// 可以设置logrus实例的输出到任意io.writer。// 为当前logrus实例设置消息的输出,同样地,// 项目中,可以创建任意数量的logrus实例。// 遍历调用栈的最大索引为第11层.
2024-12-17 11:47:43
949
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人