自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 springboot-redis使用fastjson2

springboot-redis+fastjson2

2023-07-27 17:40:46 1212

原创 java(springboot)对接elasticsearch8+

springboot集成 elasticsearch8+

2023-07-20 16:59:44 995

原创 java使用.dll(.so)文件

java调用dll或者so文件

2023-05-06 17:41:59 466

原创 事件工厂实现

说明例如:收到通知后按事件做房间操作,创建、销毁、加入、离开代码简述事件处理接口public interface IBaseHandle<T, R> { /** * 事件类型 * * @return - */ Event getEvent(); /** * 处理器 * * @param param - * @return - */ T handle(R param

2022-03-01 16:09:09 171

原创 【无标题】javacv-ffmpeg(九)视频文件处理

说明视频文件处理包括:视频切割,视频合并,视频截图(抽帧)代码实现作者很懒,先欠账

2022-03-01 15:47:24 2263

原创 javacv-ffmpeg(八)视频文件信息获取

说明获取流信息应该没问题,暂时没尝试。有兴趣的同学可以试试(后续更新的内容其实是补充,好长时间没写了,现在有时间就填填坑)实体类代码获取编码方式不太好用import lombok.Data;@Datapublic class VideoInfo { /** * 总帧数 * **/ private int lengthInFrames; /** * 帧率 * **/ private double frameRate;

2022-03-01 15:43:41 4090

原创 javacv-ffmpeg(七)ProcessBuilder实现录制

说明有些可简单命令实现的功能可以调起一条系统命令搞定,无需写太多复杂代码。代码实现下面是一个很简单的demo,参数:流地址或者文件地址,录制多少秒FileUtil.judeDirExists:检查文件夹没有创建,网上一大堆自己找代码DateUtils.dateToStr:日期格式转换,可以换个别的地址,想跑demo自己写个日期工具。import java.io.File;import java.io.IOException;import java.util.Date;import org.

2022-03-01 15:31:24 722 1

原创 羊群效应?redis解决方案

1、羊群效应的发生条件个人理解:技术上讲的羊群效应一般是指出现在高并发情况下的资源抢夺。举例:当一个锁被释放,瞬间成千上万个需要这个资源的请求同时进来,造成服务的短时压力大增。2、实际场景及解决方案redis:在高并发场景下,当一个redis的分布式锁到期时,大量请求争抢锁资源,造成瞬时压力大增。解决方案A-削峰:在客户端(资源请求方)添加随机数延迟,使多端每次请求的时间间隔不一致,减缓请求的瞬时压力。...

2021-02-26 09:29:45 907

原创 个人收藏非csdn文章

1、jvm简书: 深入理解JVM-内存模型(jmm)和GC.

2021-02-05 18:04:15 70

原创 linux grep查找文件内容

命令//查询文件file1中所有包含String的行grep 'String' file1//查询文件前缀为file的文件中所有包含String的行grep 'String' file*//查询文件前缀为file的文件中所有包含String的行和上下五行grep -C 5 'String' file*//查询文件file1中所有包含String和csdn的行(注意字符串在行中出现的先后顺序 .* 分割)grep 'String.*csdn' file1//查询文件filez中所有包含.

2021-01-25 12:01:32 566

原创 Docker安装mongo(express)

一、命令安装1、查看可用的 MongoDB 版本链接: hub.docker.com-mongo.本次使用最新版本:latest可以用 docker search mongo 命令来查看可用镜像2、安装步骤(1)拉取镜像docker pull mongo:latest(2)运行容器docker run -itd --name mongodb -p 27017:27017 mongo --auth -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017

2021-01-19 17:18:11 1737

原创 SpringBoot+Caffeine 本地缓存

maven配置<dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>2.8.8</version></dependency>yml配置spring: cache: type: caffeine cache-

2020-12-23 18:19:17 193

原创 开放api demo实现(aop应用)

应用框架Spring Boot 2.4.1Spring Cloud 2020.0.0-RC1swagger 3.0.0实现功能参数拦截校验(也可用于token校验)controller log自动打印@SysLog 自定义log处理注解exception 统一处理xss过滤swagger3代码地址gitee: zctel/open-api-demo...

2020-12-23 17:55:30 96

原创 AOP-@Aspect:Controller日志全监控

一、Controller@Aspect@Componentpublic class ControllerMonitor { private static final Logger LOGGER = LoggerFactory.getLogger("CONTROLLER-DETAIL-AOP-LOGGER"); //*** 替换成路径 @Around("execution(* com.***.controller.*.*Controller.*(..))") public

2020-11-23 17:17:09 548 1

原创 AOP-@Aspect:系统日志实例

一、interface/** * 系统日志注解 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface SysLog { String value() default "";}二、Aspect/** * 系统日志,切面处理类 */@Aspect@Component@Order()public class SysLogAspect {

2020-11-23 16:58:27 146

原创 IPUtils-获取request中的IP地址

import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.servlet.http.HttpServletRequest;public class IPUtils { private static Logger logger = LoggerFactory.getLogger(IPUtils.class); /** * 获取I

2020-11-23 16:39:14 774 1

原创 面向对象设计的七大原则(包括SOLID原则)

前文设计理念因人而异基础原则的使用也可根据自身情况排列组合入门看热闹,进阶看门道。概述1. 单一职责原则(Single Responsibility Principle)2. 开闭原则(Open Close Principle)3. 里氏替换原则(Liskov Substitution Principle)4. 接口隔离原则(Interface Segregation Principle)5. 依赖倒置原则(Dependence Inversion Principle)6. 迪米特法则(

2020-11-19 18:32:07 202

原创 @Autowired自动装配接口时存在多个实现的处理方式

前文class ImageDataService extends DataDao添加注解@Service(value=“aaaDataService’”)当我们需要这个类时 bean对应的name为aaaDataService当DataDao有多个现实时,下例代码编译时会报错@Autowiredprivate DataService dataService;1、@Resource注解@Resource(name="aaaDataService") priv

2020-11-19 18:08:27 2336 1

原创 算法应用(一)-翻转二叉树(递归算法)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode invertTree(TreeNode root) { if(root

2020-09-16 18:04:35 101

原创 公用算法(二)-LFU

LFU(Least Frequently Used ,最近最少使用算法)也是一种常见的缓存算法。思想:如果一个数据在最近一段时间很少被访问到,那么可以认为在将来它被访问的可能性也很小。因此,当空间满时,最小频率访问的数据最先被淘汰。算法实现策略:考虑到 LFU 会淘汰访问频率最小的数据,我们需要一种合适的方法按大小顺序维护数据访问的频率。LFU 算法本质上可以看做是一个 top K 问题(K = 1),即选出频率最小的元素,因此我们很容易想到可以用二项堆来选择频率最小的元素,这样的实现比较高效。最终实现

2020-09-16 17:35:14 104

原创 公用算法(一)-LRU

1. 释义全称Least Recently Used页面置换算法:最佳置换算法(OPT),先进先出置换算法(FIFO),最少使用置换算法(LFU).通俗点讲就是访问的页面都存到内存了,当你新访问页面时,空闲内存不足了,这时候需要把内存里的页面扔到一个,把新页面加进去.但是内存里页面有好多要选择一个扔掉,这个选择方式就是页面置换算法.LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。

2020-09-16 16:31:02 154

原创 javacv-ffmpeg(六)性能提升

说明我的性能提升大多都是取巧,也就是在业务或者逻辑上提高性能。FFmpegFrameGrabber里是有同步代码块的,我没有试过去掉后会产生什么后果。主要是懒。如果有人尝试请把结果回馈下,谢谢。一、直播截图因为同步代码块的问题,线程池线程不宜过多。如果一直接受流信息并截图,消耗资源非常多8核的cpu支撑16-50路就不错了,看分辨率。解决方案:看需求是否是多少秒一张图(这个可以配置管...

2019-12-06 17:08:36 3749 5

原创 javacv-ffmpeg(五)OutputStream方式截取-音频截取

说明以截取音频演示OutputStream方式输出截取后的媒体到内存中,无需保存文件。后期可以直接二进制保存到第三方库(redis、mysql等)或者转化成base64存储传输。一、代码示例 OutputStream fileOS = null; byte[] fileByte = null; //CustomFrameGrabber15 是我系列四中重写后的类 也可以用FFmpe...

2019-12-06 16:40:57 2891 10

原创 javacv-ffmpeg(四)拉取时错误处理

说明该错误处理不区分点直播一、连接时报错超时、地址错误、参数缺失//该类错误在拉取流是try try { FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile); // 微秒 大概为设置时间的两倍 ff.setOption(TimeoutOption.RW_TIMEOUT.getKey(), "10000000")...

2019-12-06 16:20:35 2279 1

原创 javacv-ffmpeg(三)视频截取

说明支持本地文件、rtmp、rtsp、http-flv、hls一、代码示例 boolean isStart = true;// 该变量建议设置为全局控制变量,用于控制录制结束 FFmpegFrameGrabber ff = new FFmpegFrameGrabber(url); // 微秒 大概为设置时间的两倍 TimeoutOption代码在示例文章二 grabbe...

2019-12-06 15:53:51 3649 1

原创 javacv-ffmpeg(二)图片截取

说明支持本地文件、rtmp、rtsp、http-flv、hls一、视频拉取演示方法只切图一张,如果想隔几秒切几张图 ,在if条件中加时间判断就行了。f.timestamp 可以获取到该帧时间,单位微秒。 //方法或者外部类代码在后边 FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile); // 微秒 大概为设置时间的...

2019-12-05 19:07:01 1999 4

原创 javacv-ffmpeg(一) springboot集成javacv

说明javacpp版本为1.5(1.4与1.5版本差异较大,建议升级为1.5版本)maven引入配置版本:// properties 本地调试在windows 上线部署在linux 如需其他环境请自行添加 <javacpp.version>1.5</javacpp.version> <javacpp.platform.linux-x86>linu...

2019-12-05 18:37:13 6536 1

原创 ubuntu18.04安装python3.7

声明1、ubuntu18.04系统自带了python2.7和python3.6。2、不要卸载ubuntu自带的python版本。3、ubuntu下不同版本的python可以共存,可直接安装python3.7。安装1、python3.7安装sudo apt install python3.72、将python3指向python3.7cd /usr/binsudo rm /usr/...

2019-07-16 15:44:55 4872

原创 Docker安装kafka(docker-compose版)

创建docker-compose.yaml文件在安装目录下新建docker-compose.yaml文件version: '2'services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka po...

2019-04-26 14:30:42 2535

原创 Ubuntu下安装Docker快速版

默认安装root@zc:~# sudo apt-get updateroot@zc:~# sudo apt-get install docker.io最新版本安装如果你的apt不支持https,请执行以下命令root@zc:~# sudo apt-get updateroot@zc:~# sudo apt-get install apt-transport-https然后将doc...

2019-04-24 17:49:32 293

原创 Ubuntu18.04下安装最新的Docker

Ubuntu18.04下安装最新的Dockerdocker安装安装的前提条件卸载旧版本docker更新系统软件安装依赖包添加仓库再次更新系统软件安装docker查看docker版本docker-compose安装下载 docker-compose授权查看版本信息docker-machine安装安装virtualBox下载并安装docker-machine查看版本信息docker安装安装的前提条...

2019-04-24 15:31:08 751

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除