后端开发
文章平均质量分 76
和光同尘ss
这个作者很懒,什么都没留下…
展开
-
Java工程使用ffmpeg获取媒体信息及音视频拼接(ws.schild)
Java工程使用ffmpeg进行音视频格式转换(ws.schild)_和光同尘ss的博客-CSDN博客。转载 2023-06-30 16:46:47 · 1262 阅读 · 0 评论 -
Java工程使用ffmpeg进行音视频格式转换(ws.schild)
ws.schild是基于ffmpeg的java工具包,是目前主流的对视频和音频进行转码、裁剪以及提取操作的java工具包原创 2023-06-30 16:35:50 · 12670 阅读 · 2 评论 -
ffmpeg安装及音频转换指令应用(win10)
ffmpeg简介ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。一、下载与安装1、官网下载安装包上面是最新release版本,下面是历史版本。essential版本包含了常用的库,用来支持一般应用的执行,full版本是完整构建,shared版本添加了头文件和库,用来学习和调试程序。转载 2023-06-30 16:01:32 · 3233 阅读 · 0 评论 -
服务限流方案总结
本文主要在学习和调研高并发场景下的限流方案的总结。目前业界流行的限流算法包括计数器、漏桶、令牌桶和滑动窗口, 每种算法都有本身的优点,实际应用中能够根据本身业务场景作选择,而分布式场景下的限流方案,也基本经过以上限流算法来实现。在高并发下流量控制的一个原则是:先让请求先到队列,并作流量控制,不让流量直接打到系统上。原创 2023-05-15 17:06:54 · 561 阅读 · 0 评论 -
MySQL连接报错No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
降低基础镜像的jdk版本,改为与本地一致的1.8.0_131。修改jdk的配置文件,去除对ssl协议的限制,可以参考。这个报错的意思是说连接协议被禁用或密码不对。本地连接没问题,容器部署后连接失败。转载 2023-05-12 18:26:07 · 12880 阅读 · 1 评论 -
负载均衡的硬件与软件实现方案
智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。Nginx负载均衡的实现,采用的是反向代理技术。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。转载 2023-02-15 11:12:59 · 721 阅读 · 0 评论 -
Redis 有序集合实现排行榜(结合springboot实现)
Redis 有序集合(sorted set)和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。正是因为有分值,所以很适合用在排行榜业务中。下面举例对redis有序集合实现排行榜功能进行说明。比如,业务需要某用户近30日工具使用率的排行榜。原创 2022-10-14 17:23:31 · 2071 阅读 · 0 评论 -
常用的数据库设计技巧
后端开发的日常工作,需要不断的建库和建表,来满足业务需求。通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相关的内容。如果我们在建表的时候不注意细节,等后面系统上线之后,表的维护成本变得非常高,而且很容易踩坑。转载 2022-09-07 11:57:53 · 245 阅读 · 0 评论 -
JVM参数 Options
我们根据JVM参数以-X开头或-XX开头将JVM参数分成三个部分: 1、以-开头的是标准VM选项,VM规范的选项; 2、以-X开头的都是非标准的(这些参数并不能保证在所有的JVM上都被实现),而且如果在新版本有什么改动也不会发布通知。 3、以-XX开头的都是不稳定的并且不推荐在生产环境中使用。这些参数的改动也不会发布通知。 Bool型参数选项:-XX:+ 打开, -XX:- 关闭。(比如-XX:+PrintGCDetails) 数字型参数选项通过-XX:=设定。数字可以是 m/M(兆字节),k/K转载 2021-11-17 17:18:31 · 1410 阅读 · 0 评论 -
导出docker容器中服务的dump文件
1、查看正在运行的容器iddocker ps2、拿到容器id,进入容器docker exec -it CONTAINER_ID /bin/bash或 docker exec -it CONTAINER_ID /bin/sh(上一个命令报错的情况下尝试)3、在容器内查询进程ps -ef|grep java4、生成dump文件jmap -dump:live,format=b,file=m.hprof PID文件名(m.hprof)5、容器内的文件拷贝到宿主机docker cp -a原创 2021-11-17 16:38:11 · 4533 阅读 · 1 评论 -
Cookie、Session、Token、Jwt的用途与区别
认证 Authentication百度百科中对于认证的解释是:身份验证(Authentication),在 .NET Framework 安全中,通过对照某些机构检查用户的凭据,发现和验证主体标识的过程。当然,今天我们来讨论肯定不会用这么生硬的词来解释的。 通俗地讲就是 验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 常见的认证方式: 用户名密码登录 邮箱发送登录链接 手机号接转载 2021-08-25 14:31:24 · 217 阅读 · 0 评论 -
java注解@Transactional事务类内调用注意事项
@Transactional 进阶1. @Transactional 注解的属性信息属性 描述 name 当在配置文件中有多个 TransactionManager , 可以用该属性指定选择哪个事务管理器 propagation 事务的传播行为,默认值为 REQUIRED isolation 事务的隔离度,默认值采用 DEFAULT timeout 事务的超时时间,默认值为-1。如果超过该时间限制但事务还没有完成,则自动回滚事务 read-on.转载 2020-12-28 16:11:43 · 5919 阅读 · 0 评论 -
Feign Ribbon Hystrix 三者关系
Feign介绍Feign是一款Java语言编写的HttpClient绑定器,在Spring Cloud微服务中用于实现微服务之间的声明式调用。Feign 可以定义请求到其他服务的接口,用于微服务间的调用,不用自己再写http请求,在客户端实现,调用此接口就像远程调用其他服务一样,当请求出错时可以调用接口的实现类来返回Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者J转载 2020-12-14 11:27:57 · 345 阅读 · 0 评论 -
com.alibaba.fastjson.JSONObject之对象与JSON转换方法
com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串、JSON对象,JSON串转成java对象、JSON对象,JSON对象转换Java对象、JSON串等,使用方法总结如下。1、Java对象-->JSON对象(JSONObject)JSONObject.toJSON(Java对象实例) public class JSON2JavaTest{ public static void main(String[]转载 2020-12-07 19:57:20 · 1956 阅读 · 0 评论 -
HTTP长连接和WebSocket长连接的区别
要理解HTTP长连接和websocket长连接的区别,首先要理解一下什么是HTTP的长连接和短连接。一、HTTP的长连接和短连接区别首先需要消除一个误解:HTTP协议是基于请求/响应模式的,因此客户端请求后只要服务端给了响应,本次HTTP请求就结束了,没有长连接这一说。那么自然也就没有短连接这一说了。所谓的HTTP分为长连接和短连接,其实本质上是说的TCP连接。TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才有真正的长连接和短连接这一说。HTTP协议是应用层的协议,原创 2020-11-10 16:04:42 · 9646 阅读 · 2 评论 -
【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口
前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范! 本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松。 在文章末尾贴上了项目演示的github地址,clone下来即可运行,并转载 2020-11-04 15:12:44 · 156 阅读 · 0 评论 -
生产服务器变慢,分析排查方法
生产服务器变慢了,一般都是从这几点去分析:服务器整体情况, CPU 使用情况,内存,磁盘,磁盘 IO ,网络 IO。一、服务器整体情况(top)看服务器整体使用情况,一般都是 top 命令搞定我知道当你看到这张图的时候,肯定有点儿懵,特别是一个个的数字,这都是个啥?第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。一般情.转载 2020-09-04 10:10:08 · 667 阅读 · 0 评论 -
springboot配置数据库密码加密
1、加入依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>2、到本地 jasypt 的jar包所在路径,打开cmd窗口注意:j原创 2020-08-21 16:06:56 · 871 阅读 · 0 评论 -
HTTP状态码介绍,以及HTTP错误代码的故障修复?
转自:https://baijiahao.baidu.com/s?id=1609940322276045505&wfr=spider&for=pc肯定很多人都听说过HTTP 404 302 500等代码,那这些代码都代表什么?如何利用这些错误代码来发现你的WEB系统问题,已经最后如何解决修复这些问题。本文中,虫虫就和大家一起聊聊HTTP状态码,并告诉大家对常见的HTTP错误代码问题,及其修复方案。HTTP 状态码是一个客户发出请求时候,WEB服务器返回给客户的一个状态回应,常见HTT转载 2020-06-11 10:55:32 · 3167 阅读 · 0 评论 -
Tomcat运行控制脚本分析
这个博主分析的易懂也很全面,记录下: 1、tomcat启动脚本startup.sh分析 2、tomcat停止脚本shutdown.sh分析 3、tomcat运行控制脚本catalina.sh分析 4、生产环境-linux-catalina.sh脚本停止不了服务分析解决 catalina.sh的停止命令第一步调用了bootstrap的stop方法,该方法的解析详见: tomcat无法...转载 2018-09-13 16:34:35 · 185 阅读 · 0 评论 -
source tree安装配置步骤
官网下载source tree安装包: https://www.sourcetreeapp.com/ 支持windows和mac版本,本文下载windows版本。1、安装.NET 安装source tree时,若本机没有.NET,则会提醒要求安装.NET,并给出了下载地址,按照提示下载即可,耗时不长。2、安装source tree .NET安装成功后, 再次点击source tre...原创 2018-09-14 11:45:37 · 1839 阅读 · 0 评论 -
Cookies 和 Session的区别
Cookies 和 Session的区别这篇文章讲的通俗易懂:https://blog.csdn.net/axin66ok/article/details/6175522转载 2018-09-19 15:47:21 · 237 阅读 · 0 评论 -
Tortoise Git安装、配置步骤
1、安装GIT Git简介及安装2、Git秘钥生成以及Gitlab配置 Git秘钥生成以及Gitlab配置3、安装TortoiseGit TortoiseGit安装、配置 上述过程中出现的问题: (1)本地不存在:C:\Users\BF100400.ssh,(BF100400是当前用户,一般为Administrator),所以我这里需要查找是否存在:C:\Users\Admini...转载 2018-09-14 18:04:39 · 491 阅读 · 0 评论 -
postman在Header中添加 Authorization: Bearer {Token}
Postman解决token传参问题转载 2018-11-05 10:26:28 · 80299 阅读 · 0 评论 -
SSL协议学习
HTTPS协议的本质就是HTTP + SSL(or TLS)。在HTTP报文进入TCP报文之前,先使用SSL对HTTP报文进行加密。HTTPS在传输数据之前需要客户端与服务器进行一个握手(TLS/SSL握手),在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL使用了非对称加密,对称加密以及hash等。具体过程请参考经典的阮一峰老师的博客TLS/SSL握手过程。阮一峰老师的经典解析:图解...转载 2018-11-20 11:15:47 · 503 阅读 · 0 评论 -
关于JAVA发送Https请求
推荐一篇帖子,讲解很清晰关于JAVA发送Https请求(HttpsURLConnection和HttpURLConnection)转载 2018-12-13 16:09:14 · 1832 阅读 · 0 评论 -
quartz Cron详解
quartz 时间表达式----- Cron表达式详解在线Cron表达式生成器转载 2019-01-30 11:01:05 · 1553 阅读 · 0 评论 -
Out of memory killer(OOM终结者)
1、Java进程异常退出,故障诊断:dmesg -T | grep java打印出报错如下:Out of memory: Kill process 339 (java) score 711 or sacrifice childKilled process 339 (java) total-vm:3299052kB, anon-rss:1379316kB, file-rss:0kB, sh...原创 2019-04-03 09:16:11 · 1338 阅读 · 0 评论 -
使用Redis做为Mybatis二级缓存
参见:Spring中使用Redis做为Mybatis二级缓存转载 2019-05-15 18:31:37 · 428 阅读 · 0 评论 -
Linux 开启 Swap分区
Linux 开启 Swap分区转载 2019-06-20 20:25:44 · 2112 阅读 · 0 评论 -
Spring 使用ASpectJ注解方式的AOP实现
基于经典的SpringAopSpring4之AOP注解配置详解转载 2018-09-04 18:17:52 · 507 阅读 · 0 评论