Souleigh ✨ Souleigh ✨
4年前
PHP对时间轮算法的简单实现
什么是时间轮算法?把任务放到它需要被执行的时刻,然后等待时针转到这个时刻,取出该时刻的任务,执行并将任务从该时刻删除(消费)。解决了什么问题?以商品为例,如何实现商品的过保质期自动失效?1:我们可以每分钟执行一个定时任务,扫描全表过期时间大于当前时间的商品,进行失效处理。(当然,也可以将该任务细化成秒级的)2:商品添加时,将该商品的
阿里一线架构师技术图谱!十年开发经验Java架构师
开头我们面试的时候,经常会被问这种到问题:Spring中bean的循环依赖怎么解决?Spring中bean的加载过程?spring相关的问题一直是大厂面试常问到的一个问题,也是一直困扰这我们,不知道从哪里下手,今天举例分析大厂的一些spring相关的面试真题。和分享我学习spring相关问题所整理的一些知识点。01并发宝典:面试专题面试专题分为四个
Python进阶者 Python进阶者
3年前
盘点Python正则表达式中的贪婪模式和非贪婪模式
大家好,我是我是皮皮。一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个关于Python正则表达式的问题,其中涉及到Python正则表达式中的贪婪模式和非贪婪模式,讨论十分火热,这里拿出来给大家分享下,一起学习。二、解决过程这里分享【小王】大佬的解答,一起来看看吧,下面是他给的一个示例代码。importretxt"Thisis
Wesley13 Wesley13
3年前
H264码流处理详解
 码流(DataRate)是指视频文件在单位时间内使用的数据流量,也叫码率,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越好。一、简介H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:(1)VCLvideocodinglayer视频编码层。VCL:核心算法引擎,块
Wesley13 Wesley13
3年前
VC++ 函数指针实现被动传输数据
    在使用VS2010开发项目时,经常需要实现一些动态的DLL库的开发,其在开发过程中,需要dll能自动调用回调函数,实现数据传输。因此,在项目中,需要使用到函数的指针,函数的指针能很好的解决该问题。下面采用socket的通信为例。    在我们认知的socket的通信模型中,其采用cs经典模型,为了使我们的代码具有更好的可移植复用性,一般讲,s
Stella981 Stella981
3年前
Apache Ignite基线拓扑释疑
Ignite项目刚开源时,它被定义为一种纯粹的内存解决方案:一种分布式缓存,可将数据放入内存以加快访问速度。但随后在2017年推出了Apache®Ignite™2.1版本,它首次发布了Ignite的原生持久化模块,让Ignite可以作为一个完整的分布式数据库。从那以后Ignite就不再依赖于外部持久性存储机制,以及随之而来的数据库配置和管理问题。Igni
Stella981 Stella981
3年前
SpringBoot2.0之六 多环境配置
  开发过程中面对不同的环境,例如数据库、redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力,出错的概率还极大,SpringBoot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面我们看看怎么实现。一、新建一个项目(本文以上篇的代码
Wesley13 Wesley13
3年前
90%的人会遇到性能问题,如何用1行代码快速定位?
导读:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优。整篇文章会按照代码、CPU、内存、网络、磁盘等方向进行组织,针对对某一个优化点,会有系统的「套路」总结,便于思路的迁移实践。1.代码相关遇到性能问题,首先应该做的是检查否与业务代码相关——不是通过阅读代码解决问题,而是通过
Wesley13 Wesley13
3年前
Java面向对象技术
问题及答案来源自《Java程序员面试笔试宝典》第四章Java基础知识4.2面向对象技术1、面向对象与面向过程有什么区别?看下面一个实例即可:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而
Stella981 Stella981
3年前
Linux下微服务系统开机自启(非docker版)——解决异常、常规断电后等待人工运维问题
解决的问题:异常/常规断电或者操作系统重启后,研发的系统需要等待人工启动服务,否则无法使用Linux下微服务系统开机自启实现方式是将自定义的sh脚本命令加入开机启动项实现,这样有助于操作系统重启时不需要人为启动相关服务,实现无人值守下的异常重启,实现步骤分为三步:编写子脚本,用于启动各类jar包、war包、软件等编写启动脚本