自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 RXJava之线程控制Scheduler(四)

除了灵活的变换,RxJava 另一个牛逼的地方,就是线程的自由控制。

2025-01-18 06:29:39 850

原创 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

原创 jenkins进行自动化部署

一个是,一个是 Publish Over SSH这里因为作者已经下载好了,所以在Installed可以查找到。

2025-01-17 23:30:09 672

原创 JavaScript基本语法结构

HTML是不区分大小写的(尽管XHTML是区分大小写的),所以在编写js操控HTML的时候一定要注意大小写的区别。

2025-01-17 16:31:56 635

原创 javascript从入门到高级,每天不停更新知识点(12天)

alert(‘大哥’);

2025-01-17 16:29:54 142

原创 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关注的人

提示
确定要删除当前文章?
取消 删除