版本日期备注1.02021.12.20文章首发1.12021.12.22错别字修正1.22022.2.24描述错误修正0. 前言在最初接触到Flink时,是来自于业界里一些头部玩家的分享——大家会用其来处理海量数据。在这种场景下,如何避免JVM GC带来StopTheWorld带来的副作用这样的问题一直盘绕在我心头。直到用了Flink以后,阅读了相关的源码(
......
311
0
0
2024-03-03
线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。CPU 一般来讲我们首先会排查 CPU 方面的
......
214
0
0
2024-03-03
技术背景我们在做Windows平台流数据转发的时候,除了常规的RTSP转RTMP推送外,还有个场景就是,好多开发者希望拉取的RTSP流,做二次视频分析,或者加动态水印等,处理后的数据,再二次编码推送到RTMP服务或轻量级RTSP服务。技术实现本文就以Windows平台拉取RTSP流,回调yuv数据到上层,处理后的数据,二次投递到RTMP服务和轻量级RTSP
......
298
0
0
2024-03-03
查尔斯·狄更斯 在《双城记》中写道:“这是一个最好的时代,也是一个最坏的时代。”移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动;随着行业竞争加剧,互联网红利逐渐消失,很多创业公司九死一生。笔者在初创公司摸爬滚打数年,接触了各式各样的 Java 微服务架构,从中获得了一些优秀的理念,但也发现了一些不合理的现象。现在,笔者总结了一些创业公司存在的
......
250
0
0
2024-03-03
一、final关键字介绍及引入二、final关键字修饰类 final修饰类表明该类不能被继承 1、简单案例分析 这里先是定义了一个Animal动物类,并且在其类前加上了final关键字 final class Animal{}
然后执行了一步这样的操作,用一个Wolf类去继承这个动物类,但是系统却报出了错误 class Wolf extend
......
242
0
0
2024-03-03
来源:www.jianshu.com/p/df4fbecb1a4b1、秒杀业务分析 正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货;秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2、秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预
......
233
0
0
2024-03-03
第一次听到“消息队列”这个词时,不知你是不是和我反应一样,感觉很高阶很厉害的样子,其实当我们了解了消息队列之后,发现它与普通的技术类似,当我们熟悉之后,也能很快地上手并使用。面试题是,消息队列的使用场景有哪些?如何手动实现一个消息队列和延迟消息队列?典型回答消息队列的使用场景有很多,最常见的使用场景有以下几个。1.商品秒杀比如,我们在做秒杀活动时,会发生短时
......
203
0
0
2024-03-03
1. 原子性布尔 AtomicBoolean AtomicBoolean 类为我们提供了一个可以用原子方式进行读和写的布尔值,它还拥有一些先进的原子性操作,比如 compareAndSet()。AtomicBoolean 类位于 java.util.concurrent.atomic 包,完整类名是为 java.util.concurrent.atomic
......
256
0
0
2024-03-03
序本文主要研究一下PowerJob的LightTaskTrackerTaskTrackertech/powerjob/worker/core/tracker/task/TaskTracker.java@Slf4j
public abstract class TaskTracker {
/**
* TaskTracker创建时间
......
304
0
0
2024-03-03
1.Spring框架?Spring框架是由于软件开发的复杂性而创建的,Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事。从简单性、可测性和松耦合性角度而言,绝大部分Java应用都可以用Spring。2.Spring的整体架构?大约分为20个模块。3.Spring可以做什么?4.Spring的优点?缺点?优点:Spring属于低侵入设
......
210
0
0
2024-03-03
源码分析目的知其然,知其所以然项目引用此博文的依据:hutool-5.6.5版本 源码 <dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>.6.5<
......
486
0
0
2024-02-29
摘要:我们已经知道,synchronized 是 Java 的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Loc
......
284
0
0
2024-02-29
前几天工作之余,同事让我写一个Maven插件,因为项目很多很杂,我们公司又没有专业的数据库字典管理工具,都是我们开发人员用Excel整理一个数据字典给我们现场实施人员,每次增加新功能或该需求,增加表和修改数据时,对Excel形式数据字典维护有点。。。,此文不是讲如何维护Excel而是手写maven插件,对于我需要的功能用Maven插件来实现太简单了。那就开始
......
344
0
0
2024-02-29
你好,我是悟空。背景最近在做一个关于邮件的专栏:《SpringBoot 邮件打怪升级》。旨在从 0 开始,带你搭建一个完整的基于 SpringBoot 技术栈 Email 邮件服务。适合人群:对 SpringBoot 开发感兴趣、对邮件服务感兴趣的开发人员。整个专栏目录如下,后续会加更。第一篇是通过 SpringBoot 发送邮件的三种方式,项目代码如下。代
......
270
0
0
2024-02-29
大家好,我是不才陈某~现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自定义一个advice的实现类然后,在用户想要开启日志的时候就把advi
......
254
0
0
2024-02-29