自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux进程间的6种通信方式

一、进程的概念进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。二、进程通信的概念进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内核及其它进程之间的互相通信来协调它们的行为。三、进程通信的应用场景数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。共享数据:多个进程想要操作共享数据,一个

2021-12-30 00:25:19 1742

原创 TCP连接的TIME_WAIT过多导致 Tomcat 假死

最近发现使用的Tomcat 7会经常假死。前端点击页面无任何反应,打开firebug,很多链接一直在等待服务器的反应。查看服务器的状态,CPU占用很少,最多不超过10%,一般只有2%,3%左右,内存占用倒是接近80, 90%。一开始怀疑是tomcat内存配置不够,但是打开 jvisualvm.exe 分析,发现Tomcat 占用的堆内存没有什么问题。因为是假死,所以最后怀疑到 tomcat的 链接数和 数据库的链接数的配置估计太小了。netstat -na 结果页显示很多time_wait.查看...

2021-12-28 21:59:11 859

原创 Java 线上问题排查思路与工具使用

Java 服务常见线上问题所有 Java 服务的线上问题从系统表象来看归结起来总共有四方面:CPU、内存、磁盘、网络。例如 CPU 使用率峰值突然飚高、内存溢出 (泄露)、磁盘满了、网络流量异常、FullGC 等等问题。基于这些现象我们可以将线上问题分成两大类: 系统异常、业务服务异常。1.1系统异常常见的系统异常现象包括: CPU 占用率过高、CPU 上下文切换频率次数较高、磁盘满了、磁盘 I/O 过于频繁、网络流量异常 (连接数过多)、系统可用内存长期处于较低值 (导致 oom killer.

2021-12-19 21:01:03 1158

原创 mysql各版本timestamp默认值

生产环境中部署着各种版本的MySQL,包括MySQL 5.5/5.6/5.7三个大版本和N个小版本,由于MySQL在向上兼容性较差,导致相同SQL在不同版本上表现各异,下面从几个方面来详细介绍时间戳数据类型。时间戳数据存取在MySQL上述三个大版本中,默认时间戳(Timestamp)类型的取值范围为’1970-01-01 00:00:01’ UTC 至’2038-01-19 03:14:07’ UTC,数据精确到秒级别,该取值范围包含约22亿个数值,因此在MySQL内部使用4个字节INT类型来存放时间戳

2021-12-11 01:20:23 10774

原创 ffmpeg实现各种视频特效

//渐入i in.mp4 -vf fade=in:0:90 out.mp4//黑白i in.mp4 -vf lutyuv=“u=128:v=128” out.mp4//锐化i in.mp4 -vf unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5 out.mp4//反锐化i in.mp4 -vf unsharp=7:7:-2:7:7:-2 out.mp4//渐晕i in.mp4 -vf vignette=PI/4 out.mp4/

2021-12-07 01:45:19 2160

原创 Mat::ones()和Mat::zeros()

Mat::ones()Mat m = Mat::ones(2, 2, CV_8UC3); 相当于:Mat m = Mat(2, 2, CV_8UC3, 1);// 相当于每个像素的第一个通道为1,其余两个通道为0,Scalar(1,0,0);Mat::zeros()Mat m = Mat::zeros(2, 2, CV_8UC3);//相当于创建一张黑色的图,每个像素的每个通道都为0,Scalar(0,0,0);...

2021-11-26 18:40:34 2793

原创 MySQL数据库的锁机制

1、MySQL 锁种类MySQL InnoDB存储引擎提供了如下几种锁:(1)共享/排他锁(S/X锁)共享锁(S Lock):允许事务读取一行数据,多个事务可以拿到同一把S锁(即读读并行);排他锁(X Lock):允许事务删除或更新一行数据,多个事务有且只有一个事务可以拿到X锁(即写写/写读互斥);(2)意向锁(Intention Lock)意向锁是一种表级别的锁,意味着事务在更细的粒度上进行加锁。意向共享锁(IS Lock):事务想要获得一张表中某几行的共享锁;意向排他锁(IX Lock)

2021-10-25 18:38:59 406

原创 MySQL数据库的共享锁和排他锁

MySQL数据库的锁,按照作用范围划分为: 行级锁、页级锁和表级锁,行级锁是锁定粒度最细的一种锁,能大大减少数据库操作的冲突。行级锁又分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概念、使用方式及注意事项。共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。用法

2021-10-25 17:51:43 3894

原创 yum、apt、wget

linux系统基本上分两大类:RedHat系列:Redhat、Centos、Fedora等Debian系列:Debian、Ubuntu等RedHat 系列常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”包管理工具 yum支持tar包yum安装:  安装:yum install 名称  卸载:yum remove 名称  更新:yum update 名称rpm 安装软件,首先你需要先有 rpm 的包rpm -ivh *.rpm*.rpm 为包名,安装时替换成

2021-09-30 12:34:45 503

原创 java opencv使用imgcodecs.imread方法没有报错的解决

java opencv使用imgcodecs.imread方法读取本地图片时会出现如下错误:Exception in thread “main” java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)Jat org.opencv.imgcodecs.Imgcodecs.imread_1(Native Method)at org.opencv.imgcodecs.Imgcode

2021-09-29 20:17:24 2907

原创 Java OpenCV图像ROI裁剪

ROI(region of interest),也就是感兴趣区域,如果你设置了图像了ROI,那么在使用OpenCV的函数的时候,会只对ROI区域操作,其他区域忽略。举个例子:原图:现在要将这幅图的蓝色通道加150,如果没有设置ROI,则函数作用在整个图像上,整个图像的所有像素的蓝色通道都会被加上150;如果设置了ROIRect ROI(0,100,width/2,height/2);则函数只会作用在我设置的ROI区域,其他区域保持不变。通过JavaCV opencv包的相关接口,设置rect,

2021-09-29 14:43:00 1174

原创 Spring Bean的加载机制

1.spring 注解的加载在 Spring 容器的核心基类 AbstractApplicationContext refresh 中设置后置处理器时,AnnotatedBeanDefinitionReader 调用 AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry)的方法,将注解的解析处理器注册到当前 Spring容器上下文中。正是通过这些注解解析器,实现了对注解的解析及Bean的注入等功能。public An

2021-09-17 21:01:01 902

原创 UDP可靠传输之重传策略

IP 协议在设计的时候就不是为了数据可靠到达而设计的,所以 UDP 要保证可靠,就依赖于重传,目前共有三总方式:1.定时重传发送端如果在发出数据包(T1)时刻一个 RTO 之后还未收到这个数据包的 ACK 消息,那么发送端就重传这个数据包。这种方式依赖于接收端的 ACK 和 RTO,容易产生误判,主要有两种情况:1)对方收到了数据包,但是 ACK 发送途中丢失;2)ACK 在途中,但是发送端的时间已经超过了一个 RTO。所以超时重传的方式主要集中在 RTO 的计算上,如果你的场景是一个对延迟敏感但

2021-09-16 17:52:50 4317 2

原创 Maven 项目中添加自己的jar包

mvn install:install-file -Dfile=java-bloomfilter-1.0.jar -DgroupId=com.sina -DartifactId=java-bloomfilter -Dversion=1.0 -Dpackaging=jar-Dfile:指明你当前jar包的位置(就是第1步存放jar的路径+jar包名);-DgroupId, -DartifactId, -Dversion:三个参数,就是指明了存放maven仓库中的位置;-Dpackaging

2021-09-14 14:10:51 205

原创 LRU算法及java实现

一、算法原理LRU全称Least Recently Used,也就是最近最少使用的意思,是一种内存管理算法,最早应用与Linux操作系统。LRU算法基于一种假设:长期不被使用的数据,在未来被用到的几率也不大,因此,当数据所占内存达到一定阈值时,我们要移除掉最近最少被使用的数据。最开始时,内存空间是空的,因此依次进入A、B、C是没有问题的当加入D时,就出现了问题,内存空间不够了,因此根据LRU算法,内存空间中A待的时间最为久远,选择A,将其淘汰当再次引用B时,内存空间中的B又处于活跃状态,而C则变

2021-06-09 09:46:29 283

原创 Netty TCP 参数说明

1、ChannelOption.SO_BACKLOG ChannelOption.SO_BACKLOG对应的是tcp/ip协议listen函数中的backlog参数,函数listen(int socketfd,int backlog)用来初始化服务端可连接队列,服务端处理客户端连接请求是顺序处理的,所以同一时间只能处理一个客户端连接,多个客户端来的时候,服务端将不能处理的客户端连接请求放在队列中等待处理,backlog参数指定了队列的大小2、ChannelOption.SO_REUSEADDR Chann

2021-06-08 23:42:50 675

原创 Idea快捷键备忘

Ctrl快捷键 介绍Ctrl + F 在当前文件进行文本查找 (必备)Ctrl + R 在当前文件进行文本替换 (必备)Ctrl + Z 撤销 (必备)Ctrl + Y 删除光标所在行 或 删除选中的行 (必备)Ctrl + X 剪切光标所在行 或 剪切选择内容Ctrl + C 复制光标所在行 或 复制选择内容Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再

2021-02-17 15:05:08 72

空空如也

空空如也

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

TA关注的人

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