AI工具人
提示词工程师

xindoo的文章

推荐一个好用的命令行工具ShellGPT-XINDOO

推荐一个好用的命令行工具ShellGPT

  这两天突然想到,现有的很多工具都在被大模型重构,比如诞生了像perplexity.ai 这种新交互形式的搜索引擎,就连wps也推出了AI服务,甚至都可以直接生成ppt,我就想是不是shell也有类似的工具,可以帮忙写...

赞(0)xindooxindooChatGPT 阅读(89)去评论
使用Certbot解决https证书自动更新的问题-XINDOO

使用Certbot解决https证书自动更新的问题

  除了各个第三方博客平台之外,我还一直保有一个自建的博客网站https://zxs.io/,还有几个其他的域名用做小工具之类的,之前一直使用阿里云免费https证书,一次申请可以用一年,但现在阿里云免费证书缩短到3个月...

赞(0)xindooxindoo其他 阅读(83)去评论

Spring Cache简明教程

@[TOC](Spring Cache简明教程) 引言   在我上一篇文章如何正确使用缓存来提升系统性能中,我从偏理论的视角介绍了Cache在性能优化中的必要性,在这篇文章中我们介绍Spring全家桶中和cache相关S...

赞(0)xindooxindoo未分类 阅读(94)去评论
软件开发中的抓大放小vs极致细节思维-XINDOO

软件开发中的抓大放小vs极致细节思维

  最近在开发过程中,遇到了好多次 “这个需求点这次要不要做?” 的问题, 主要有两方阵营,比如以研发主导的 “这次先不做、等必要的时候再做” ,另外一方是以PM主导的 “这个不做需求不完整,可能影响用户体验” 。争议主...

赞(0)xindooxindoo总结 阅读(158)评论(1)
如何使用ffmpeg制作透明背景的视频-XINDOO

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

  最近我们尝试在网页上叠加数字人讲解的功能,发现如果直接在网页上放一个矩形的数字人视频,效果会很差,首先是会遮挡很多画面的内容,其次就是不管使用任何任务背景,画面都和后面的网页不是很协调,如图所示:\   如果能去掉视频的背景,只展示人物...

赞(0)xindooxindoo未分类 阅读(151)去评论

spring-kafka中ContainerProperties.AckMode详解

  近期,我们线上遇到了一个性能问题,几乎快引起线上故障,后来仅仅是修改了一行代码,性能就提升了几十倍。一行代码几十倍,数据听起来很夸张,不过这是真实的数据,线上错误的配置的确有可能导致性能有数量级上的差异,等我说完我们...

赞(0)xindooxindookafka 阅读(140)去评论
如何在地图上寻找最密集点的位置?-XINDOO

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

  最近我在工作中遇到了一个小的需求点,大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法,就使用了一个非常简单的策略——所有点的坐标求平均值,这个方法大部分的时候好用,因为大部分城市所有点位基本上都是围绕某个中心点...

赞(0)xindooxindoo未分类 阅读(143)去评论
IO密集型服务提升性能的三种方法-XINDOO

IO密集型服务提升性能的三种方法

  大部分的业务系统其实都是IO密集型的系统,比如像我们面向B端提供摄像头服务,很多的接口其实就是将各种各样的数据汇总起来,展示给用户,我们的数据来源包括Redis、Mysql、Hbase、以及依赖的一些服务方的数据,并...

赞(0)xindooxindoo程序猿进阶 阅读(145)去评论

职场中的基本归因错误和自利归因

  今天我想和大家分享关于两个心理学概念:基本归因错误和自利归因。这两个概念描述了我们在评价他人和自身时,可能出现的两种思维偏差。不论我们处于什么场合,或许在工作中做自评和他评,或者是在日常生活中对他人行为的解读,所有人...

赞(0)xindooxindoo未分类 阅读(179)去评论

Java Optional:让你的代码更优雅

  在Java编程中,处理null值一直是一个棘手的问题。错误的null处理可能会导致许多难以调试的运行时异常。自Java 8引入Optional类以来,它为我们提供了一种更优雅、更安全的方式来处理可能为空的值。在Jav...

赞(0)xindooxindoo未分类 阅读(109)去评论
如何使用ChatGPT提升自己的“码”力?-XINDOO

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

  ChatGPT是什么,我就不用再多介绍了吧!相信大家已经看到了它在文本领域所展现出来的实力,虽然目前的效果依旧无法比拟专业文字工作者,但其文字能力也超过了绝大多数普通人,主要还相当的便宜,让不少文字相关工作者瑟瑟发抖。不过今天我们不讨论...

赞(0)xindooxindooChatGPT 阅读(581)去评论
使用ffmpeg拼接两张图片-XINDOO

使用ffmpeg拼接两张图片

  最近在工作中遇到了一个需求,就是需要将两张图片拼接在一起,作为一个封面图。如果只是临时拼接一张,我们可以只用photoshop之类的图片编辑工具,将两张图片拼接在一起。而我们的需要是需要实现自动化,由于之前使用过ff...

赞(0)xindooxindooffmpeg 阅读(635)去评论

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

  随着视频制作的普及,视频文件的体积也越来越大,给存储和传输带来了很大的困扰。为了解决这个问题,我们可以使用FFmpeg这个强大的工具来缩小视频的体积。本文将介绍三种常用的方法:调整视频的分辨率、调整视频的码率和使用更...

赞(0)xindooxindooffmpeg 阅读(188)去评论

Linux parallel 命令使用手册

引言   GNU Parallel是一个开源的命令行工具,可以将多个命令行作业并行执行。它可以用于在多个CPU或计算机上同时运行命令行作业,从而提高作业处理速度。Parallel还可以帮助您更好地利用系统资源,节省时间和...

赞(0)xindooxindooLinux 阅读(313)去评论
为什么说过早优化是万恶之源?-XINDOO

为什么说过早优化是万恶之源?

  Donald Knuth(高德纳)是一位计算机科学界的著名学者和计算机程序设计的先驱之一。他被誉为计算机科学的“圣经”《计算机程序设计艺术》的作者,提出了著名的“大O符号”来描述算法的时间复杂度和空间复杂度,开发了T...

赞(0)xindooxindoo编程 阅读(128)去评论

Linux xargs命令介绍

  Linux 中的 xargs 命令是一个非常有用的命令行工具,可以将一些参数集合传递给其他命令作为参数,并利用指定的命令进行处理。它可以帮助我们批量处理文件,执行一些需要多个参数的命令,并且支持并发操作。 &emsp...

赞(0)xindooxindooLinux 阅读(143)去评论

深入理解Spring的事件通知机制

   Spring作为一个优秀的企业级应用开发框架,不仅提供了众多的功能模块和工具,还提供了一种灵活高效的事件通知机制,用于处理组件之间的松耦合通讯。本文将详细介绍Spring的事件通知机制的原理、使用方法以及示例,希望...

赞(0)xindooxindooJava 阅读(131)去评论

Java高并发之CyclicBarrier简介

  Java 中的 CyclicBarrier 是一种同步工具,它可以让多个线程在一个屏障处等待,直到所有线程都到达该屏障处后,才能继续执行。CyclicBarrier 可以用于协调多个线程的执行,以便它们可以在某个点上...

赞(0)xindooxindooJava 阅读(127)去评论
聊一聊过度设计!-XINDOO

聊一聊过度设计!

  新手程序员在做设计时,因为缺乏经验,很容易写出欠设计的代码,但有一些经验的程序员,尤其是在刚学习过设计模式之后,很容易写出过度设计的代码,而这种代码比新手程序员的代码更可怕,过度设计的代码不仅写出来时的成本很高,后续...

赞(0)xindooxindoo未分类 阅读(246)去评论
详解Redisson分布式限流的实现原理-XINDOO

详解Redisson分布式限流的实现原理

  我们目前在工作中遇到一个性能问题,我们有个定时任务需要处理大量的数据,为了提升吞吐量,所以部署了很多台机器,但这个任务在运行前需要从别的服务那拉取大量的数据,随着数据量的增大,如果同时多台机器并发拉取数据,会对下游服...

赞(0)xindooxindoo未分类 阅读(141)去评论
XINDOO的2022年年终总结-XINDOO

XINDOO的2022年年终总结

  已经好几个月没有认认真真写一篇博客了,借着年底静下心来认认真真写一篇年终总结,这也是我人生中第10篇的年终总结了。 先看下去年立的flag,不用想去年立的flag一个都没完成。首先1 算是勉强及格;2 redis的博...

赞(0)xindooxindoo总结 阅读(266)去评论
谷歌Guava LoadingCache介绍-XINDOO

谷歌Guava LoadingCache介绍

  在工作中,加Cache是非常常见的一种性能优化手段,操作系统底层、计算机硬件层为了性能优化加了各种各样的Cache,当然大多数都是对应用层透明的。但如果你想在应用层加Cache的话,可能就需要你自己实现了。 &ems...

赞(0)xindooxindooJava 阅读(188)去评论
一万小时真的能成为专家吗?-XINDOO

一万小时真的能成为专家吗?

  今天不聊具体的技术问题,聊一聊个人成长的问题,大家可能对一万小时定律耳熟能详了, 作家格拉德威尔在《异类》一书中说道:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。一万小时的锤炼是任何人...

赞(0)xindooxindoo程序猿进阶 阅读(251)去评论
聊聊Redis的数据热点问题-XINDOO

聊聊Redis的数据热点问题

  前两天,我们使用的某云厂商服务挂了,而且一挂就是挂大半天,我们的服务强依赖于他们,所以我们也跟着一起挂。然而我们却无能为力,只能等他们恢复。事故原因中听他们提到Redis有个热key,正好我在上家公司负责过部门Red...

赞(0)xindooxindooRedis 阅读(184)去评论
用Netty实现WebSocket网络聊天室-XINDOO

用Netty实现WebSocket网络聊天室

  最近学习Netty,学习到WebSocket一章节,将Netty中WebSocket的样例代码做了一些简单的改造,实现了一个简易的WebSocket网络聊天室,源码并非完全自己实现,只是将一些别人的代码做了下整合改造...

赞(0)xindooxindooJava 阅读(376)去评论
Notion 程序猿必备笔记软件-XINDOO

Notion 程序猿必备笔记软件

  我发现工作时间比较久的人,都会逐渐养成记笔记的习惯,我也是,我之前已经使用国内某云笔记8年之久,而且是多年的会员。但我今天要给大家推荐另一款笔记软件——Notion,国内可能Notion的使用还比较少,但它却在国外非...

赞(0)xindooxindoo工具 阅读(651)去评论
提效小技巧——记录那些不常用的代码片段-XINDOO

提效小技巧——记录那些不常用的代码片段

  不知道大家有没有这样的经历? 某种代码操作,之前很少写,突然要用了但想不起来怎么写了;某个工具库很久没用了,现在想用了连库名都忘记了;某个命令行,曾经用过,现在已经忘记它有哪些参数了…… 这样的经历我反正是遇到好多次...

赞(0)xindooxindoo其他 阅读(285)去评论
如何写出高性能代码(四)优化数据访问-XINDOO

如何写出高性能代码(四)优化数据访问

  同一份逻辑,不同人的实现的代码性能会出现数量级的差异; 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升;同一份代码,也可能在不同处理器上运行也会有几倍的性能差异;十倍程序员不是只存在于传说中,...

赞(0)xindooxindoo其他 阅读(180)去评论
如何写出高性能代码(三)优化内存回收(GC)-XINDOO

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

导语   同一份逻辑,不同人的实现的代码性能会出现数量级的差异; 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升;同一份代码,也可能在不同处理器上运行也会有几倍的性能差异;十倍程序员 不是只存在于...

赞(0)xindooxindoo其他 阅读(165)去评论
如何写出高性能代码(二)巧用数据特性-XINDOO

如何写出高性能代码(二)巧用数据特性

导语   同一份逻辑,不同人的实现的代码性能会出现数量级的差异; 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升;同一份代码,也可能在不同处理器上运行也会有几倍的性能差异;十倍程序员 不是只存在于传说中,可能在我们的...

赞(0)xindooxindoo程序猿进阶 阅读(159)去评论
如何写出高性能代码(一)善用算法和数据结构-XINDOO

如何写出高性能代码(一)善用算法和数据结构

  同一份逻辑,不同人的实现的代码性能会出现数量级的差异; 同一份代码,你可能微调几个字符或者某行代码的顺序,就会有数倍的性能提升;同一份代码,也可能在不同处理器上运行也会有几倍的性能差异;十倍程序员不是只存在于传说中,可能在我们的周围也比...

赞(0)xindooxindoo程序猿进阶 阅读(192)去评论
2021渐入佳境-XINDOO

2021渐入佳境

大家好,我是XINDOO,今天是2022年的第一天,写下我过去一年的自我总结。这已经是我连续第9年写总结了,等明年的时候可能会来个十年大总结(对我过去8年有兴趣可以看下文末链接)。 21年 疫情、经济下行、大厂裁员…… 可能影响了很多人,但...

赞(2)xindooxindoo总结 阅读(258)去评论
为什么程序猿都应该学点linux命令?-XINDOO

为什么程序猿都应该学点linux命令?

大家好,我是xindoo,今天和大家分享下一个我的观点——程序猿都应该学点Linux命令!这也是这两年我做后端开发的切身体会。认识我的人可能都知道,我职业生涯比较“特殊”,我毕业后先是干的运维,然后再转的Java开发。 运维的经历苦不堪言,...

赞(3)xindooxindooLinux 阅读(195)评论(1)
使用ffmpeg将图片拼接为视频-XINDOO

使用ffmpeg将图片拼接为视频

本文介绍下如何使用ffmpeg将大量图片拼接成一个视频,并介绍其中部分参数的含义。 使用ffmpeg将图片拼接成视频前,需要将图片文件名做下预处理,文件名中必须有数字将其次序标记出来,这里我直接使用数字将图片重命名了,如下: 直接使用命令f...

赞(3)xindooxindooffmpeg 阅读(471)去评论

使用ffmpeg拼接视频踩坑记录

最近在工作中遇到一个ffmpeg的坑,特此记录下。我们在工作中,有个需求是将分段存储的视频拼接成一个完整的视频,发现使用ffmpeg拼接后视频时长不对。举个列子,我用ffmpeg将4个半小时的mp4视频拼接后,得到的视频长度远超过2小时,观...

赞(0)xindooxindooffmpeg 阅读(1017)去评论
Linux三剑客之awk入门指引-XINDOO

Linux三剑客之awk入门指引

大家好 我是xindoo,距我上次发技术文章已经过去快一个半月了,原因是最近确实非常非常的忙,工作日除了吃饭睡觉之外,要么是在工作,要么就是在去工作的路上,而周末的时候我只想 今天1024 程序猿节,百忙中抽空发篇一直想写好久的文章来凑个热...

赞(0)xindooxindooLinux 阅读(254)去评论
七张图了解kafka基本概念-XINDOO

七张图了解kafka基本概念

kafka是apache基金会管理的开源流处理平台(官网http://kafka.apache.org/),但国内大多数人对其认知基本都是消息队列,所以我们先来了解下什么是消息队列。 消息队列 消息队列顾名思义就是存储消息的一个队列,消息生...

赞(0)xindooxindookafka 阅读(353)去评论
正则表达式的高级用法——正|反向预查-XINDOO

正则表达式的高级用法——正|反向预查

我之前一直自诩精通正则表达式(毕竟我实现过正则引擎),但关于正则表达式有几个特殊用法我一直都不熟,一来是用的少,二来确实也没花心思学过。正好这两天有需要用到预查的功能,索性就学习整理出今天的博文。 介绍下今天的4位主角 ?=、?<=、...

赞(0)xindooxindoo工具 阅读(301)去评论
某东14薪变16薪,是诚意还是套路?-XINDOO

某东14薪变16薪,是诚意还是套路?

上周朋友圈有好多刷屏事件,除了某滴被调查外,某司也宣布从两年内从14薪调整到16薪,博得了一大片好感。 然而在我看来这波涨薪真的毫无诚意,甚至 为什么这么说。来,先看几个具体的场景,以下内容纯属虚构,如有雷同那您就自认倒霉吧。 场景一:程序...

赞(1)xindooxindoo其他 阅读(391)评论(1)

顶流博主都这么写文章标题,看完不会你来打我啊

我们小学三年级学写作文的时候就学过,一篇文章的标题是吸引读者的第一步,那技术文章的标题如何写才会有更高的点击率。 我呕心沥血总结了上百个热门文章的标题,总结出以下套路。我粗略将其分为10个类别,当然有些标题可以兼具多个类别的特征。 引发好奇...

赞(0)xindooxindoo其他 阅读(599)去评论

Redis源码剖析之AOF

书接上回,上回我们详细讲解了Redis的RDB机制,RDB解决了redis数据持久化一部分的问题,为什么说一部分?因为rdb是redis中某一时刻的快照,那么在这次快照后如果数据有新的变更,它是不会被持久化下来的,必须得等到下次rdb备份。...

赞(1)xindooxindooRedis 阅读(666)去评论

Redis源码剖析之RDB

我们小学三年级的时候就知道,redis是一个纯内存存储的中间件,那它宕机会怎么样?数据会丢失吗?答案是可以不丢。 事实上redis为了保证宕机时数据不丢失,提供了两种数据持久化的机制——rdb和aof。 rdb就定期将内存里的数据全量dum...

赞(0)xindooxindooRedis 阅读(1087)去评论
NAS打造自己的私有云存储-XINDOO

NAS打造自己的私有云存储

今天给大家分享下我的NAS搭建方案,去年双十一的时候入手了一套NAS设备,用了几个月时间,好用是好用,但确实还没发挥出其价值,目前它最大的功能就是给我的mac做time-machine备份,要是没这个备份的话,它就是家里另外一台积灰的电子设...

赞(0)xindooxindoo未分类 阅读(744)去评论
Redis源码剖析之内存淘汰策略(Evict)-XINDOO

Redis源码剖析之内存淘汰策略(Evict)

Redis作为一个成熟的数据存储中间件,它提供了完善的数据管理功能,比如之前我们提到过的数据过期和今天我们要讲的数据淘汰(evict)策略。在开始介绍Redis数据淘汰策略前,我先抛出几个问题,帮助大家更深刻理解Redis的数据淘汰策略。 ...

赞(0)xindooxindooRedis 阅读(550)去评论
30行代码实现蚂蚁森林自动偷能量-XINDOO

30行代码实现蚂蚁森林自动偷能量

@ 虽然我支付宝加了好多好友,平时有很多能量可以偷,但由于太懒,至今一棵树都没种成,所以心心念念把偷能量这事自动化。之前通过用代码模拟手机点按的方式,实现了朋友圈自动点赞,但当时蚂蚁森林的操作流程要比朋友圈点赞复杂很多,所以当时就没有实现自...

赞(1)xindooxindoo其他 阅读(836)评论(1)

Redis源码剖析之数据过期(expire)

我之前统计过我们线上某redis数据被访问的时间分布,大概90%的请求只会访问最新15分钟的数据,99%的请求访问最新1小时的数据,只有不到千分之一的请求会访问超过1天的数据。我们之前这份数据存了两天(近500g内存数据),如果算上主备的话...

赞(1)xindooxindooRedis 阅读(877)去评论

[翻译]正则引擎的几种分类

正则表达式引擎是正则表达式匹配算法的基础。其有多种不同的实现,但大多数都是基于Henry Spencer的NFA引擎。 正则引擎有两个大分类,DFA和NFA,像Perl、Java、.Net、PHP、Python、Ruby……等大多是工具都是...

赞(0)xindooxindoo工具 阅读(950)去评论

Redis源码剖析之robj(redisObject)

我们在之前的文章中已经了解过一部分Redis的数据结构了,尤其是dict 中讲到,可以把redis看做一个hashtable,存储了一堆的key-value,今天就来看下key-value中value的主要存储结构redisObject(后...

赞(0)xindooxindooRedis 阅读(689)去评论
我的2020总结-XINDOO

我的2020总结

对于大多数人来说,2020年啥也没干,就光见证历史了。前一段时间华盛顿邮报向读者征集如何描述2020年,一个九岁小孩拔得头筹。 过马路前你左右都看了,结果被潜水艇给撞了。 一句简单的调侃却道出了这一年的魔幻。 记得武汉封城那天晚上,我正好在...

赞(1)xindooxindoo总结 阅读(1001)评论(3)
Redis源码剖析之跳表(skiplist)-XINDOO

Redis源码剖析之跳表(skiplist)

最近要换新工作了,借着新老工作交替的这段窗口放松了下,所以专栏拖更了,不过我心里毫无愧疚,毕竟没人催更。 不过话说回来天天追剧 刷综艺的日子也很是枯燥,羡慕你们这些正常上班的人,每天都有正经工作内容,感觉你们过的很充实。[狗头] 计算机领域...

赞(0)xindooxindooRedis 阅读(1876)去评论
面试题精选:神奇的斐波那契数列-XINDOO

面试题精选:神奇的斐波那契数列

斐波那契数列,其最开始的几项是0、1、1、2、3、5、8、13、21、34…… ,后面的每一项是前两项之和,事实上,斐波那契在数学上有自己的严格递归定义。 f0 = 0 f1 = 1 f(n) = f(n-1) + f(n-2) 斐波那契数...

赞(0)xindooxindoo数学 阅读(1966)去评论

awk实现类sql的join操作

awk、grep和sed被称为linux三剑客,事实上grep和awk我在日常工作中也常用到(sed用的比较少),可能有些人对awk了解比较少,我先大概介绍下。 很多人以为awk只是一个文本处理工具,实际上他们也是这么用的。但事实上它其实是...

赞(0)xindooxindooLinux 阅读(1604)去评论
[翻译]CAP理论及其证明-XINDOO

[翻译]CAP理论及其证明

CAP是所有分布式系统的基础理论,任何分布式系统只能满足以下三种状态中的任意两种。 一致性(Consistency) 可用性(Availability) 分区容错性(Partition tolerance) 何为CAP理论? CAP理论是指...

赞(0)xindooxindoo理论 阅读(1642)去评论
Redis源码剖析之快速列表(quicklist)-XINDOO

Redis源码剖析之快速列表(quicklist)

何为quicklist,上次说到ziplist每次变更的时间复杂度都非常高,因为必须要重新生成一个新的ziplist来作为更新后的list,如果一个list非常大且更新频繁,那就会给redis带来非常大的负担。如何既保留ziplist的空间...

赞(0)xindooxindooRedis 阅读(2494)去评论
Redis源码剖析之压缩列表(ziplist)-XINDOO

Redis源码剖析之压缩列表(ziplist)

本来打算只用一篇文章来讲解Redis中的list,在实际写作过程中发现Redis中有多种list的实现,所以准备拆成多篇文章,本文主要讲ziplist,ziplist也是quicklist的基础。另外还有skiplist,skiplist虽...

赞(0)xindooxindooRedis 阅读(2782)去评论
面试题精选:单链表排序也能玩出花来-XINDOO

面试题精选:单链表排序也能玩出花来

今天国庆节,祝大家中秋节快乐,顺便给大家拜个早年[狗头]。不过最近还在准备面试的同学们不要浪太狠,还是要好好学习的鸭。 单链表的排序在数据结构类的面试题中简直是集大成者,什么排序、链表、链表删除、添加…… 都能体现在单链表排序上,也非常考验...

赞(0)xindooxindoo算法 阅读(2783)去评论
Redis源码剖析开篇-XINDOO

Redis源码剖析开篇

今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还要忙着吃吃喝喝、追剧、刷综艺、睡懒觉…… 不过有个项目进度不至于那么不堪...

赞(0)xindooxindooRedis 阅读(3258)去评论
面试题精选:字符串替换-XINDOO

面试题精选:字符串替换

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

赞(0)xindooxindooJava 阅读(2598)去评论
程序猿职场求生指南-XINDOO

程序猿职场求生指南

职场法则: 只要你努力工作,办事靠谱,思虑周全,从不给领导添麻烦,从不向领导提要求。勤勤恳恳,兢兢业业…… 坚持下去,公司里的杂活,破事儿,棘手的事就都成了你的,而且你的老板会更有钱。 如何在职场中干最少的活拿最多的钱,一定是困扰大部分社畜...

赞(0)xindooxindoo其他 阅读(2591)去评论
面试题精选:数据伪造-XINDOO

面试题精选:数据伪造

这道题应该算是我原创的的一道题,来源于我遇到的一个具体需求。大致需求是已知一批数和每个数出现的次数,然后写个接口,每次调用都能返回已知数据中的某个数,且返回的概率和原始数据中每个数出现的概率一致,题目描述起来有些绕口,我们来举个实际的例子。...

赞(0)xindooxindooJava 阅读(2878)去评论
我背着CSDN偷偷记录了大半年我博客数据-XINDOO

我背着CSDN偷偷记录了大半年我博客数据

作为一个数据控+一个有追求的技术博主,总是希望自己能知道自己博客历史每日粉丝数量、阅读量、积分、评论……的数据,然而官方博客管理后台给展示的数据太少了,只有每日访问量、评论数、粉丝数、收藏数这几个数据,而且目前最多只能看最近一个月的数据。 ...

赞(0)xindooxindooJava 阅读(2739)去评论
面试题精选:两个线程按顺序交替输出1-100-XINDOO

面试题精选:两个线程按顺序交替输出1-100

陆陆续续,各个公司的校招季都开始了,我也成为了我司的校招面试官,最近也面了不少同学了,面试过程中也发现了很多问题,即有面试者的、也有面试官的、更有自己的问题,这里先挖个坑,后续写个博客详细聊聊,感兴趣的同学可以关注下。另外,我也有个专栏《面...

赞(0)xindooxindooJava 阅读(2702)去评论
Java中synchronized与ReentrantLock性能对比-XINDOO

Java中synchronized与ReentrantLock性能对比

前两天逛博客的时候看到有个人写了一篇博客说ReentrantLock比synchronized慢,这就很违反我的认知了,详细看了他的博客和测试代码,发现了他测试的不严谨,并在评论中友好地指出了他的问题,结果他直接把博客给删了 删了 了…… ...

赞(0)xindooxindooJava 阅读(3136)去评论
如何把百度伪装成Google-XINDOO

如何把百度伪装成Google

作为技术人使用百度被鄙视?但因为种种原因无法使用Google,为了解决这个尴尬的问题,我历时数月潜心研发了一款chrome插件,可以将百度的logo换成google的logo,完美的解决这个尴尬的问题。妈妈再也不用担心我因为用百度搜索技术问...

赞(0)xindooxindoo其他 阅读(3709)去评论
JDK11现存性能bug(JDK-8221393)深度解析-XINDOO

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

这是一篇鸽了很久的博客,因为博客内容和素材早就准备差不多了,但就是一直懒得整理,今天终于下定决心终于整理出来了,这也是这个bug JDK-8221393唯一一篇中文介绍博客。 先大致介绍下这个bug,准确说这个应该是jdk11新引入的zgc...

赞(1)xindooxindooJava 阅读(3766)去评论
生日悖论是啥?我用它省了上百G的内存-XINDOO

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

@ 生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾的角度来说,生日悖论并不是一种 ...

赞(1)xindooxindoo大数据 阅读(4020)去评论
[翻译]虚拟内存介绍-XINDOO

[翻译]虚拟内存介绍

原文地址An introduction to virtual memory 计算机是用来执行简单任务的复杂机器:比如 上网、文本编辑、网页服务、视频游戏……,还可以对数据进行操作,图片 音乐 文本 数据库…… 当计算机不使用的时候,程序和数...

赞(2)xindooxindooLinux 阅读(3926)去评论
Json字段选取器介绍和实现-XINDOO

Json字段选取器介绍和实现

最近为了工作方便写了一个小工具,这个小工具作用很简单,就是从一个json字符串中筛出你想要的部分。 介绍 背景是这样的,我们为了线上调试方便,有个工具可以模拟发起一次数据请求,然后将结果以json的形式展示到页面上。但问题是这个数据包含的信...

赞(2)xindooxindooJava 阅读(4334)去评论
面试题精选:循环队列-XINDOO

面试题精选:循环队列

近期在面试找工作的小伙伴们很多啊,我周围就有好几个认识的朋友在找工作,于是我突发奇想在CSDN开了一个面试题精选的专栏,主要会关注一些算法题、设计题,次要会补充一些java面试相关的题(比较本博主是java出身)。其实在此之前已经写过一些相...

赞(1)xindooxindoo未分类 阅读(4517)去评论
从0到1打造正则表达式执行引擎-XINDOO

从0到1打造正则表达式执行引擎

今天是五一假期第一天,这里先给大家拜个晚 咳咳!!祝大家五一快乐,我这里给大家奉上一篇硬核教程。首先声明,这篇文章不是教你如何写正则表达式,而是教你写一个能执行正则表达式的执行引擎。 网上教你写正则表达式的文章、教程很多,但教你写引擎的并不...

赞(1)xindooxindoo算法 阅读(4029)去评论
大厂面试题:求根号2简单?高级算法你肯定不会-XINDOO

大厂面试题:求根号2简单?高级算法你肯定不会

前两天逛github看到一道很简单的面试题——如何不用库函数快速求出$\sqrt2$的值,精确到小数点后10位! 第一反应这不很简单嘛,大学数据结构课讲二分查找的时候老师还用这个做过示例。但转念一想,能作为大厂的面试题,背后绝对没有那么简单...

赞(6)xindooxindooMath 阅读(6178)去评论
欢迎关注我的微信公众号-XINDOO

欢迎关注我的微信公众号

公众号注册n年了,但一直都没怎么发过文章,真是五年运营四年敷衍,去年年底在做自我年终总结的时候放下豪言说要开始重新运营公众号了,但一拖就拖到了3月底。这几个月想了好久的公众号定位,大概有些方向了(下文细说),所以决定摒弃我这间歇性踌躇满志持...

赞(2)xindooxindoo其他 阅读(4436)评论(2)
StampedLock源码分析-XINDOO

StampedLock源码分析

@[TOC] 前言 之前已经说过了ReentrantLock ReentrantReadWriteLock,可以参考之前的博客。在ReentrantReadWriteLock源码解析文末,我提到了ReentrantReadWriteLock...

赞(2)xindooxindooJava 阅读(4385)去评论
技术人必须知道的谷歌搜索技巧-XINDOO

技术人必须知道的谷歌搜索技巧

前言 作为一个技术人,经常会遇到自己不懂或不知道的东西,这个时候就必须使用搜索引擎搜索相关的资料,当然大部分人都逃不过google,google上的内容繁多,如何快速检索和筛选自己想要的信息却成了问题。其实google提供了高级搜索的方式,...

赞(1)xindooxindoo其他 阅读(5588)去评论
Antlr实战之JSON解析器slowjson-XINDOO

Antlr实战之JSON解析器slowjson

最近一直在学习编译原理,然后就了解到了antlr4这个强大的工具,antlr的全称是(Another Tool for Language Recognition),是一款很强大的词法和语法分析工具,虽然是用java写成的,但它也能生成c++...

赞(0)xindooxindoo编程 阅读(4512)去评论
翻译:Java volatile 关键词-XINDOO

翻译:Java volatile 关键词

Java中的volatile关键词被用来将变量标记为“存储在内存中”。准确地的讲每次volatile变量的读取和写入都是直接操作内存,而不是cpu cache。 实际上自从java 5之后,volatile关键词保证除了volatile变量...

赞(0)xindooxindooJava 阅读(4212)去评论