- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 【redis】一文看完redission看门狗机制源码实现
Hi,今天白梦又来卷了,趁着有时间,看了Redission锁原理以及看门狗的部分源码,主要是和这两个类。看新不看旧,首先引入Redission最新版本。
2024-02-20 09:27:51 1598
原创 JVM:性能监控工具分析和线上问题排查实践
在日常开发过程中,多少都会碰到一些jvm相关的问题,比如:内存溢出、内存泄漏、cpu利用率飙升到100%、线程死锁、应用异常宕机等。在这个日益内卷的环境,如何运用好工具分析jvm问题,成为每个java攻城狮必备的技能。所以白梦特意整理了jdk自带分析工具的使用,以及常见的jvm问题分析和处理。
2024-01-18 09:49:42 997
原创 终于看了ThreadLocal源码
之前看ThreadLocal原理基本是博客,但对这个还是一知半解,趁着这几天有空看了一遍,印象深刻了很多。同时发现新大陆,原来ThreadLocal在进行set、get等操作,都会有槽位清理的逻辑,来防止内存泄漏,这也是之前一直没有关注的地方。在看之前,希望大家先花亿分钟打开ThreadLocal的源码,跟着来一步一步的分析。
2023-12-28 08:52:40 409 1
原创 Javacv-利用Netty实现推流直播复用(flv)
上一篇文章《JavaCV之rtmp推流(FLV和M3U8)》介绍了javacv的基本使用,今天来讲讲如何实现推流复用。从设备获取音视频流利用javacv进行解码(例如flv或m3u8)将视频解码后数据推送到前端页面播放推流直播复用,是指假如该设备某一个channel已经在解码直播了,其他channel只需要直接拿该设备解码后的视频帧数据进行播放即可,而无需重复上面三步。实现一次解码,多客户端播放。在Netty中,每个Channel实例代表一个与远程对等方的通信链接。在网络编程中,一个。
2023-12-24 14:54:19 2375
原创 JavaCV之rtmp推流(FLV和M3U8)
FFmpeg是一款开源的多媒体处理工具集,它包含了一系列用于处理音频、视频、字幕等多媒体数据的库和工具。JavaCV集成了FFmpeg库,使得Java开发者可以使用FFmpeg的功能,比如视频解码、编码、格式转换等。
2023-12-11 19:43:51 1698 5
原创 单机无锁线程安全队列-Disruptor
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。基于Disruptor开发的系统单线程能支撑每秒600万订单。
2023-12-05 21:05:37 284
原创 开发一个二方包,优雅地为系统接入ELK(elasticsearch+logstash+kibana)
生成一个logger对象交给spring容器管理。后面直接从容器取就可以了。
2023-04-01 18:39:27 1478 2
原创 2023最新ELK日志平台(elasticsearch+logstash+kibana)搭建
Elasticsearch 是一个分布式、Restful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,并对数据进行强大的分析。Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到数据库中。
2023-03-10 23:08:36 3265
原创 try-with-resource理解和使用
背景try-finally带来的问题在日常开发中,经常都是手动关闭资源,比如IO流,特别是使用多个输入输出流时,finally方法里写的嵌套代码真的是不堪入目,下面看一个例子:public static void main(String[] args) { BufferedInputStream inputStream = null; BufferedOutputStream outputStream = null; try {
2021-10-11 22:27:55 811
原创 为什么要用Redis压缩表,是快吗?
首先需要了解什么是压缩表,推荐Redis设计与实现第二版:https://www.w3cschool.cn/hdclil/gcqrlcqm.html为什么要用压缩表呢?是快吗?其实不是的,恰恰相反,ziplist是为了节省内存而设计出来的一种数据结构。ziplist与普通的双端列表不同的是,双端列表保存了前后指针,在Redis,一个指针是占了8个字节的。而ziplist是维护了上一个节点的长度和当前节点的长度,然后每次通过长度来计算出前后节点的位置。ziplist涉及计算,肯定有性能上的..
2021-03-06 21:21:14 278
原创 Java内部类笔记整理
前言由于平时使用内部类不多,所以对内部类只有一个很浅的认知。趁着春节有空,整理了一些内部类的使用笔记。 使用内部类的好处使用内部类可以很好地解决多重继承的问题,每个内部类都能独立地继承一个(接口的)实现。内部类的分类成员内部类静态内部类方法内部类匿名内部类 1.成员内部类public class Demo { private int num = 100; String name = "zhou"; public class Inne
2021-02-16 22:34:30 191 2
原创 Redis 哈希表中负载因子问题
最近在看Redis设计与实现,发现Redis中的哈希表也是根据负载因子的扩容和收缩。当以下条件中的任意一个被满足时, 程序会自动开始对哈希表执行扩展操作:服务器目前没有在执行 BGSAVE 命令或者 BGREWRITEAOF 命令, 并且哈希表的负载因子大于等于 1 ;服务器目前正在执行BGSAVE 命令或者 BGREWRITEAOF 命令, 并且哈希表的负载因子大于等于 5 ;上面意思是Redis在进行rdb快照备份的时候,负载因子为5。没有执行rdb快照时负载因子为1。 为什么
2021-02-15 20:58:27 1794 1
原创 Firefox、Edge下无法使用jQuery的css("margin")、css("padding”)和css("border")获取值
今天遇到了浏览器的迷惑行为,在Edge上使用jQuery的css("margin")获取值,发现获取的是空值,换了Firefox也是如此。看了jquery官方原话,发现如下一段话Retrieval of shorthand CSS properties (e.g.,margin,background,border), although functional with some br...
2020-04-15 23:22:12 460
原创 一款基于js/jquery标签拖拽排序小组件
使用1.新建配置 let option = { dragbox: { width: '400px',//dragbox宽度,可以设置为百分比 fontSize: '14px',//字体大小 backgroundColor: '#87cefa',//dragbox背景颜色 }, draglist: { listS...
2020-04-14 20:54:06 250
原创 Vue 在table中使用v-for,满足一定条数换行
<table id="example" class="table table-bordered"> <tbody><!--满足4条数据换行--> <tr v-for="(chapte...
2020-01-14 22:44:20 11277 8
原创 福昕高级PDF编辑器Foxit PhantomPDF Business v9.3.0.10826企业版+破解补丁
原文地址:https://zhouxiaoben.info/src/?p=2655福昕高级PDF编辑器(Foxit Phantom PDF),又称为福昕凤腾PDF套件,是福昕公司开发的一款专业的PDF编辑软件,它可以与Adobe Acrobat Pro相媲美。通过福昕高级PDF编辑器,用户可以在PDF文档创建后直接在PDF文档中执行编辑和修改操作, 而无需“先转为其他格式进行修改,然后再转换为...
2018-10-30 19:48:24 22843 11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人