自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我的程序人生

这一路真的不容易,坚持到最后一定很酷,也希望这篇文章可以帮助大家,欢迎评论!

2023-04-19 16:07:01 193

原创 视频盒子项目遇到的问题

1.使用netty搭建websocket服务器服务器写给客户端的数据是byte数组(视频二进制流),客户端一直报解码失败,因为服务器是new TextWebSocketFrame然后使用它的构造,是传byte数组,但是实际在websocket协议中,有一个opcode属性的值还是字符串,所以浏览器还是按照字符串解码,导致报错正确的是:new BinaryWebSocketFrame(ByteBuf对象)所以关键是对TextWebSocketFrame和BinaryWebSocketFrame的理解T

2022-05-31 15:42:29 2597

原创 cpu的缓存一致性以及java的可见性 volatile解释

java volatile的理解

2022-05-18 17:09:07 1134 2

原创 tomcat线程池

tomcat线程池

2022-04-18 17:54:52 7625

原创 maven实战

本文记录实际使用maven遇到哪些问题,以及解决方案一.单体maven项目main入口不会打包到jar(就是一个最普通的jar项目,不是springboot)默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不会添加到manifest中(打开jar 文件中的META-INF/MANIFEST. MF文件,将无法看到Main-Class 一行)。为了生成可执行的jar文件,需要借助maven-shade-plugin,配置该插件如下:<build> <

2022-04-13 13:48:44 544

原创 maven进阶(三)

一.maven的生命周期①作用为了让构建过程自动化完成,Maven 设定了三个生命周期,生命周期中的每一个环节对应构建过程中的一个操作。②三个生命周期生命周期名称 作用 各个环节 Clean 清理操作相关 pre-cleancleanpost-clean Site 生成站点相关 pre-sitesitepost-sitedeploy-site Default 主要构建过程 validategenerate-sourcesprocess-sourcesgenerate-resourcesprocess

2022-04-13 11:28:12 65

原创 maven进阶(二)

接着上篇继续讲解本文将记录maven核心概念一.maven的依赖范围maven的依赖范围用scope修改有效无效最通俗的话就是说能不能用空间和时间是什么意思?空间:其实就是说你这个依赖的jar可以在哪些目录中使用(main和test)例如:junit使用scope为test,空间上就是说,只能在test包下测试api时间:就是说在idea开发下,有没有提示,其实只要把包导进来,都会有提示结论compile:通常使用的第三方框架的 jar 包这样在项目实际运行时真正要用到的 jar 包都是

2022-04-13 11:17:27 191

原创 maven进阶(一)

maven进阶

2022-04-13 10:31:15 207

原创 mq消费,数据却不在mysql

一.问题记录一次项目中遇到的问题,电商后台添加商品的时候,需要将数据同步到es,因为后续逻辑较多,所以使用rabitmq异步处理了下,但是实践中,遇到了一个问题,mq消费者拿到商品id,去数据库查询,结果发现不存在,然后很快排查到是因为,生产者的事务还未提交,然后数据发到mq,很快被消费到,所以为什么消费者拿id去数据库查,查不到,消费者可以将数据库隔离级别改为最低级,读未提交,但是不严谨,然后为了快速开发完,mq消费者拿到消息先执行sleep1秒,后续进行了优化二.解决将发送消息保存到mysql的一

2022-04-11 20:15:07 441 2

原创 Socket粘包分包解析

一.粘包分包现象(来自Unity 3D网络实战一书)由于TCP协议本身的机制,客户端与服务器会维持一个连接发送数据,如果发送的网络数据包太小,TCP会等待,然后合并较小的数据包在发送,接收端便无法区分哪些数据是发送端自己分开的,因此便会产生粘包现象,或者接收端把数据放到接受缓冲区中,如果数据没有及时从缓冲区取走,下次取数据时可能出现一次取出多个数据包的情况,如例,客户端发送两次数据,服务器一次接受:客户端 Send: h e l l o客户端 Send: u n i t y服务器 Recv :

2022-02-18 14:46:44 4357

原创 java数据迁移程序

环境:mysql 目标:亿级数据迁移 最终耗时:1-2小时(服务器更佳),建议在晚上或者没人访问的情况下操作思路:​ 1.不能一下将所有数据,导入到目标数据表,耗时太久,且占用资源,所有就用程序批量执行,每次执行一个范围段,比如第一个线程: 1 -1000,第二个线程: 1001-2000,第三个线程:2001-3000这样,当然我这里是为了方便理解,实际这个是要根据自己插入数据的性能,来进行调整的,当前数据库,大概每次插入28w数据,耗时在2-5秒,所以每次也就是,1-280000,2800001-

2021-07-23 10:54:37 2130

原创 音视频实战(海康视频预览,通过ffmpeg转码)

概述​ 本章主要讲解实际工作中遇到的问题,以及如何解决并实现,下面是音视频开发的常用工具,下载地址就不贴了。VLC media player 视频流播放工具MediaInfo 视频信息查看工具开发人员:app(负责开发板),java(负责服务器,进行编解码)一.通过海康sdk获取视频流​ 海康提供的sdk录像功能,然后保存到sd卡中,当客户端有人想看这个视频时,去sd卡中拿视频​ 实现步骤:1.当开发板生成视频,将视频路径以及设备id信息通知后端服务器,服务器将数据展示在web界面中.2

2021-07-08 13:17:07 3080 3

原创 音视频(入门篇)

概述:最近公司有个业务需求,需要将海康的摄像头对接过来,主要包含回放,实时预览等,因为一些原因,只能自己实现(没有通过第三方api实现),之前也没接触过这方面,就开始慢慢研究主要是音视频方面。一.音视频简介当下,音视频、流媒体已经无处不在,直播已经火了几年,在后续的时间里面,人们聊天已经不仅仅满足与文字、而是更多的在于“类面对面”交流,能够实时感知对方的表情、动作。​ 流媒体是什么?流媒体就是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频或多媒体文件。流媒体技术也称流式媒体技术。那

2021-07-07 17:58:27 1407

原创 synchronized 中Integer类型变量 使用wait notify报错

最近看到一个面试题,就随手写了多线程实现的多种方式,其中一直,一直报错import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;public class Test { private static Integer flag = 0; public static void main(String[] args) throws InterruptedException {

2020-11-17 19:06:05 516 1

原创 mysql千万数据迁移

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-10-31 15:26:36 1228

原创 多线程处理大数据量查询

最近在实现一个导入功能,数据量在5w左右,后续会持续增长,但幅度不大,使用的是easyExcel,读取文件性能较好,但因为每条数据都要做复杂的数据校验,导致整体响应时间在三四十分钟,虽然说导入不是直接和用户交互,但现在数据量不算很大的情况下,这个响应时间是需要优化的,嗯,大概思路是这样:读取文件速度在几秒以内,主要是在数据校验这块,所以就使用了多线程去工作。主要代码:private static final int threadNum = Runtime.getRuntime().availablePr

2020-10-16 13:16:29 2224

原创 jenkins +git 自动化部署vue项目

一、node.js配置1.因为我们的项目依赖于node,所以要安装以及配置node.js点击系统管理点击插件管理点击可选插件,搜索 NodeJS Plugin,选中之后,点击安装,安装成功之后,...

2020-03-26 17:54:26 1911

原创 ES基础及安装教程

Elasticsearch第一篇最近公司要做一个电商平台,所以就涉及到商品的搜索,于是开始入坑!!!1.为什么需要elasticsearch1.1 响应速度传统数据库MySQL当数据库中的文档数仅仅上万条时,查询就比较慢了。如果一旦到企业级的数据 速度就会更加不可接受。原因:在数据库做模糊查询时,如LIKE语句,它会遍历整张表,同时进行字符串匹配。例如,当小刘在数据库查询“市场”时...

2020-03-18 15:51:57 1789

空空如也

空空如也

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

TA关注的人

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