- 博客(21)
- 收藏
- 关注
原创 【JUC】Semaphore源码分析
/4.释放许可}).start();结果:2.Semaphore应用,在访问高峰期时,让请求线程阻塞,高峰期过去再释放许可,当然它只适合限制单机线程数量,并且仅是限制线程数,而不是限制资源数(例如连接数,请对比 Tomcat LimitLatch 的实现),对比『享元模式』下的实现(用wait notify),性能和可读性显然更好, 注意下面的实现中线程数和数据库连接数是相等的@Slf4j//1.连接池大小//2.连接对象数组//3.连接状态数组 0 空闲,1 繁忙。
2025-01-19 15:58:37
1012
原创 [Linux打怪升级之路]-进程的状态
本期学习目标:理解操作系统下进程状态,Linunx下进程状态,认识僵尸进程和孤儿进程及进程的优先级和进程切换。
2025-01-18 21:24:10
626
原创 [Java刷算法]牛客—剑指offer第一天
到这里今日的三剑就完成了,题目不难,但难在坚持,和小编一起互相鼓励,互相监督,共同30太难完成《剑指offer》吧。我们遍历字符串把它存到一个临时字符数组里,在遍历的时候直接判断是否为空,如果是直接加进‘%20’三个字符,最后输出即可。本题的思路比较简单,首先将这个数组排序,遍历数组,找到当前的和前一个相同的直接输出就好了。
2025-01-18 21:22:08
445
原创 Token生成方案-JWT_java jwt token方案
Payload部分包含了一系列声明,其中一些是JWT的注册声明,而其他则是公开声明或私有声明。声明包含了关于用户和其他一些元数据的信息。
2025-01-18 15:03:20
202
原创 Toast与Snackbar的那点事
我们的核心目标只是希望在用户关闭通知消息开关的情况下,能继续看到通知,所以我们使用了WindowManager添加自定义window的方式来替换Toast,但是在替换的过程中遇到了一些Toast的Crash异常,为了解决这些Crash,我们提出了使用自定义ToastHandler的方式来catch住异常,确保app正常运行。在方案推广上,为了能用更少的人力,更高的效率完成替换,我们使用了AspectJ的方案。
2025-01-18 15:01:20
1175
原创 Rust中的所有权是什么_所有权rust
现在栈中将有两个值 5。此情况中的数据是"基本数据"类型的数据,不需要存储到堆中,仅在栈中的数据的"移动"方式是直接复制,这不会花费更长的时间或更多的存储空间。既然我们已经掌握了基本语法,将不会在之后的例子中包含 fn main() { 代码,所以如果你是一路跟过来的,必须手动将之后例子的代码放入一个 main 函数中。现在它看起来很简单,不过在更复杂的场景下代码的行为可能是不可预测的,比如当有多个变量使用在堆上分配的内存时。在给 s2 赋值时,只有栈中的数据被复制了,堆中的字符串依然还是原来的字符串。
2025-01-18 06:29:05
983
原创 openGauss数据库源码解析系列文章—— 执行器解析(三)_松鼠会opengauss源码
图7-29 ExecVecResult函数执行流程ExecReScanVecResult函数用于重新执行扫描计划。ExecEndVecResult函数用于在执行结束时释放执行过程中申请的相关资源(包括存储空间等)。
2025-01-18 03:45:04
1246
原创 JVM性能优化 (一) 初识JVM
未来发行版中删除。需要指定的版本才能运行-showversion 输出产品版本并继续警告: 此功能已过时, 将在未来发行版中删除。在版本搜索中包括/排除用户专用 JRE-help 输出此帮助消息-X 输出非标准选项的帮助-ea[:…|:]按指定的粒度启用断言-da[:…|:]禁用具有指定粒度的断言启用系统断言禁用系统断言-agentlib:[=]加载本机代理库 , 例如 -agentlib:hprof。
2025-01-18 01:02:10
385
原创 JavaScript基本语法结构
HTML是不区分大小写的(尽管XHTML是区分大小写的),所以在编写js操控HTML的时候一定要注意大小写的区别。
2025-01-17 16:31:56
635
原创 C语言标准库函数qsort( )——数据排序_c语言排序库函数(1)
qsort()函数是C语言标准库提供的排序函数,q==Quick,函数内部是以快速排序的思想实现的,那qsort() 函数的意义是什么呢?内部居然还使用别的排序的思想。因为常规排序是写死的,假如原先是对整型数据的排序,现在要对结构体类型的数据排序,则需要修改函数参数,函数内部数据也要相应的修改。而qsort()函数他可以对任意类型的数据排序,比如说,可以直接排整型数据,也可以排结构体类型的数据,甚至是字符串数据,通用性极强。这样的排序确定不来学习一下吗???
2025-01-17 03:02:09
615
原创 C语言最新面试题系列二_c语言面试题
1)关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。回答不出这个问题的人是不会被雇佣的。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。我最近不幸看到 Infineon为其较复杂的通信芯片写的驱动程序,它用到了bit fields因此完全对我无用,因为我的编译器用其它的方式来实现bit fields的。
2025-01-17 03:00:06
583
原创 BUUCTF Web [强网杯 2019]随便注
进入题目链接后,是一个「查询」功能,在输入框中提交id,即可返回「响应」的内容。在输入框中输入一个2,即可查询2对应的内容。
2025-01-16 23:06:34
993
原创 Bugly升级SDK适配Android N
前几天有个用户在我们论坛反馈一个问题,说他们的app在Android N机型中升级失败了,看了一下反馈的问题,基本确定了是因为Android N收敛了访问共享文件权限,即在Android N中使用intent不允许跨package共享。这里要注意一下,FileProvider是support-v4包里面的,所以在你的程序必须要引入support-v4包。这段代码的意思是,通过intent设置数据和类型,然后通过context在新的task中启动安装apk的程序。,并授予 URI 临时访问权限。
2025-01-16 23:04:33
721
原创 android计步器!30岁以后搞Android已经没有前途?再不刷题就晚了!_懂车帝webview优化
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。Java语言与原理;大厂,小厂。Android面试先看你熟不熟悉Java语言高级UI与自定义view。
2025-01-16 19:58:41
362
原创 Android视频的操作_android下载视频流程
通过上面的内容我们已经了解到:SurfaceView 的工作方式是创建一个置于应用窗口之后的新窗口,这种方式的效率非常高,因为 SurfaceView 窗口刷新的时候不需要重绘应用程序的窗口。在之前的课程中,我们接触到的所有的UI控件或者布局都是View的子类,常用的View有布局组件 ConstraintLayout、RelativeLayout 与基本的显示组件ImageView、TextView 等。从API到硬件,再到厂商的兼容性问题,相机开发中需要格外注意的几个点首先要有心理准备。
2025-01-16 19:56:40
634
原创 2022年python面试题大全(50题附答案)
利用global 修改全局变量**os:**提供了不少与操作系统相关联的函数**sys:**通常用于命令行参数**re:**正则匹配**math:**数学运算**datetime:**处理日期时间。
2025-01-16 01:55:40
249
原创 2022年C++面试题万余字汇总【面试官常问】_c++ 高阶低延迟面试题
保证缓存和数据库的双写一致性,共有四种同步策略,即先更新缓存再更新数据库、先更新数据库再更新缓存、先删除缓存再更新数据库、先更新数据库再删除缓存。先更新缓存的优点是每次数据变化时都能及时地更新缓存,这样不容易出现查询未命中的情况,但这种操作的消耗很大,如果数据需要经过复杂的计算再写入缓存的话,频繁的更新缓存会影响到服务器的性能。MySQL中的索引B+树实现的;如果派生类重写了基类的虚函数,则派生类对象的虚函数表中保存的是派生类的虚函数地址,如果没有重写,则派生类对象的虚函数表中保存的是父类的虚函数地址。
2025-01-16 01:53:39
871
原创 2022年C++面试题万余字汇总【面试官常问】_c++ 高阶低延迟面试题(1)
保证缓存和数据库的双写一致性,共有四种同步策略,即先更新缓存再更新数据库、先更新数据库再更新缓存、先删除缓存再更新数据库、先更新数据库再删除缓存。先更新缓存的优点是每次数据变化时都能及时地更新缓存,这样不容易出现查询未命中的情况,但这种操作的消耗很大,如果数据需要经过复杂的计算再写入缓存的话,频繁的更新缓存会影响到服务器的性能。MySQL中的索引B+树实现的;如果派生类重写了基类的虚函数,则派生类对象的虚函数表中保存的是派生类的虚函数地址,如果没有重写,则派生类对象的虚函数表中保存的是父类的虚函数地址。
2025-01-16 01:51:38
552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅