- 博客(11)
- 收藏
- 关注
原创 12-深入理解CAS&原子引用解决ABA问题
CAS :比较当前工作内存中的值和主内存中的值,如果这个值是期望的,那么则执行操作!//AtomicStampedReference 如果泛型是一个包装类吗,注意对象的引用问题。//如果我期望的值达到了,就更新,否则 就不更新 CAS是CPU的并发原语。解决ABA问题 ,引入原子引用 (可以联想一下乐观锁)//正常在业务操作,比较的是一个个对象 User。// 注意Integer -127~128。CAS: ABA问题 (狸猫换太子)22.原子引用解决ABA问题。//我希望数据被改动我知道。
2024-12-18 14:10:33
355
原创 11道精选经典LeetCode例题让你彻底搞懂二叉树的广度优先遍历
8.填充每个节点的下一个右侧节点指针||7.填充每个节点的下一个右侧节点指针。//DFS 深度优先遍历。2.二叉树的层序遍历||6.在每个树行找最大值。10.二叉树的最小深度。4.二叉树的层平均值。5.n叉树的层数遍历。9.二叉树的最大深度。
2024-12-18 14:06:52
419
原创 10段代码打通js学习的任督二脉
再简单分析一下bind函数内部的嵌套,执行bind函数的时候返回的是一个匿名函数,所以执行bar(3)的时候实际上是执行的bind内部的匿名函数,返回的是之前传入的foo函数的执行结果。也就是说当括号内执行完赋值之后,返回的是o对象中的foo函数。bind函数的第一个参数为null代表作用域不变,后面的不定参数将会和函数本身的参数按次序进行绑定,绑定之后执行函数只能从未绑定的参数开始传值。声明的变量和命名函数都会被提升到代码的最前面,只不过声明的变量的赋值语句在代码中的位置不变。经常可以看到这样的代码。
2024-12-18 14:03:11
705
原创 10年测试人竟不会写测试用例,简直无地自容
都知道测试用例是干什么用的,提到设计测试用例的方法,大部分测试工程师都会侃侃而谈:等价类法、边界值法、判定表法、正交分解法……**测试用例作为测试的输入文档,以及自动化测试的基础依据,应该是简洁优美的,它体现了测试工程师思维的逻辑性和递进性,它的质量直接关系到测试执行的质量,**而执行时所能够达到的覆盖度则往往是测试工程师基本功的体现。因为场景实现是有明确的操作流程的,而异常处理的场景,则是需要测试工程师自己进行分析的。一般说来,测试用例的覆盖设计和思路,同操作流程和开发思维是有极大不同的,
2024-12-18 13:59:30
1035
原创 10个常用的JS工具库,80%的项目都在用
bilibili 开源的 html5 flash 视频播放器,使浏览器在不借助 flash 插件的情况下可以播放 flv,目前主流的直播、点播解决方案。可以与CSS3属性、SVG、DOM元素、JS对象一起工作,制作出各种高性能、平滑过渡的动画效果。_.intersection([1, 2, 3], [2, 3, 4]) // 返回多个数组的交集 => [2, 3]一个轻量、可拓展、针对手机网页的前端开发者调试面板。一个跨浏览器的 css3 动画库,内置了很多典型的 css3 动画,兼容性好,使用方便。
2024-12-18 13:55:50
335
原创 101道算法JavaScript描述【二叉树】5
序列化为 “[1, 2, 3, null, null, 4, 5]”序列化为 “[1, 2, 3, null, null, 4, 5]”// 若左节点或右节点为空,则判断对应的右节点或左节点是否为空。给定二叉树: [3,9,20,null,null,15,7]例如,二叉树 [1,2,2,3,4,4,3] 是对称的。// 为空时,则返回true,不为空则返回false。// 不相等时,则该树不对称,相等时则继续递归判断。// 判断左节点的左节点和右节点的右节点是否相等。// 创建保存节点深度的空数组。
2024-12-18 13:48:21
375
原创 10 个杀手级的 Python 自动化脚本
厌倦了校对你的长文章或文本,然后,你可以试试这个自动化脚本,它将扫描你的文本并纠正语法错误,这个很棒的脚本使用 Happtransformer 模块,这是一个机器学习模块,经过训练可以修复文本中的语法错误。通过使用以下自动化脚本,你不仅可以使用 Python 来优化视频,还可以使用它来优化图像。这个自动化脚本将帮助你使用 PySide2 Gui 模块创建你的 GUI 应用程序。这个方便的脚本可以让你设置你想要得到通知的电池百分比,该脚本使用 Pyler 进行通知,使用 Psutil 获取当前的电池百分比。
2024-12-18 13:44:39
298
原创 0基础学python开发工具及学习平台推荐_python平台a
为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。
2024-12-18 13:40:57
385
原创 05-SpringBoot工程中MVC应用实践
概念理解起来很晦涩,其实其核心就是资源,用URL定位资源,用HTTP动作表述要做的操作,HTTP动作通常会包含GET、PUT、POST、DELETE等,每一种动作,从本质上而言就是对资源的操作,例如GET就是获取资源,用于查询资源,POST用于新增资源,PUT请求用于更新资源,DELETE请求用于删除资源。在大型软件系统设计时,业务一般会相对复杂,假如所有业务实现的代码都纠缠在一起,会出现逻辑不清晰、可读性差,维护困难,改动一处就牵一发而动全身等问题。为了更好解决这个问题就有了我们现在常说的分层架构设计。
2024-12-18 13:33:29
656
原创 02-Spring Security 安全框架应用(学一个)
企业中数据是最重要的资源,对于这些数据而言,有些可以直接匿名访问,有些只能登录以后才能访问,还有一些你登录成功以后,权限不够也不能访问.总之这些规则都是保护系统资源不被破坏的一种手段.几乎每个系统中都需要这样的措施对数据(资源)进行保护.我们通常会通过软件技术对这样业务进行具体的设计和实现.早期没有统一的标准,每个系统都有自己独立的设计实现,但是对于这个业务又是一个共性,后续市场上就基于共享做了具体的落地实现,例如Spring Security,Apache shiro诞生了.需要具备指定权限才可以访问。
2024-12-18 13:29:46
959
原创 #pragma的常用方法讲解
pragma pack(pop, identifier, n) 将编译栈栈中标识为 identifier 位置的值弹出, 然后丢弃, 再将 n 设为当前值. 注意, 如果栈中所标识的位置之上还有值, 那会先被弹出并丢弃.#pragma pack(pop, identifier) 将编译栈栈中标识为 identifier 位置的值弹出, 并将其设为当前值. 注意, 如果栈中所标识的位置之上还有值, 那会先被弹出并丢弃.error : 164 ) //这1行跟下面3行效果一样。
2024-12-18 13:26:02
811
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人