Souleigh ✨ Souleigh ✨
5年前
PHP对时间轮算法的简单实现
什么是时间轮算法?把任务放到它需要被执行的时刻,然后等待时针转到这个时刻,取出该时刻的任务,执行并将任务从该时刻删除(消费)。解决了什么问题?以商品为例,如何实现商品的过保质期自动失效?1:我们可以每分钟执行一个定时任务,扫描全表过期时间大于当前时间的商品,进行失效处理。(当然,也可以将该任务细化成秒级的)2:商品添加时,将该商品的
Python进阶者 Python进阶者
3年前
盘点Python正则表达式中的贪婪模式和非贪婪模式
大家好,我是我是皮皮。一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个关于Python正则表达式的问题,其中涉及到Python正则表达式中的贪婪模式和非贪婪模式,讨论十分火热,这里拿出来给大家分享下,一起学习。二、解决过程这里分享【小王】大佬的解答,一起来看看吧,下面是他给的一个示例代码。importretxt"Thisis
Stella981 Stella981
4年前
Django之cookie 和 session
一、1、cookie的由来!!!    由于HTTP协议是无状态的,既每一次的请求都是独立的,他不会因为你之前来过,就记住你,所以每次浏览器去访问服务器的时候,都是一个全新的过程,之前的数据也不会保留,所以为了解决这个问题,cookie诞生了。2、什么是cookie?    Cookie具体指的是一段小信息,他是服务器发送出来存储在浏览器一组
Wesley13 Wesley13
4年前
VC++ 函数指针实现被动传输数据
    在使用VS2010开发项目时,经常需要实现一些动态的DLL库的开发,其在开发过程中,需要dll能自动调用回调函数,实现数据传输。因此,在项目中,需要使用到函数的指针,函数的指针能很好的解决该问题。下面采用socket的通信为例。    在我们认知的socket的通信模型中,其采用cs经典模型,为了使我们的代码具有更好的可移植复用性,一般讲,s
Stella981 Stella981
4年前
Apache Ignite基线拓扑释疑
Ignite项目刚开源时,它被定义为一种纯粹的内存解决方案:一种分布式缓存,可将数据放入内存以加快访问速度。但随后在2017年推出了Apache®Ignite™2.1版本,它首次发布了Ignite的原生持久化模块,让Ignite可以作为一个完整的分布式数据库。从那以后Ignite就不再依赖于外部持久性存储机制,以及随之而来的数据库配置和管理问题。Igni
Wesley13 Wesley13
4年前
CSS清除浮动的4种方式
1、使用空标签清除浮动。我用了很久的一种方法,空标签可以是div标签,也可以是P标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。2、使用overflow属性。此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用
Wesley13 Wesley13
4年前
Java多线程之死锁编码及定位分析
目录死锁是什么代码实现死锁解决办法1\.死锁是什么死锁是指两个或两个以上的进程在执行过程中因争夺资而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源允是,进程的资源请求都能够得到满是,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。2.代码实现代码实现import
Wesley13 Wesley13
4年前
Java面向对象技术
问题及答案来源自《Java程序员面试笔试宝典》第四章Java基础知识4.2面向对象技术1、面向对象与面向过程有什么区别?看下面一个实例即可:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候依次调用;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而
Wesley13 Wesley13
4年前
C++ 内存管理
程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本节的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。<br/一、内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整
Stella981 Stella981
4年前
Linux下微服务系统开机自启(非docker版)——解决异常、常规断电后等待人工运维问题
解决的问题:异常/常规断电或者操作系统重启后,研发的系统需要等待人工启动服务,否则无法使用Linux下微服务系统开机自启实现方式是将自定义的sh脚本命令加入开机启动项实现,这样有助于操作系统重启时不需要人为启动相关服务,实现无人值守下的异常重启,实现步骤分为三步:编写子脚本,用于启动各类jar包、war包、软件等编写启动脚本