- 博客(51)
- 收藏
- 关注
原创 Android UI性能优化实战 识别绘制中的性能问题
AndroidSDK中包含这个工具,不过大家肯定也不陌生了~~~那么就简单说一下它在哪,如何使用,以及真机无法使用该工具该怎么解决。HierarchyViewer在哪?本博客使用IDE为AndroidStudio,那么只需要按照下图步骤即可找到:其他IDE的兄弟,找到这个肯定没问题,不过还是建议慢慢的转向AS。如何使用?一图胜千言:关注下,所有框住的区域~~无法连接真机调试怎么办?如果你不存在这样的问题,直接跳过本节。
2025-01-20 10:44:03
760
转载 【云原生-介绍】到底什么是云原生?下一个内卷?_provider 云原生提供商
何谓云原生?技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。2015年云原生计算基金会(CNCF)成立,CNCF掺和进来后,最初把云原生定义为包括:容器化封装+自动化管理+面向微服务;到了2018年,CNC
2025-01-14 16:18:45
720
原创 【云原生 从零开始学Kubernetes】六、Kubernetes核心技术Pod_从零开始学kubernetes 百度云
apiserver 触发 watch 机制准备创建 pod,信息转发给调度器 scheduler,调度器使用调度算法选择 node,调度器将 node 信息给 apiserver,apiserver 将绑定的 node 信息写入 etcd.也就是我们Pod在进行调度的时候,可以对调度的资源进行限制,例如我们限制 Pod调度是使用的资源是 2C4G,那么在调度对应的node节点时,只会占用对应的资源,对于不满足资源的节点,将不会进行调度。若为 null,表示这个 Pod 请求是新来的,需要创建;
2025-01-14 16:15:05
1004
原创 【事务隔离级别】
这就避免了不可重复读。出现上述情况,即我们所说的不可重复读,两个并发的事务,“事务A:廖志伟消费”、“事务B:廖志伟的老婆网上转账”,事务A事先读取了数据,事务B紧接了更新了数据,并提交了事务,而事务A再次读取该数据时,数据已经发生了改变。廖志伟拿着工资卡去消费,系统读取到卡里确实有2000元,而此时她的老婆也正好在网上转账,把廖志伟工资卡的2000元转到另一账户,并在廖志伟之前提交了事务,当廖志伟扣款时,系统检查到廖志伟的工资卡已经没有钱,扣款失败,廖志伟十分纳闷,明明卡里有钱,为何…
2025-01-14 16:07:37
406
原创 Leetcode面T17(1-10)树
输入:names = [“John(15)”,“Jon(12)”,“Chris(13)”,“Kris(4)”,“Christopher(19)”], synonyms = [“(Jon,John)”,“(John,Johnny)”,“(Chris,Kris)”,“(Chris,Christopher)”]//出现次数是两者之和。输入: [“A”,“1”,“B”,“C”,“D”,“2”,“3”,“4”,“E”,“5”,“F”,“G”,“6”,“7”,“H”,“I”,“J”,“K”,“L”,“M”]
2025-01-11 22:11:57
500
原创 leetcode348
| | | // 玩家 1 在 (0, 0) 落子。| | | | // 玩家 2 在 (0, 2) 落子。| | | | // 玩家 1 在 (2, 2) 落子。| |O| | // 玩家 2 在 (1, 1) 落子。| |O| | // 玩家 1 在 (2, 0) 落子。|O|O| | // 玩家 2 在 (1, 0) 落子.|O|O| | // 玩家 1 在 (2, 1) 落子。
2025-01-11 22:08:16
499
原创 Android View 事件分发机制 源码解析 (上)
也就是下面的onTouchEvent(event)不会被执行了;17-21行,如果设置了mTouchDelegate,则会将事件交给代理者处理,直接return true,如果大家希望自己的View增加它的touch范围,可以尝试使用TouchDelegate,这里也不是重点,可以忽略;也就是说:如果我们设置了setOnTouchListener,并且return true,那么View自己的onTouchEvent就不会被执行了,当然了,本例我们return false,我们还得往下探索;
2025-01-10 07:33:36
514
原创 Android Studio将html5网址封装成APP
1、打开Android Studio → 创建一个新项目2、在activity_main.xml里添加一个WebView视图控件,代码如下:
2025-01-10 07:29:55
1162
原创 Android Studio 3
Android Studio 3.0.0是一个主要版本,包括各种新功能和改进。macOS用户:如果您要更新旧版本的Android Studio,可能会遇到更新错误对话框,其中显示 “Some conflicts were found in the installation area(在安装区域中发现某些冲突)”。只需忽略此错误,然后单击“ 取消”继续安装。
2025-01-10 07:26:14
793
原创 Go 专栏|复合数据类型:字典 map 和 结构体 struct
map 是引用类型,所以在函数间传递时,也不会制造一个映射的副本,这点和切片类似,都很高效。这样做的缺点很明显,如果字段顺便变了,那么凡是涉及到这个结构初始化的部分都要跟着变。结构体是一种聚合类型,包含零个或多个任意类型的命名变量,每个变量叫做结构体的成员。懒是程序员的必修课。第一种是按照声明字段的顺序逐个赋值,这里需要注意,字段的顺序要严格一致。即使在 Key 不存在的情况下,也是不报错的。字典的零值是 nil,对值是 nil 的字典赋值会报错。如果结构体的成员变量是可比较的,那么结构体也是可比较的。
2024-12-20 19:58:22
940
原创 git学习笔记之快速入门
这样你提交的远程分支就显示你的信息了。当然你也可以找到git的配置文件.gitconfig,进行修改。我的在C:\Users\asus下面,如果找不到可以搜索文件名.gitconfig。我的以记事本打开是这样的:[user][color]ui = true[alias]ps = pusha =add .刚才以命令设置的name和email都在这个文件里。git使用逻辑。
2024-12-20 19:54:41
595
原创 GitHub霸榜项目:30万字图解算法题典,超全实用资源,狂揽6000星
本书采用题目+解答的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在- -起,读者在学习本书时很容易看出面试题解法之间的联系,使知识的学习避免碎片化。在本书中,发生如上转换行为的函数在估算额外空间复杂度的时候,笔者并没有把charArr的空间计算在内,这是因为如果不转换成char数组,而是选择直接使用原参数str,也是完全可以的,之所以选择转换,仅仅是为了让读者更容易读懂代码;该项目中包括热爱编程的作者小浩撰写的一本三十万字的算法题典,全部采用漫画图解的方式,简单易懂,适合初中级读者。
2024-12-20 19:51:00
492
原创 GitHub霸榜项目:30万字图解算法题典,超全实用资源,狂揽6000星(1)
本书采用题目+解答的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在- -起,读者在学习本书时很容易看出面试题解法之间的联系,使知识的学习避免碎片化。在本书中,发生如上转换行为的函数在估算额外空间复杂度的时候,笔者并没有把charArr的空间计算在内,这是因为如果不转换成char数组,而是选择直接使用原参数str,也是完全可以的,之所以选择转换,仅仅是为了让读者更容易读懂代码;本书中的题目全面且经典,更重要的是,书中收录了大量独家题目和最优解分析,这些内容源自笔者多年来“死磕自己”的深入思考。
2024-12-20 19:47:18
700
原创 CentOS7详细安装教程--图文介绍超详细_服务器centos7安装详细图解
密码很重要,要记住!!root账户的密码,密码很重要,要记住!!
2024-12-20 15:11:20
2677
原创 C++知识整理系列(一)指针和动态空间_c++中的动态空间是什么
如下,是JavaScript 中使用变量,var 是 JavaScript 中的一个关键字,表示定义一个新的变量,而不是数据类型。编程中比较多用到,因为可能发生中断修改了寄存器的值或一段汇编代码修改了值而不让编译器知道,这时候就要加上volatile。函数指针,本质上是指针,只不过用来指向函数的地址,可以替代函数,并可切换指向,指向不同的函数。,在定义变量时不用显示地指明数据类型,解释器会根据赋给变量的数据自动推导出数据类型。就定义了一个返回值为空、参数列表为空的函数指针,可以指向相同格式的函数。
2024-12-20 14:56:26
452
原创 C++的auto类型说明符详解 附易错实例_c++ auto语句定义错误用法
i的初始值是1和3相加的结果。编译器会根据i的初始值自动推断变量i的类型。1和3都是int类型,所以i的类型就是int。以此类推,倘若它俩都变成double类型,那么i的类型就是double。使用auto也能在一条语句中声明多个变量。
2024-12-20 14:52:44
443
原创 C++入门·开篇_c++开头
定义命名空间,需要使用namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。普通命名空间的定义namespace SL//SL为命名空间的名称//命名空间中的内容,即可以定义变量、函数、还可以定义类型int a = 0;int val;命名空间支持嵌套和重名int a = 0;namespace data//命名空间可以嵌套,一般多是2~3层int val;//在同一工程中允许存在多个相同名称的命名空间,编译器最后会合并在同一个命名空间中。
2024-12-20 14:49:01
1207
原创 2022-07 Pandas进阶复盘汇总_pandas2022
或print(“自动推断后:”)自动推断后:01 1print(“自动转换后:”)自动转换后:data = [{}]data = [],},],},result。
2024-12-19 21:38:26
965
原创 2022 最新 Web 前端经典面试试题及答案——CSS篇
取消盒子的 margin 塌陷清除内部浮动,不会影响外面元素,可以阻止元素被浮动元素覆盖。二、两栏布局,有几种实现方式?常见的有 5 种方式,分别为:flex 布局grid 布局圣杯布局双飞翼布局系统的浮动布局使用 flex 布局,是目前主流的方式。实现方式:父容器设置 display:flex,定宽元素设置 width,自适应的子元素设置 flex:1 或 flex-grow:1。
2024-12-19 21:34:43
514
原创 2022 JavaScript 数组(Array)方法1w+字汇总(含数组新特性,全到没朋友,再也不用东拼西凑了)
/ 2// 1// 1// “leo”Array.from 方式Array.from() 将可迭代对象或者类数组对象作为第一个参数传入,就能返回一个数组function fn(…args) { // …args剩余参数数组,由传递给函数的实际参数提供如果你想实行进一步的数组转换,你可以向 Array.from()方法传递一个映射用的函数作为第二个参数。此函数会将数组对象的每一个值转换为目标形式,并将其存储在目标数组的对应位置上数组方法====返回新数组。
2024-12-19 21:31:01
912
原创 2021轻松斩获5家大厂offer后的面试总结!
很多时候,面试你的人并不一定面试是你的技术水平,你做过多少项目不是最重要的,更多的是你的表达能力、理解能力,你做的东西面试官也不一定懂,但是可以感知到你表达能力和理解能力。表述项目经验的时候需要从项目的需求、架构、技术点、自己负责开发的模块去讲述。就跟文章开头的两个小技巧一样,我每次面试前都会去网站上寻找最新面试题复习一遍,面试完毕之后再复盘一下经历,慢慢地养成了习惯,凝缩再凝缩,总结再总结,千锤百炼之后就形成了这一份大厂面试真题;而且长期的更新博客,可以总结、回顾技术知识,对技术的提升有极大的帮助。
2024-12-19 21:27:20
270
原创 2021美团高级工程师亲自汇总九大面试专题(附1000字解析)
阻塞队列LinkedBlockingQueue 内部是如何使用两个独占锁 ReentrantLock 以及对应的条件变量保证多线程先入队出队操作的线程安全?谈下对基于链表的非阻塞无界队列 ConcurrentLinkedQueue 原理的理解?串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗?HTTP协议的交互流程,HTTP和HTTPS的差异,SSL的交互流程?有什么办法主动通知虚拟机进行垃圾回收?
2024-12-19 21:23:38
784
原创 2021最新华为面经分享:Java高分面试指南(25分类1000题50w字解析)
不过给我的最大冲击力就是**“面试造火箭,工作拧螺丝” “基础不牢,地动山摇”** 说的是真真的有理!47、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?45、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?94、什么是原子操作?58、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)97、什么是阻塞队列?
2024-12-19 21:19:56
683
原创 2021最新Vue面试题含源码解析
Vue组件可能存在多个实例,如果使用对象形式定义data,则会导致他们共用一个data对象,那么状态变更将会影响所有组件实例,这是不合理的;key的作用主要是为了高效的更新虚拟DOM,其原理是vue在patch过程中通过key可以精准判断两个节点是否是同一个,从而避免频繁更新不同元素,是的整个patch过程更加高效,减少DOM操作量,提高性能。vue的组件是基于配置的,我们通常编写的组件是组件配置而非组件,框架后续会生成其构造函数,他们基于VueComponent,扩展于Vue。
2024-12-19 21:16:13
580
原创 2021最新Java面试标准,26个技术点一千多道面试题全曝光,赶紧学
Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation对象,然后通过该 Annotation 对象来获取注解中的元数据信息。在 Java 语言里深复制一个对象,常常可以先使对象实现 Serializable 接口,然后把对象(实际上只是对象的一个拷贝)写到一个流里,再从流里读出来,便可以重建对象。当你将你的应用从 32 位的 JVM 迁移到 64 位的 JVM 时,由于对象的指针从32 位增加到了 64 位,因此堆内存会突然增加,差不多要翻倍。
2024-12-19 21:12:32
671
原创 2021春招Java后端开发面试总结:25个技术专题(最全面试攻略)
3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;栈( stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶(top)。Dao 接口里的方法,参数不同时,方法能重载吗?1、数据里有{1,2,3,4,5,6,7,8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
2024-12-19 21:08:50
2045
原创 2021年最新Android面试点梳理,已开源_android面试开源
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
2024-12-19 21:05:08
740
原创 Java开发三年偶获阿里内推,备战四个月冲进阿里,抱得美人归
第四个月,在学姐的指导下修改了部分简历上写得不太好的地方,填充了很多这段时间来学习的内容,项目部分也在学姐的指导下优化了一下,着重描述参与了那些内容,做了那些优化,拿数据说话。普通二本,在学校并没有好好学习,实习只拿到了3k的薪资,后来拼命地补知识,正式工作的时候拿到了8K的offer,但在北京这点薪资还是不够看。备战的这段时间看的资料不少,主要还是以技术文档为主,面试资料没看多少,毕竟学姐已经在阿里的,直接问她就好的。对比本公司的人来说已经很高了,但和知乎、脉脉上的大佬相比,简直是弱爆了!
2024-12-17 18:30:03
348
原创 Java应用日志如何与Jaeger的trace关联
您可能会说:有些业务特征如user-id,咱们可以写入span的tag或者log中,这样通过span查到user-id,再去日志中查找含有此user-id的日志即可,这样确实可以,但未必每条日志都有user-id,所以并非最佳方式。此刻聪明的您应该能猜到jaeger官方的方案是如何实现的了,没错,就是借助MDC将trace信息填充到日志模板中,这样每行日志都有了trace信息,咱们在jaeger web页面中感兴趣的任何一次trace,都能找到对应的日志了。%logger{10}表示类名过长时会自动缩写。
2024-12-17 18:26:22
440
原创 Java并发编程之线程的应用操作,助你深化学习核心技能
避免死锁的方法:避免一个线程同时获取多个锁避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源尝试使用定时锁,lock.tryLock(timeout)对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况。
2024-12-17 18:22:40
647
原创 java工程师证好考吗,不愧是大佬
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图),有需要的可以戳这里免费领取最新整理电子书方面的问题自我介绍项目介绍怎么管理项目成员当意见不一致时,如何沟通并说服开发成员,并举个例子怎么保证项目的进度数据库的索引原理非聚簇索引和聚簇索引索引的使用注意事项联合索引从底层解释最左匹配原则。
2024-12-17 18:18:59
635
原创 java工程师发展规划,面试建议
在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例感兴趣的朋友可以点击Java学习免费获取。由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!大家看完有什么不懂的可以在下方留言讨论也可以关注。容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!**大家看完有什么不懂的可以在下方留言讨论也可以关注。
2024-12-17 18:15:17
835
原创 java局部变量和实例变量的区别、分支流程
读入一个学生的成绩,如果低于60分,输出不及格;读入一个整数,如果是1~7间,则分别输出一个星期对应的星期数,如果输入的数不在0-7之间,则输出“输入有误“。case(1): System.out.println(“星期一”);case(2): System.out.println(“星期二”);case(3): System.out.println(“星期三”);case(4): System.out.println(“星期四”);case(7): System.out.println(“星期日”);
2024-12-17 18:11:33
753
原创 Java小项目—客户信息管理软件(一)
声明和使用数组数组的插入、删除和替换关键字的使用:this需求说明====1. 该软件能够实现对客户对象的插入、修改和删除(用数组实现),并能够打印客户明细表。项目采用分级菜单方式,主菜单如下:2. 每个客户的信息被保存在Customer对象中,以一个Customer类型的数组来记录当前所有的客户。1.每次"添加客户"(菜单1)后,客户(Customer)对象被添加到数组中。界面及操作过程如下所示:请选择(1-5):1。
2024-12-17 18:07:52
922
原创 java实现分布式锁
实现分布式锁的方式有很多,有最简单的数据库实现,还有 Zookeeper 多节点实现和缓存实现。我们可以分别对这三种实现方式进行性能压测,可以发现在同样的服务器配置下,Redis 的性能是最好的,Zookeeper 次之,数据库最差。从实现方式和可靠性来说,Zookeeper 的实现方式简单,且基于分布式集群,可以避免单点问题,具有比较高的可靠性。因此,在对业务性能要求不是特别高的场景中,我建议使用 Zookeeper 实现的分布式锁。
2024-12-17 18:04:11
793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅