- 博客(33)
- 收藏
- 关注
原创 【026期】面试官问:如何判断一个对象是否存活?GC 对象判定算法?
即使在可达性分析算法中不可达的对象,也并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现没有与GC Roots相连接的引用,那它将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否是否有必要执行finalize()方法。Java虚拟机规范中确实说过可以不要求虚拟机在方法区中实现垃圾回收,而且在方法区中进行垃圾回收的“性价比”一般比较低,**方法区的垃圾收集主要回收两部分内容:**这个问题,面试被问到的概率还是很大的。
2025-01-14 23:51:19
867
原创 【 Flutter 绘制指南 】那个男人带着小册来了
绘制的本身是没有什么框架、语言限制的,所有的平台绘制的接口都基本一致,也就是说这份技能并不依赖平台而存在的,绘制本身是一种自我的能力,更体现一种主观能动性与创造性。我接触过AndroidHtml5的绘制,和Flutter并没有非常大的差异。所以只要会一个,其他平台上手都会非常容易。Flutter 作为一个跨平台的全新技术,AndroidiOSmacOSWindowsLinuxWeb都可以运行,我目前一直在做 Flutter桌面端和移动端的一个项目,也对 Flutter 的未来有很大的期待。
2025-01-14 23:47:38
904
原创 『HarmonyOS』探索HarmonyOS应用
App就是应用,指运行在设备的操作系统之上,,简称“应用”。在HarmonyOS上运行的应用,有两种形态:传统方式的。提供特定功能,。 原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是的(用户可通过点击方式直接触发)、(无需显式安装,由系统程序框架后台安装后即可使用)、可的用户应用程序形态。例如:某传统方式的需要安装的购物应用A,在按照原子化服务理念调整设计后,成为由“商品浏览”“购物车”“支付”等多个便捷服务组成的、可以免安装的购物原子化服务A*。1.应用基础知识。
2025-01-14 23:43:56
1899
原创 zabbix监控H3C交换机CPU和内存详细方法_华三交换机cpu利用率oid
查看交换机cpu使用率发现有三个值。分别最后5秒、1分钟、5分钟。查阅资料或者联系厂商获取CPU三个时段的OID值(如下):CPU 五秒钟的OID:1.3.6.1.4.1.25506.2.6.1.1.1.1.6.212CPU 一分钟的OID:1.3.6.1.4.1.25506.2.6.1.1.1.1.33.212CPU 五分钟的OID:1.3.6.1.4.1.25506.2.6.1.1.1.1.34.212。
2025-01-14 14:12:06
840
原创 Zabbix添加网络设备
Zabbix自动发现接口配置模板1、创建模板2、创建模板命名名称:Template network device discovery3、点击自动发现规则,并创建发现规则4、创建自动发现规则名称 Network interfaces类型 SNMPv2 agent键值 ifDescr端口 161要发现的OID在SNMP OID字段中按以下格式定义: discovery[{#MACRO1}, oid1, {#MACRO2}, oid2, …,]
2025-01-14 14:08:35
791
原创 zabbix-server添加了网络设备模板导致boot
因为之前遇到过类似情况,所以我猜想还是boot.log满了,去看一下果然41个G。查看日志里面的内容,日志在疯狂的写入,只截取部分。很明显日志里面有172.16.32.5和172.16.32.2的信息,去zabbix上看了一下发现是网络设备,但是zabbix显示的是已经挂掉了,但是可以查看,应该是缓存。先备份下这个日志,再清空释放空间,因为根下已经没空间了,所以压缩到/home下查看zabbix发现server的10051端口已经没有了,只有agent的10050端口重启zabbix-server。
2025-01-14 14:04:37
306
原创 Python3(1)
的体验版的免费短信通知接口;说了那么多,感觉都是说了好多废话啊,哈哈,不好意思,耽误大家时间来看我瞎扯了,我贴上大家最关心的源码,请接码,大家在尝试运行过程中,有任何问题,可以给点击。最后:就是坐等刷票结果就好了,如下图这样,就说是刷票成功了,刷到票后,会进行短信和邮件的通知,请记得及时前往12306进行支付,不然就白抢了。登录之后,就是控制刷票的各种操作处理了,这里,我就不贴代码了,因为代码比较多,别担心,在最后,我会贴出完整的代码的。
2025-01-13 14:37:35
261
原创 Python-Matplotlib可视化(6)——自定义坐标轴让统计图清晰易懂
也为副刻度添加辅助网格:plt.show()控制刻度标签是时候介绍刻度标签的设置了,刻度标签是图形空间中的坐标,虽然数字刻度标签对于大多说场景来说是足够的,但是却并不总是能够满足需求。例如,我们需要显示100个公司的营收情况,这时候我们就需要横坐标刻度标签为公司名,而非数字;同样对于时间序列,我们希望横坐标刻度标签为日期…。考虑到此类需求,我们需要使用Matplotlib为此提供了的API控制刻度标签。可以按以下步骤为任何Matplotlib图形设置刻度标签:plt.show()
2025-01-13 14:33:53
1850
原创 Java~如何实现GUI用户界面将(Swing组件、事件处理机制、布局管理器、IO输入输出)相结合
String[] buttonsNames = new String[] {“添加”, “删除”, “查询”, “清空”};JOptionPane.showMessageDialog(this,“信息不完整添加失败”);JOptionPane.showMessageDialog(this,“信息不完整删除失败”);JOptionPane.showMessageDialog(this,“信息不完整添加失败”);JOptionPane.showMessageDialog(this,“信息不完整删除失败”);
2025-01-12 14:50:06
222
原创 Java~IO输入输出流练习题~车库管理(停车、离开、查找、显示车库车辆信息)
/停车入库 在构建FileWriter是加上true表示不覆盖 bufferedWriter.newline表是加在新的一行中。Car car1 = new Car(“陕A66666”, “奔驰”, “黑色G500”);Car car = new Car(“陕A33333”, “宝马”, “宝马X6”);//离开车库 将除要离开的车全部插入链表 然后进行覆盖式的输入到文本中。//通过车品牌Brand得到车库所有该品牌的车的对象。//通过车牌号判断车库里是否有这辆车。//输出现在车库的所有车辆信息。
2025-01-12 14:46:25
743
原创 JavaWeb快速入门--JSP(1)
动作标签的作用是在指定范围内使用JavaBean,其属性有id、class、scope,id表示引用的JavaBean在作用域内的名称,class表示所引用的JavaBean的完整路径,scope指定JavaBean的作用域以及id变量名的有效范围,其取值可以为page、request、session、application默认值为page。这个标签的主要作用是用来传递参数的,其属性包括:name、value,name表示参数的名称,value表示传递参数的值,这个标签不能单独使用,一般嵌套在其他标签中。
2025-01-12 14:42:44
234
原创 CSS布局----flex弹性布局(移动端完美解决方案)(1)
block1block2block3效果图如下:2,- Flexbox的两根轴线当使用 flex 布局时,首先想到的是两根轴线 — 主轴和交叉轴。主轴由 flex-direction定义,另一根轴垂直于它。我们使用 flexbox 的所有属性都跟这两根轴线有关, 所以有必要在一开始首先理解它。
2025-01-11 21:02:21
1885
原创 CSS3中的变形处理——transform功能(旋转、缩放、倾斜、移动)
分别使用rotateX方法、rotateY方法、rotateZ方法使元素围绕X轴、Y轴、Z轴旋转,在参数中加入角度值,角度值后面跟表示角度单位的deg文字即可,旋转方向为顺时针旋转。分别使用translateX方法、translateY方法、translateZ方法、使元素在X轴、Y轴、Z轴方向上进行移动,在参数中加入移动距离。分别使用skewX方法、skewY方法使元素在X轴、Y轴上进行顺时针方向倾斜(无skewZ方法),在参数中指定倾斜的角度。//水平方向上倾斜30度,垂直方向上倾斜30度。
2025-01-11 20:54:59
503
原创 Activiti工作流引擎基础入门【收藏可做笔记系列】
使用activiti流程建模工具(activity-designer)定义业务流程(.bpmn文件)。.bpmn文件就是业务流程定义文件,通过xml定义业务流程。activiti部署业务流程定义(.bpmn文件)。使用activiti提供的api把流程定义内容存储起来,在Activiti执行过程中可以查询定义的内容Activiti执行把流程定义内容存储在数据库中表分类表名解释| 一般数据 | | || | [ACT_GE_BYTEARRAY] | 通用的流程定义和流程资源 |
2025-01-11 05:51:32
832
原创 Activiti 自定义表单流程(全流程演示)
返回模型列表,选中vocation,点击发布,可以看到发布Id显示有值,模型发布成功!打开另一个浏览器,使用leaderuser用户登录,我的任务->代办任务,里面有一个新的数据。hruser用户查看已办任务,点击详情,看到请假流程已经到初始用户admin。此时,在我的任务->完成任务里面可以看到一条已完成任务,点击【发起流程】按钮,填写请假申请单,并点击提交数据。此时在我的流程->未结流程里面可以看到刚发起的流程。流程配置->新建流程,注意绑定上一步发布的流程Id。点击办理,输入意见,完成任务。
2025-01-11 05:47:50
432
原创 activemq持久订阅工作原理
非持久订阅consumer只能消费在该consumer激活状态时传送给对应topic的消息才能被该consumer消费,一旦该consumer 挂掉到下次启动期间发布到该topic的消息不能被该consumer重新恢复时使用!持久订阅:订阅之后,无论消息是否是在该consumer激活或者down掉期间发送的,最终都会被该consumer接收到,直到被显示取消持久订阅(session.unscribe(“topic名字”))!// 如果消息筛选项没有变化,那么直接将刚恢复连接的订阅者id与之前的。
2025-01-11 05:44:08
548
原创 2020最全前端面试系列(ES6)(ES6你不得不知道的新特性)
这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。模板字符串是增强版的字符串,用反引号(`)标识,可以当作普通字符串使用,也可以用来定义多行字符。(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。3.使用new实例化对象,在构造函数中的this指向实例化对象。this表示当前对象,this的指向是根据调用的上下文决定。in遍历对象中的属性。
2025-01-10 22:07:45
474
原创 2020年终总结——前端入坑四年,今年实惨
写在前面2020最后一天,我在KFC写总结。前几天就想写了,嗯,我是拖延症患者。😔 2020年,换工作、被裁员,体检一堆问题… 回顾我31年的人生,没有重点小学、没有重点初高中、专科学历、没有获奖经历、没有特殊技能、学习能力差、英语不好、拖延… 加上现在算大龄程序员了吧,似乎我的人生拿了一把烂牌,可是我还是想赢啊。我怎么走上了前端这条路?11年毕业后,在工厂里打工,做技术员,跟IT无关。最好的4年光阴,感觉错付了,但是不后悔,每个人都有不同的经历。
2025-01-10 22:00:21
756
原创 Golang如何优雅接入多个远程配置中心?_golang 读取多个apollo配置文件
基于实际商业项目实践,提升配置管理组件能力,实现了本地配置文件与远程apollo配置中心多实例快速接入;从xconfig包的快速上手的使用说明到封装实践难点痛点的解析,双管齐下,让你更深入的理解,希望对你有所帮助与收获。开源项目xconfig,github地址。欢迎体验与star。
2025-01-09 06:19:55
612
原创 Golang Proxy Protocol详解_golang proxy unexpected protocol version 72
代理协议是一种用于代理服务器和目标服务器之间通信的规范。它定义了请求和响应的格式、传输方式、协议标识等。代理协议允许代理服务器读取和修改请求和响应,以实现特定的功能。常见的代理协议包括HTTP代理协议、SOCKS代理协议等。下面我们将重点介绍这两种协议。
2025-01-09 06:17:36
322
原创 Go-编码规范(注释,变量名等基本规则)_go 注释规范
对于结构体的方法,和函数基本一致,Getter和Setter方法需要以Get或Set为前缀,例如,某结构体有name属性,对应的Getter和Setter方法名为GetName、SetName。for中的使用很常见,由于if和switch接受初始化语句,也可使用;分隔,例如,if中使用分号。每个函数前都应该有注释,说明函数的功能(以函数名开头,方便使用godoc查找),参数,返回值。,简短有意义,尽量和所在文件夹名一致,不要和标准库冲突。驼峰法:第一个单词小写,如果后面有单词,首字母大写。
2025-01-09 06:15:00
365
原创 Android 进阶——系统启动之SystemServer创建并启动Installer服务(八)_android 12 installapkverity
frameworks\base\services\core\java\com\android\server\pm\Installer.java继承自com.android.server.SystemService,同时持有installd守护进程对应Binder服务的代理对象,本质上就是通过Binder调用去与Linux底层installd守护进程通信完成真正的完成Apk文件格式的优化和转换建立相关的数据目录删除文件安装应用等工作。因此在其他系统核心服务启动前首先被启动,...当触发。
2024-12-17 18:29:58
809
原创 android 论编码的简洁规范
自定义view用的xml :view_view名称简写.xmlview_header.xml 这个就是共用的view 也可以用common_view名称简写.xml替换。主Activity用到的xml : activity_activity名称简写.xml activity_login.xml。include的xml:include_功能简写.xml include_top_search.xml。背景图片: bg_功能_说明 bg_login_commit。
2024-12-17 18:26:17
648
原创 Android 显示刷新机制、VSYNC和三重缓存机制
四、总结一、刷新率与帧率为了理解 APP 是如何进行渲染的,我们就必须了解手机硬件是如何工作的,也必须理解什么是 VSYNC。
2024-12-17 18:18:56
783
原创 Android 显示刷新机制、VSYNC和三重缓存机制(1)
第1帧刚开始显示时,CPU 放下手中的任务,立马处理第2帧显示相关的任务(这里使用了消息屏障机制,可以参考前文《Android消息循环的同步屏障机制及UI渲染性能的提升(Android Q)》),这样,在第二帧显示之前, CPU 和 GPU 也提前完成了显示任务的处理,第二帧正常显示。在这种情况下,某些帧显示的画面内容就会与上一帧的画面相同。但,CPU 由于被占用等原因,等到即将显示帧2时,它才开始处理第二帧的内容,这显然完不成了,所以等到第二帧显示的时候,只能使用上一帧的内容显示了,也即是丢帧了。
2024-12-17 18:15:14
845
原创 Android 性能优化最佳实践
既然问题找到了,那么我们肯定要有相应的解决办法,根本做法是 减轻onDraw()的负担。所以onDraw方法中不要做耗时的任务,也不做过多的循环操作,特别是嵌套循环,虽然每次循环耗时很小,但是大量的循环势必霸占CPU的时间片,从而造成View的绘制过程不流畅。除了循环之外,onDraw()中不要创建新的局部对象,因为onDraw()方法一般都会频繁大量调用,就意味着会产生大量的零时对象,不进占用过的内存,而且会导致系统更加频繁的GC,大大降低程序的执行速度和效率。
2024-12-17 18:11:32
603
原创 Android 开发艺术探索笔记(14)
对应< level-list>标签,同样表示一个Drawable合集,集合中的每一个Drawable都有一个level,根据不同的level,会切换成对应的Drawable。当它作为View的背景时,可以通过Drawable的setLevel方法来设置不同的等级而切换具体的Drawable。适用范围单一,一个是作为ImageView中的图像,另外一个就是View的背景,可以通过重写Drawable的draw方法来自定义Drawable。根据自己的level来将指定的Drawable缩放到一定的比例。
2024-12-17 18:04:03
622
原创 Android 开发永远逃不了Framework魔抓~_androidframework问题
Android Framework是Android系统的应用程序框架,提供了开发Android应用程序所需的基本功能和结构。它包含了各种组件和服务,使得开发人员可以轻松编写出具有高度复杂性的应用程序。Activity:用于创建应用程序的UI界面;Service:用于在后台执行任务或操作,不包含UI界面;ContentProvider:用于与应用程序之间共享数据;BroadcastReceiver:用于在应用程序和系统之间广播和接收事件和消息;
2024-12-17 18:00:23
557
原创 Android 应用界面风格与主题(style and theme)
可以看到这个父类的style是android中默认的,你也可以继承你自定义的style,**这时候不需要再写 parent属性,而是使用ContFont.red这样的方式,而且你可以继续继承,写成ContFont.red.small。定义属性的最好方法就是在api文档里找到这个view的xml属性,比如在EditText中有InputType 这个属性,那么在你的style里面你就可以来定义它。,也可以选择增加一个parent父类属性,我们写的style和 theme就会继承这个父类的属性。
2024-12-17 17:56:42
501
原创 Android 定位之百度地图定位 问题总结
跟大家说一下 ,这个问题我专门咨询过百度地图定位sdk设计人员(偶然认识,加的qq),他说是这样的:因为gps定位需要时间较长, 所以在有网络连接的状态下, 会先将附近的基站坐标返回给用户,然后等gps初始化好以后再将 gps定位出来的坐标返回给用户。这个稳定的意思是 ,gps初始化需要时间的,一般要2-3分钟以后,误差范围的数字会越来越小。注意:还有一种特殊情况就是 ----在有网络的情况下将定位方式设置为 gps优先,这种情况会很快的获取到坐标,但是这个坐标是 返回 的基站坐标 所以误差比较大。
2024-12-17 17:52:58
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人