深圳幻海软件技术有限公司 欢迎您!

  • StopWatch的使用

    一、简介stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,瞬间感觉比之前的方式高大上了一个档次。在未使用这个工具类之前,如果我们需要统计某段代码的耗时,我们会这样写:publicstaticvoidmain(St

  • 初识设计模式 - 中介模式

    简介中介设计模式(MediatorDesignPattern)定义了一个单独的(中介)对象,来封装一组对象之间的交互。如果对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象的其他所有对象,并进行适当处理。而中介模式将这些对象之间的交互委派给中介对象交互,来避免对象之间直接交互

  • 当我会AOP之后,去丈母娘家都是挺着胸脯!

    作者:@桑小榆的坚定学说本文为作者原创,转载请注明出处:https://www.cnblogs.com/ISangyu/p/16278559.html  当和朋友谈到AOP时,第一映像会说AOP的应用层面,比如拦截器、过滤器,实现复用等等使用层面上。 这些应用层面上的回

  • 【前端调试】- 借助Performance分析并优化性能

    目录介绍性能分析性能优化 正文欢迎阅读本系列其他文章【前端调试】-更好的调试方式VSCodeDebugger【前端调试】-断点调试的正确打开方式介绍首先简单过一下Performance的使用,打开网页点击控制台Performance,录制5s的数据其中Main这部分就是网页的主线程,也就是

  • 线程池中线程抛了异常,该如何处理?

    在实际开发中,我们常常会用到线程池,但任务一旦提交到线程池之后,如果发生异常之后,怎么处理?怎么获取到异常信息?在了解这个问题之前,可以先看一下线程池的源码解析,从源码中我们知道了线程池的提交方式:submit和execute的区别,接下来分别使用他们执行带有异常的任务!看结果是怎么样的!我们先用伪

  • Flowable 设置任务处理人的四种方式

    上篇文章松哥和大家分享了Flowable中的ReceiveTask,这只是流程中任务的一种,今天我们就一起来看另外一个更为常见的Task--UserTask。UserTask看名字就知道,需要人工干预,而人工处理的方式有很多种,我们可以设置节点是由哪个用户处理,也可以设置是由哪个用户组来处理(相当于

  • 多线程开发实用技巧

    线程池动态拓容创建线程池复制ThreadPoolExecutortaskExecutor=newThreadPoolExecutor(8,64,5,TimeUnit.SECONDS,newLinkedBlockingQueue<>(256),newThreadFactoryBuilder

  • Python 强大的任务调度框架 Celery!

    什么是celery这次我们来介绍一下Python的一个第三方模块celery,那么celery是什么呢? celery是一个灵活且可靠的,处理大量消息的分布式系统,可以在多个节点之间处理某个任务; celery是一个专注于实时处理的任务队列,支持任务调度; celery

  • 如何在 Spring Boot 中使用 Quartz 调度作业

    在本文中,我们将看看如何使用Quartz框架来调度任务。Quartz是Java应用程序调度库的事实标准。Quartz支持在特定时间运行作业、重复作业执行、将作业存储在数据库中以及Spring集成。​用于调度的Spring注解在Spring应用程序中使用Quartz最简单的方法是使用@Schedule

  • 几种限流算法的Go语言实现

    一、漏桶算法算法思想与令牌桶是“反向”的算法,当有请求到来时先放到木桶中,worker以固定的速度从木桶中取出请求进行相应。如果木桶已经满了,直接返回请求频率超限的错误码或者页面适用场景流量最均匀的限流方式,一般用于流量“整形”,例如保护数据库的限流。先把对数据库的访问加入到木桶中,worker再以

  • Spring Cloud Task 一个允许短期运行的微服务组件

    简介SpringCloudTask允许用户使用SpringCloud开发和运行短期的微服务,并在本地、云中甚至在SpringCloud数据流上运行它们。只需添加@EnableTask并将应用程序作为SpringBoot应用程序运行(单个应用程序上下文)。SpringCloudTask使创建短期微服务

  • 你不知道的Vscode之项目约束 | 仓库配置

    前言欢迎来到vscode的世界,开发工具有很多,找准自己的需求,才能找到合适的工具,而不是“手里有锤子,看啥都像钉子”;对VSCode而言,定位在于编辑器而非IDE,IDE侧重开箱即用,因而体量庞大,如Eclipse。而编辑器侧重对语言和工作流的丰富支持与自由,因而更为轻量,这意味着它不会针对某个语

  • 设计模式二三事

    作者 |嘉凯杨柳设计模式是众多软件开发人员经过长时间的试错和应用总结出来的,解决特定问题的一系列方案。现行的部分教材在介绍设计模式时,有些会因为案例脱离实际应用场景而令人费解,有些又会因为场景简单而显得有些小题大做。本文会根据在美团金融服务平台设计开发时的经验,结合实际的案例,并采用“师生

  • Dotnet线程取消的深度进阶

    取消的概念通常我们最熟悉的,是一个方法的中止。中止是完全的。一个方法中止了,则这个方法不再往下执行,方法中前面已经完成的部分会被抛弃,并返回一个设定的结果。取消则不同。通常,取消是由其它代码发出的命令,也就是说,是由一些代码去请求取消,另一部分代码的响应取消。而且,实际发生的情况,是请求代码只是通知

  • 强烈反对使用Spring封装的多线程类!

    本文转载自微信公众号「小姐姐养的狗」,作者小姐姐味道。转载本文请联系小姐姐养的狗公众号。在很久很久之前,我有一段痛苦的记忆。那种被故障所驱使的感觉,在我脑海里久久无法驱散。原因无它,有小伙伴开启了线程池的暴力使用模式。没错,就是下面这篇文章。夺命故障!炸出了投资人!我有必要简单的复述一下。其主要原因

  • K8s 都开始放弃 Docker了,Containerd 命令走起

    当前containerd已经取代docker成为默认的容器运行时了,我们在日常排查问题的时候,经常会使用containerd的客户端去排查问题。所以日常的命令还是需要掌握的。containerd目前有三个客户端,分别是ctr、nerdctl、crictl下面我们逐一讲解一下。ctrctr是conta

  • 一个 Callable 接口能有多少知识点?

     并发编程一直是程序员们比较头疼的,如何编写正确的并发程序相比其他程序来说,是一件比较困难的事情,并发编程中出现的Bug往往也是特别诡异的。之所以说并发编程出现的Bug比较诡异,是因为在并发编程中,很多时候出现的Bug不一定能完美的复现出来,也就是说,并发编程的Bug是很难重现,很难追踪的

  • Sentry 开发者贡献指南 - 后端服务(Python/Go/Rust/NodeJS)

    服务管理(devservices)Sentry为Docker提供了一个抽象,以在开发中运行所需的服务,称为devservices。复制Usage: sentry devservices [OPTIONS] COMMAND [ARGS]...&nbsp

  • Nacos2.0配置灰度发布原理源码解析

    今天分享的是我们组的一个实习生写的一篇源码解析文章,小伙子实习期间在社区Nacos2.0的基础上对灰度发布的能力进行了增强,并完成了MSENacos2.0上从管控到内核的灰度发布能力的研发。以下是他对配置发布流程的代码解析,相信看完之后你会感叹:现在的实习生都有这个水平了吗?说到灰度发布,就不得不提

  • 宜信开源 | 分布式任务调度平台SIA-TASK的架构设计与运行流程

     一、分布式任务调度的背景  无论是互联网应用或者企业级应用,都充斥着大量的批处理任务。我们常常需要一些任务调度系统来帮助解决问题。随着微服务化架构的逐步演进,单体架构逐渐演变为分布式、微服务架构。在此背景下,很多原先的任务调度平台已经不能满足业务系统的需求,于是出现了

推荐阅读