xindoo_社区达人页

个人头像照片
xindoo
已加入开发者社区1634

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
开发者认证勋章
开发者认证勋章
个人头像照片
江湖新秀
江湖新秀

成就

已发布301篇文章
17条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • Python
  • 前端开发
  • Linux
擅长领域
  • Java
    初级

    能力说明:

    了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。

  • Linux
    中级

    能力说明:

    掌握Linux文件管理方式和技巧,对用户和组管理有基本认知,掌握Linux网络知识,对TCP/IP协议及OSI七层模型有较为清晰的概念,掌握Linux磁盘与文件系统管理技巧,知道如何安装Linux软件包,逐步掌握Shell脚本的编程技巧。

技术认证

暂时未有相关云产品技术能力~

CSDN博客专家,9年博主

暂无精选文章
暂无更多信息

2023年11月

  • 11.02 16:29:28
    发表了文章 2023-11-02 16:29:28

    如何使用ffmpeg制作透明背景的视频

    数字人的视频我是使用的腾讯智影生成带绿幕的视频,要实现透明背景,有个很关键的信息需要知道,不是所有的视频格式(视频编码)都支持透明背景,首先我们最常用的mp4就是不支持(不管是h264还是h265)都不支持,目前支持透明背景的只有少部分视频编码,比如google的vp9(webm)格式,上图中我用就是webm+vp9编码的视频。实测这种视频兼容性也不行,比如在苹果的safari浏览器下,就无法透明背景。
  • 11.02 16:27:30
    发表了文章 2023-11-02 16:27:30

    Java21虚拟线程实践

    虚拟线程是一种轻量化的线程封装,由jvm直接调度和管理。反之普通的线程其实是调用的操作系统的能力,对应的是操作系统级的线程。相对虚拟线程来说操作系统级的线程持有成本很高,而且受操作系统调度和管理的。实际在普通多线程情况下,如果出现IO阻塞,这个线程就必须得跟着阻塞,这个线程对应的操作系统就被阻塞,而他却持有大量的内存。另外,要处理大量的IO就得新建更多线程,而大量的线程会在操作系统调度时因上下文切换导致大量的CPU被浪费。
  • 11.02 16:25:50
    发表了文章 2023-11-02 16:25:50

    spring-kafka中ContainerProperties.AckMode详解

    近期,我们线上遇到了一个性能问题,几乎快引起线上故障,后来仅仅是修改了一行代码,性能就提升了几十倍。一行代码几十倍,数据听起来很夸张,不过这是真实的数据,线上错误的配置的确有可能导致性能有数量级上的差异,等我说完我们这个性能问题你就清楚了。
  • 11.02 16:23:35
    发表了文章 2023-11-02 16:23:35

    如何在地图上寻找最密集点的位置?

    最近我在工作中遇到了一个小的需求点,大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法,就使用了一个非常简单的策略——所有点的坐标求平均值,这个方法大部分的时候好用,因为大部分城市所有点位基本上都是围绕某个中心点向四周发散的。但我们实际在线上使用的时候,遇到了两个特殊的case。
  • 11.02 16:18:43
    发表了文章 2023-11-02 16:18:43

    使用javax.validation.constraints校验参数合法性

    以上就是javax.validation.constraints的基本用法和高级应用。通过掌握这个强大的校验框架,我们可以轻松地为Java项目实现数据校验功能,从而提高代码的健壮性和可维护性。
  • 11.02 16:16:08
    发表了文章 2023-11-02 16:16:08

    Java Optional:让你的代码更优雅

    在Java编程中,处理null值一直是一个棘手的问题。错误的null处理可能会导致许多难以调试的运行时异常。自Java 8引入Optional类以来,它为我们提供了一种更优雅、更安全的方式来处理可能为空的值。在Java 8之前,程序员通常需要判断是否是null来避免NullPointerException,这导致代码会变得非常臃肿,而Optional类的诞生缓解了这个问题。Optional类是一个简单的容器,它可能包含某个值,或者也可能为空。它提供了一系列有用的方法来检查值是否存在,提取值(如果存在)或者提供默认值。
  • 11.02 16:13:25
    发表了文章 2023-11-02 16:13:25

    ChatGPT函数调用初体验:让ChatGPT具备抓取网页文本的能力

    这篇文章总结了使用ChatGPT提升程序员编程能力的方法和场景。作者经过两个月的使用发现,虽然ChatGPT目前还无法完全替代程序员在一些强上下文的编程场景下的能力,但在一些通用化的编程场景下,它的表现仍然可行。作者提炼出以下利用ChatGPT的场景
  • 11.02 16:10:14
    发表了文章 2023-11-02 16:10:14

    如何使用ChatGPT提升自己的“码”力?

    经过我两个月的使用,我发现ChatGPT目前还完全无法替代程序员,尤其是在一些强上下文的编程场景下,比如一些重业务的编程场景。而在一些比较通用化的编程场景下,其展现出来的能力尚可。总结起来,我们程序员目前不必太担心ChatGPT抢我们饭碗的情况,但是可以利用它来完成一些编程相关的事,把它当做一个工具来大幅度提升我们的工作效率,下面是一些我总结的可以利用ChatGPT的一些场景,希望对大家有所帮助。
  • 11.02 16:05:15
    发表了文章 2023-11-02 16:05:15

    使用ffmpeg拼接两张图片

    最近在工作中遇到了一个需求,就是需要将两张图片拼接在一起,作为一个封面图。如果只是临时拼接一张,我们可以只用photoshop之类的图片编辑工具,将两张图片拼接在一起。而我们的需要是需要实现自动化,由于之前使用过ffmpeg做过图片的操作,于是搜索了下,ffmpeg确实能实现两张图片的拼接,这里分享下相关操作的命令行。
  • 11.02 14:34:16
    发表了文章 2023-11-02 14:34:16

    ThreadPoolExecutor——高效处理并发任务的必备良器

    通过合理地监控和调优ThreadPoolExecutor,可以提高线程池的性能和可靠性,避免任务丢失或线程池崩溃的问题,并且可以提高应用程序的性能和可靠性。
  • 11.02 14:31:42
    发表了文章 2023-11-02 14:31:42

    从CPU的视角看 多线程代码为什么那么难写!

    当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问 “为什么代码测试环境运行好好的,一上线就不行了?”。 为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名词,就拿我们熟悉的Java为例,不仅java语言自带了synchronized、volatile、wait、notify… ,jdk中各种工具包也是层出不穷,就比如单一个Lock,就可以有很多种实现,甚至很多人都谈锁色变。
  • 11.02 14:26:18
    发表了文章 2023-11-02 14:26:18

    使用ffmpeg缩小视频体积的几种方式

    上述命令将输入视频input.mp4转换为H.265编码格式,并将结果保存为output.mp4文件。其中,-c:v选项表示视频编码器,libx265表示使用x265编码器,-crf选项表示视频质量,28表示目标视频质量,值越小视频质量越高,文件体积越大。
  • 11.02 14:24:44
    发表了文章 2023-11-02 14:24:44

    Linux parallel 命令使用手册

    在这个示例中,我们使用Parallel并行执行command1命令,并使用:::符号传递arg1、arg2和arg3参数。Parallel会自动将这些参数分成多个块,并并行地处理它们。您可以使用其他选项来控制并行度和资源利用率,例如–jobs选项来指定要并行执行的作业数量,–load选项来指定要使用的系统负载等等。
  • 11.02 14:20:52
    发表了文章 2023-11-02 14:20:52

    Linux xargs命令介绍

    以上是一些常见的 xargs 命令的使用示例。使用 xargs 命令将多个文件传递给其他命令时,需要注意要检查传递给执行程序的最终参数列表是否正确,以避免出现问题。
  • 11.02 14:16:50
    发表了文章 2023-11-02 14:16:50

    Java中使用HashMap时指定初始化容量性能一定会更好吗?

    可以看出,容量16是个分水岭,当容量为16时,二者几乎没啥差异,这也很容易理解,当不指定容量时默认初始容量就是16。但容量大于16时,指定容量时的性能会高于不指定时的性能,随着数量的增加,前者会比后者性能高出50%。但当数据量小于16时,不指定容量大小反而性能更高,最多甚至相差2倍,这就和我们之前的认知不一样了。
  • 11.02 14:12:04
    发表了文章 2023-11-02 14:12:04

    如何用ffmpeg截取视频片段&截取时间不准确的坑

    之前在工作中,有遇到需要程序化截取视频片段的场景,这里使用ffmpeg命令行就可以很容易实现,这里也记录下我们使用过程中遇到的坑,希望对大家也有所帮助。 举个例子,当我们要截取视频文件中input.mp4的第15秒到第98秒时,ffmpeg命令行可以这么写:
  • 11.02 14:09:27
    发表了文章 2023-11-02 14:09:27

    使用ffmpeg将视频转成HLS(m3u8)格式

    HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传输视频。今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。
  • 11.02 14:07:45
    发表了文章 2023-11-02 14:07:45

    用ffmpeg将视频转成gif动图

    今天分享一个我制作表情包的技巧。现在视频编辑的门槛已经非常低了,只要装个剪映稍微学一下,很容易就能把你想要的内容剪出来,真的是有手就行。但是视频剪出来的视频是无法直接用做表情包的,只有gif格式的动图才是真正可以用的表情包。另外一点,在微信、企微等通讯软件中,gif动图的大小也是有严格限制的,比如微信和企微里最大是5MB,超过这个大小就会被当成文件传输,且无法被别人收藏转发,也就失去了表情包的意义。我这里分享一些用ffmpeg来生成gif动图的命令行示例,助力大家生产出更多有趣的表情包。
  • 11.02 14:04:54
    发表了文章 2023-11-02 14:04:54

    在Springboot HandlerInterceptor中获取GET和POST请求参数

    上面RequestWrapper的代码我查阅资料的时候在多篇博文中看到了,但是单有RequestWrapper还不足以完成整个请求,而且我看很多网络上的博客都是只在Interceptor中Wapper,但实际这样是不对的,而且也完全不需要,因为必须要替换掉整个请求链路中的Request才行。这里我们只需要在Filter中将普通的Request替换成我们自己的RequestWrapper
  • 11.02 14:02:43
    发表了文章 2023-11-02 14:02:43

    做得好 vs 做得快?

    现实中如果工作中老板给你安排了一个任务,这时候你有两种选择:1.保质保量做完,但可能会花很长时间。 2.花很短的时间做完,但质量可能有问题。 很显然质量和速度是冲突的,做得快大概率做不好,做得好大概率做不快。 这时候你会怎么选?
  • 11.02 14:01:02
    发表了文章 2023-11-02 14:01:02

    谷歌Guava LoadingCache介绍

    CacheLoader的作用就是为了在Cache中数据缺失时加载数据,其中最重要的方法就是load()方法,你可以在load() 方法中实现对应key加载数据的逻辑。在调用LoadingCache的get(key)方法时,如果key对应的value不存在,LoadingCache就会调起你在创建cache时传入的CacheLoader的load方法。
  • 11.02 13:55:31
    发表了文章 2023-11-02 13:55:31

    CSDN开发者云对象存储命令行工具

    CSDN近期推出了开发者云服务,我对比了下各产品同其他云厂商之间的价格,开发者云的价格确实是相当香了,就拿我今天要讲的对象存储的价格为例,列举下各厂商1GB/月价格。
  • 11.02 13:54:14
    发表了文章 2023-11-02 13:54:14

    如何写出高性能代码(三)优化内存回收(GC)

    可复用性在这里指的是,大多数的对象都是可以被复用的,这些可以被复用的对象就没必要每次都新建出来,浪费内存空间了。 处了巧用数据特性 中的例子,我这里再个Java中已经被用到的例子,这个还得从一段奇怪的代码说起。
  • 11.02 13:50:32
    发表了文章 2023-11-02 13:50:32

    Antlr实现任意四则运算表达式求值

    上面语法就是四则运算的巴科斯范式定义(EBNF),可能对初学者有点难理解,其实就是一个递归定义,一个表达式可能是有多个子表达式构成,但子表达式的尽头一定是数字。 antlr可以用EBNF所定义的规则,将某个输入串解析为一颗抽象语法树(AST)。我们以表达式((3+3)*(1+4))/(5-3) 为例
  • 11.02 13:47:07
    发表了文章 2023-11-02 13:47:07

    使用ffmpeg将图片合成为视频(附完整参数介绍)

    ffmpeg -f image2 -i %d.jpeg -vf scale=-1:480 output5.mp4 #-1表示比例缩放,也可-vf scale=640:-1固定宽度缩放高度
  • 11.02 13:41:54
    发表了文章 2023-11-02 13:41:54

    素数判定 高级程序员才知道的那些事儿

    其原理是这样的,设置一个标记数组,开始先把2的所有倍数都标记了,然后往后走发现3没有被标记,那3肯定是个素数,然后在标记数组中把所有3的倍数标记掉,然后发现4已经被标记了 跳过,到5……,直到标记完所有数字,那么剩下未标记的数字就是素数了,见上图,代码如下:
  • 11.02 13:37:31
    发表了文章 2023-11-02 13:37:31

    如何用正则表达式来检测一个数是否是素数

    这里还不足以下定论,因为这里还判断不了3n……,其实我们只要在/1后+就可以了。 这个正则表达式可以表示为以下代码。
  • 11.02 13:32:05
    发表了文章 2023-11-02 13:32:05

    30行代码实现微信朋友圈自动点赞

    首先祝大家新年快乐,过年了,允许我水一篇博客。不知道大家都回老家了没,不过我是没有回去,晚上吃完年夜饭看到很多人发朋友圈,为了增进和大家的友谊,于是就想着给大家点个赞,无奈内容太多了,就搞个自动化脚本,原理和前两天我写的30行代码实现蚂蚁森林自动偷能量一样,这里不再赘述,直接上代码。
  • 11.02 13:28:04
    发表了文章 2023-11-02 13:28:04

    Redis源码剖析之字典(dict)

    dict中的hashtable在出现hash冲突时采用的是开链方式,如果有多个entry落在同一个bucket中,那么他们就会串成一个单链表存储。
  • 11.02 10:34:06
    发表了文章 2023-11-02 10:34:06

    面试题精选:字符串替换

    字符串处理在程序猿日常工作工作中非常常见,常见到几乎各种语言中都已经封装好了字符串相关的API,我们只需要直接拿过来用就好。就拿Java为例,jdk中的String()类几乎封装了所有字符串相关的操作,其方法数量有近百个,几乎满足了程序猿所有字符串相关的操作。
  • 11.02 10:31:33
    发表了文章 2023-11-02 10:31:33

    Redis源码剖析系列博文开篇&大纲

    今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还要忙着吃吃喝喝、追剧、刷综艺、睡懒觉…… 不过有个项目进度不至于那么不堪,那就是今天的猪脚——《Redis源码剖析》系列博文,今天也是这个系列博文的开篇。为此,我也在github上建立了中文注解版的Redis源码库,详见https://github.com/xindoo/redis,目前已经添加近700行的中文注释,欢迎Star和关注。
  • 11.02 10:25:43
    发表了文章 2023-11-02 10:25:43

    Java中synchronized与ReentrantLock性能对比

    没错synchronized性能确实更差,但就只差20%左右,第一次测试的时候我也挺诧异的,知道synchronized会差,但那种预期中几个数量级的差异却没有出现。 于是我又把@Threads线程数调大了,增加了多线程之间竞争的可能性,得到了如下的结果。
  • 11.02 10:21:40
    发表了文章 2023-11-02 10:21:40

    如何制作一个可以自动更新的Github个人主页

    Github近期上线一个新的功能,就是你在自己账号下创建一个和自己用户名同名的仓库,并在仓库下创建一个README.md文件,这个文件就会被展示在你的Github个人主页。源于markdown的强大描述能力,你可以在你的Github首页展示各种各样的信息,甚至有人直接将自己个人简历挂上面,极大丰富了Github的可玩性。
  • 11.02 10:13:59
    发表了文章 2023-11-02 10:13:59

    JDK11现存性能bug(JDK-8221394)深度解析(2)

    当然这个bug的本质就是jdk11+zgc+StackWalker的bug,三者都是bug触发的必要条件,如果你能避免其中一条就可以完美避开这个bug了,比如升级到jdk12+,比如不用zgc……
  • 11.02 10:12:21
    发表了文章 2023-11-02 10:12:21

    JDK11现存性能bug(JDK-8221393)深度解析(1)

    作为一名工程师,面对上面的现象,你会怎么做? 我想你的第一反应肯定是业务代码有问题?是不是有什么地方导致内存泄露? 是不是业务代码里有什么地方加载的数据太多,越来越慢?…… 同事尝试过dump堆里的内容,dump jstak线程…… 都没看出来什么异常,也优化了业务代码里之前一些不合理的逻辑,始终没有解决问题。 当时的问题是他们都没有往热点代码的方向排查,主要是因为他们不知道有啥好用的工具。
  • 11.02 10:07:11
    发表了文章 2023-11-02 10:07:11

    生日悖论是啥?我用它省了上百G的内存

    <0.0001,p就会小于万分之一。我可以从历史数中统计出n的大小,然后计算出x,再留一定的buff,然后根据n的大小重新设计了redis的key。(因为涉及公司数据,这里不公布中间计算过程)
  • 11.02 09:56:17
    发表了文章 2023-11-02 09:56:17

    Json字段选取器介绍和实现

    我这个工具采用很简单的语法来标识目标json的层级结构,以及每一层中你想要的字段。语法类似yaml的层级结果,用相同的缩减标识同一层,每一层的关键词是你想要的字段key,不区分大小写,为了更方便使用,也支持正则表达式。 当然这里有几个特殊规则
  • 11.02 09:55:16
    发表了文章 2023-11-02 09:55:16

    从0到1打造正则表达式执行引擎(二) NFA转DFA

    然后对DFA的节点0执行步骤1,找到NFA中所有a可达的NFA节点(1#2#4#6#8#9)构成NFA中的节点1,如下图。
  • 11.02 09:54:32
    发表了文章 2023-11-02 09:54:32

    面试题精选:循环队列

    近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充一些java面试相关的题(比较本博主是java出身)。其实在此之前已经写过一些相关的文章了,已经整理到专栏里的,后续会持续更新,希望对大家有所帮助,有兴趣的旁友可以关注下。
  • 11.02 09:53:38
    发表了文章 2023-11-02 09:53:38

    从0到1打造正则表达式执行引擎(一) 正则表达式转NFA (2)

    看完上文之后相信你一直知道如果将一个正则表达式转化为状态机的方法了,这里我们要将理论转化为代码。首先我们要将图转化为代码标识,我用State表示一个节点,其中用了Map<MatchStrategy, List> next表示其后继节点,next中有个key-value就是一条边,MatchStrategy用来描述边的信息。
  • 11.02 09:52:53
    发表了文章 2023-11-02 09:52:53

    从0到1打造正则表达式执行引擎(一) 正则表达式转NFA (1)

    重复匹配(正则表达式中的 ? + *) 正则表达式里有4种表示重复的方式,分别是:
  • 11.02 09:52:09
    发表了文章 2023-11-02 09:52:09

    面试题精选:求根号2简单?高级算法你肯定不会(2)

    这篇博客从立题到完成经历了好几天的时间,期间整理思路、编码、绘图、查阅资料、修改完善总累计耗时近8h。写作不易,如果文章对你有用欢迎素质三连(点赞、收藏加关注) 。
  • 11.02 09:51:16
    发表了文章 2023-11-02 09:51:16

    面试题精选:求根号2简单?高级算法你肯定不会(1)

    开始大家都以为这个算法是游戏的开发者Carmack发现的,但后来调查发现,该算法在这之前就在计算机图形学的硬件与软件领域中有所应用,如SGI和3dfx就曾在产品中应用此算法,所以至今都无人知晓这个算法是谁发明的。
  • 11.02 09:49:13
    发表了文章 2023-11-02 09:49:13

    StampedLock源码分析(2)

    StampedLock也提供了单独读锁和写锁的封装类WriteLockView和ReadLockView,它俩存在的意义就是只讲锁的部分暴露出去,防止外部接口错误加解锁,我觉得符合软件设计模式中的单一职责和接口隔离原则。
  • 11.02 09:48:25
    发表了文章 2023-11-02 09:48:25

    StampedLock源码分析(1)

    之前已经说过了ReentrantLock ReentrantReadWriteLock,可以参考之前的博客。在ReentrantReadWriteLock源码解析文末,我提到了ReentrantReadWriteLock的缺点,就是无法避免写线程饥渴的问题,而今天要说的StampedLock提供了乐观读的API,解决了写饥渴的问题。
  • 11.02 09:47:24
    发表了文章 2023-11-02 09:47:24

    Antlr实战之JSON解析器slowjson

    把这个文件保存成 JSON.g4,然后执行下面命令,当然前提是你得正确安装antlr4。
  • 11.01 16:02:43
    发表了文章 2023-11-01 16:02:43

    ReentrantReadWriteLock源码解析

    ReentrantReadWriteLock的出现大幅提升了多读少写场景下的性能问题,但它依旧有自己的缺点,就是它可能会导致写饥饿。还是拿小区公告栏的例子,如果任意时刻都有人在看公告栏,你也不好打断人家所以你公告更新不了啊,所以想更新的人就得一直等着。
  • 11.01 15:59:00
    发表了文章 2023-11-01 15:59:00

    Web服务压测神器wrk

    wrk是一款开源的高性能http压测工具(也支持https),非常小巧,可以执行文件只有3M(其中主要是luajit和openssl占用绝大多数空间),别看核心代码3-5年没更新了,但依旧非常好用。虽然很早之前我就知道有这么个工具了,当时学习这个工具的时候我还拿它压测了我们的个人网站xindoo.me,发现mysql性能不行后加了wp-cache,通过cache把我网站的承载能力提升了10多倍。但当时之前简单使用它的初级功能,最近工作中恰好有个http服务需要压测,然后就拿wrk做了。这次使用了wrk lua高级功能实现了压测,我们找到了我们服务的瓶颈,同时也被wrk的超高性能所震惊。
  • 11.01 15:55:49
    发表了文章 2023-11-01 15:55:49

    ReentrantLock源码解析

    谈到多线程,就不避开锁(Lock),jdk中已经为我们提供了好几种锁的实现,已经足以满足我们大部分的需求了,今天我们就来看下最常用的ReentrantLock的实现。
  • 11.01 15:53:01
    发表了文章 2023-11-01 15:53:01

    布隆过滤器(BloomFilter)原理 实现和性能测试

    可以看出,在同等数据量的情况下,BloomFilter的存储空间和ln(fpp)呈反比,所以增长速率其实不算快,即便误判率减少9个量级,其存储空间也只是增加了10倍。
  • 发表了文章 2023-11-02

    如何使用ffmpeg制作透明背景的视频

  • 发表了文章 2023-11-02

    Java21虚拟线程实践

  • 发表了文章 2023-11-02

    spring-kafka中ContainerProperties.AckMode详解

  • 发表了文章 2023-11-02

    如何在地图上寻找最密集点的位置?

  • 发表了文章 2023-11-02

    使用javax.validation.constraints校验参数合法性

  • 发表了文章 2023-11-02

    Java Optional:让你的代码更优雅

  • 发表了文章 2023-11-02

    ChatGPT函数调用初体验:让ChatGPT具备抓取网页文本的能力

  • 发表了文章 2023-11-02

    如何使用ChatGPT提升自己的“码”力?

  • 发表了文章 2023-11-02

    使用ffmpeg拼接两张图片

  • 发表了文章 2023-11-02

    ThreadPoolExecutor——高效处理并发任务的必备良器

  • 发表了文章 2023-11-02

    从CPU的视角看 多线程代码为什么那么难写!

  • 发表了文章 2023-11-02

    使用ffmpeg缩小视频体积的几种方式

  • 发表了文章 2023-11-02

    Linux parallel 命令使用手册

  • 发表了文章 2023-11-02

    Linux xargs命令介绍

  • 发表了文章 2023-11-02

    Java中使用HashMap时指定初始化容量性能一定会更好吗?

  • 发表了文章 2023-11-02

    如何用ffmpeg截取视频片段&截取时间不准确的坑

  • 发表了文章 2023-11-02

    使用ffmpeg将视频转成HLS(m3u8)格式

  • 发表了文章 2023-11-02

    用ffmpeg将视频转成gif动图

  • 发表了文章 2023-11-02

    在Springboot HandlerInterceptor中获取GET和POST请求参数

  • 发表了文章 2023-11-02

    做得好 vs 做得快?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息