自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MR.WU

一只大牛的成长历程

  • 博客(62)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 java 计算百分比四舍五入

计算百分比四舍五入

2022-08-15 17:27:35 1331 1

原创 shell脚本定时备份mysql和mongodb数据至另一个机器

#!/bin/bashecho "start backup mysql..."tmp_path="/tmp/"file_path="/home/mixislink/data_backup/mysql/"file_name_base="mysql_"file_name="${file_name_base}$(date +%Y%m%d_%H%M%S)"# 备份mysql的数据至106,并删除大于60天的数据mkdir -p ${file_path}docker exec mysql8 mysq.

2022-03-03 18:11:25 558

原创 nacos动态更新配置RefreshScope注解后取值为null

首先排除版本问题。如果在controller类上面直接加@RefreshScope注解,会导致name值为null,count值也为null。@Slf4j@RestController@RequestMapping("api")@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)public class HelloController { private AtomicInteger count = new AtomicInteger(

2021-12-14 14:42:53 2017 2

原创 docker空间不足 failed to register layer: devmapper: Thin Pool has 77644 free data blocks wh

docker info 发现总共107G只剩5G可用,docker线程要求最小10G才可以启动,这是错误根本原因。为什么会这样?当一个容器的数据空间大于10GB后,那么这个容器将不能写入新的数据文件。如果容器需要很大的数据空间,可以使用数据卷挂在到宿主机或存储上。当容器太多使用数据卷挂载方式后,所有容器使用的数据空间已经大于100GB,这时将不能新建或运行容器。这篇文章给出了解答:https://github.com/docker/docker/tree/master/daemon/graphd

2021-12-09 15:43:18 1820

原创 sql更新某条数据字段为1,其他数据变为0

应用场景:表中永远只能有一条数据值为1,例如只能设置一条商品推荐(值为1),将另一条商品数据设置为推荐后,之前设置的推荐商品变为不推荐(值为0)。<update id="updateRecommend"> UPDATE t_db_report SET highly_recom = (id = #{id})</update>highly_recom为数据库自定义自定,#{id}为动态传入id。...

2021-11-02 18:27:12 1961

原创 免费的两种https证书申请和安装

第一种:网站申请方式免费证书申请网站:https://freessl.cn/这个也可以使用其他网站提供的免费证书。先要注册一个账号。下载KeyManager:https://keymanager.org/ 启动运行KeyManager并登陆 点击左边栏的证书申请 输入要制作证书的域名:品牌选择:Let’s EncryptTrusAsia可以免费使用1年,1年换一次,Let‘s Encrypt的只有3个月,但支持通配符,通配符可以用于子域名点击创建:复制txt值..

2021-09-28 09:57:08 4170

原创 linux查看 磁盘 内存 cpu 网络 负载状态

1.命令top 、uptime 、w 检测系统整体的负载、承受能力iostat 、 iotop 查看磁盘IOvmstat、 sar 、iostat、 top 检测CPUfree、vmstat 内存2.磁盘IO分析yum install sysstat 安装iostatiostat -x -k 1 3 #每秒一次共三次主要关注:%util:一秒中I/O操作时间的百分比,即一秒内有多少时间I/O队列是非空的,若接近%100表示I/O请求过多,超负荷,磁盘存在瓶颈aw.

2021-08-24 12:13:31 1406

原创 mybatis踩坑日记-数字类型判断为空问题

mybatis中的if标签判断,如果传的是数字类型0,mybatis会把它转为''空串。<if test="status != null "> and t.status = #{status}</if>这样可以解决问题。但是,如果用@RequestParam Map<String, Object> params来接收前端参数的话,虽然前端像下图这样传,但是,map接收后会自动赋值为""所以,还是会有问题。两个解决办法,一是类型定义.

2021-05-27 11:05:46 1141

原创 shell检测ping以及telnet是否连通,并启动或关闭容器

#! /bin/bash#ret=摄像头在线监测,0为在线,1为不在线。#net=网络监测,0为不通,1为通。#自动检测摄像头是否在线并重连,如果摄像头在线且网络通畅且FFmpeg没启,则启动;如果(摄像头不在线或网络不通)且FFmpeg启了,则关掉。for((i=2;$i<=31;i++))do if (( ($i >= 9 && $i <= 12) || $i == 22 )) then .

2021-05-12 16:05:24 685

原创 h3c 解决从内网用域名无法访问的问题

背景:从外面用域名访问没问题(如果有问题请拨打宽带运营商电话问一下80端口是不是被封了,这个坑我踩过,需要申请才能开),从内网用域名访问就不通。1.查阅了相关资料,主要问题是 回流。H3C F100-A-G3 集防火墙和路由功能,在web管理页面,策略->NAT高级选项->NAT hairpin,打开LAN接口的nat hairpin功能,就可以了。特别提醒:h3c的web管理页面可能会占用80和443端口,需要先将它改为别的端口,如果不小心把web都关掉了。可以用ss..

2021-04-12 15:19:01 2848

原创 nginx配置https http跳转至https

第一步:Nginx的ssl模块安装在配置ssl证书之前,要确保你的nginx已经安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和上面的文章一致的话,那你的目录和我应该是一致的进入到目录的sbin目录下,输入#注意这里是大写的V,小写的只显示版本号./nginx -V 如果出现 (configure arg

2021-03-15 18:08:31 960

原创 mybatis plus解决多对多分页总条数不对的问题

由于一对多或者多对多的情况,分页条数出现统计错误。解决办法是加上select标签,先做子查询。例如A B C 三张表,A和C都是主体,B表作为中间表关联AC的多对多关系。下图中t是A表,t2是B表,t1是C表。直接请求queryByMap接口,返回的数据就对了。...

2021-01-22 16:44:52 4639 3

原创 nginx ffmpeg读取摄像头RTSP转为HLS流并定时截图做动态封面

1.拉取一个FFmpeg的docker镜像。docker pull jrottenberg/ffmpeg2.创建一个start-ffmpeg-all.sh启动脚本,因为我有多路摄像头,所以要启动多个容器。#! /bin/bashfor((i=2;$i<=31;i++))do if (( ($i >= 9 && $i <= 12) || $i == 22 )) then echo "1

2021-01-20 10:32:55 829

原创 Jenkins 执行command脚本 提示找不到命令

现象:Jenkins的command里面执行脚本输出找不到命令,手动登录主机可以执行。原因及解决:Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件,在 Execute shell 中 添加如#!/bin/bash-l命令修改为登录方式即可解决问题,-l参数很重要。...

2021-01-07 16:33:20 1471

原创 设置ssh登录失败多次封禁该ip(防暴力破解)

1.新建一个secure-ssh.sh设置登录失败5次就永久封禁该ip#! /bin/bashcat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.listfor i in `cat /usr/local/bin/black.list`do IP=`echo $i |awk -F= '{print $1}'` NU

2020-11-30 18:04:29 2042 1

原创 nginx+ffmpeg,从海康摄像头接rtsp流转成rtmp或hls前端播放

场景是:A机器装FFmpeg连接摄像头,B机器装nginx,A机器将视频流推到B机器,页面程序访问B机器的地址播放视频。1、FFmpeg必须装官网:http://ffmpeg.orgFFmpeg功能强大,主要用来推流拉流,自带的ffplay还可以实现播放。2、nginx必须装nginx需要启用rtmp模块linux:先把rtmp模块clone下来https://github.com/arut/nginx-rtmp-module,编译时加入rtmp模块。./confi...

2020-10-29 18:37:13 3369 1

转载 centOS7 一键安装docker脚本

#!/bin/bash# 移除掉旧的版本sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine# 删除所有旧的数据sudo rm -rf.

2020-10-15 15:02:00 686

原创 sql:case when then else

case when 语句查询的是单条数据,若要查满足条件下的某个值的和,例如我要查is_check=1时的price的和:应该用SUM(CASE is_check WHEN 1 THEN price END) AS checkPrice而不是CASE is_check WHEN 1 THEN SUM(price) ENDAS checkPriceselect sum(case is_check when 0 then price end) AS noCheckPrice,sum(CA..

2020-07-16 16:35:54 131

原创 springboot动态cron定时任务

实现动态修改cron表达式来更改定时任务的规则,程序不重启,且使用定时任务线程池加快效率。一、配置类@Configuration@EnableAsync@EnableScheduling@Slf4jpublic class SchedulerThreadPoolConfig implements SchedulingConfigurer, AsyncConfigurer { /** * 定时任务使用的线程池 * @return */ @Bean

2020-07-13 17:23:32 1283

转载 Java并发编程:Lock

 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。  也许有朋友会问,既然都可以通过synchronized来实现同步访问了,那么为什么还需要提供Lock?这个问题将在下面进行阐述。本文先从synchronized的缺陷讲起,然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口,最后讨论

2020-07-10 17:50:54 131

转载 java 获取本机ip地址

获取本机真实ip地址,非127.0.0.1 非169.254链路本地地址。原文地址:https://blog.csdn.net/yu532164710/article/details/80118118详解说明:https://cloud.tencent.com/developer/article/1610919 public static String getLocalAddress(){ String ip = ""; try { En

2020-07-08 10:54:27 597 1

原创 java 获取CRC 16位校验码

/** * 计算CRC16校验码 * * @param bytes * @return */ public static String getCRC(byte[] bytes) { int CRC = 0x0000ffff; int POLYNOMIAL = 0x0000a001; int i, j; for (i = 0; i < bytes.length; i++)...

2020-07-07 17:42:26 781

原创 modbus slave加 vspd 轻松调试modbus RTU协议程序

最近要用java写个程序跟硬件通信,采集电力等相关信息,协议使用的是modbus RTU,串口通信不走tcp。java串口通信使用的是RXTXcomm.jar包和rxtxParallel.dll、rxtxSerial.dll两个库文件。程序写完后,因为手边没有硬件调试,只能在自己电脑上调试,这时候,就用上了 vspd 这个神器,配合modbus slave使用非常爽。1.下载安装modbus slave,并配置好模拟数据,将它当做要采集的硬件。2.下载安装vspd,打开主界面,点击COM

2020-07-07 17:40:35 1335 1

原创 ssh免密登录不生效的原因总结

生成公钥ssh-keygen -t rsa -P '' (注:最后是二个单引号,表示不设置密码)然后分发公钥到目标机器ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP如果失败,有可能是以下原因:1、权限问题.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整sudo chmod 700 ~/.sshs...

2019-12-17 18:31:03 3038

原创 Java生成随机数,指定范围,指定小数点位数

import java.math.BigDecimal; public class RandomTest { /** * @param args */ public static void main(String[] args) { float Max = 180, Min = 60; fo...

2019-11-16 11:33:40 4852 1

转载 collection.toArray(new String[0])中new String[0]的作用

new string[0]的作用比如:String[] result = set.toArray(new String[0]);Collection的公有方法中,toArray()是比较重要的一个。但是使用无参数的toArray()有一个缺点,就是转换后的数组类型是Object[]。 虽然Object数组也不是不能用,但当你真的想用一个具体类型的数组,比如String[]时,问题就...

2019-10-23 10:37:06 136

原创 springboot+mybatis+mysql 存储单字段为数组格式的解决方案

1.使用场景需求为:前端传的某个字段为数组类型,但mysql中不支持直接存储数组,只能转为字符串存储,取出时又得转回数组,这样无论是在前端转换还是后端转换都是费时费力的。这样,我们可以利用mybatis的BaseTypeHandler类帮我们完成自动转换。第一步:将对象里的字段改为JSONArray类型。第二步:继承BaseTypeHandler并重写里面的某些方法。...

2019-08-28 13:48:12 8245 2

原创 springboot 利用aop实现系统日志和操作日志记录

1.目的通过aop及注解的方式,记录异常信息和特定的操作日志到数据库。2.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</arti...

2019-08-16 11:32:05 2911 2

原创 使用powerdesigner 16 从数据库反向生成model

此文针对mysql数据库准备工作:1.需要32位的java环境。2.需要数据连接包 mysql-connector-java-5.1.44-bin.jar。重点:安装好后需要设置环境变量,否则会报Could not Initialize JavaVM! 错误。系统变量不说了,pd变量设置为点击“工具”-->"常规选项"-->"Variable"完整的环境变量如下...

2019-08-08 16:47:55 1174

翻译 docker pull 出错Create more free space in thin pool or use dm.min_free_space option to change behavior

报错信息:failed to register layer: devmapper: Thin Pool has 105881 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_spac...

2019-08-07 17:42:03 1261

原创 解决linux硬盘inode已满的问题

遍历寻找0字节的文件,并删除。sudo find / -type f -size 0 -exec rm {} \;查看占用。sudo df -ih

2019-07-25 12:00:52 728

原创 学会用linux命令统计日志

程序在部署到测试或正式环境后,往往需要查看日志来帮助发现和解决问题,例如需要在日志中统计接口调用的success和fail的次数,来优化高并发的情况。1.根据日志中的关键字进行统计cat log.txt | grep -o '关键字' | wc -l特别注意:网上有很多文章直接用cat log.txt | grep '关键字' | wc -l 或cat log.txt | gr...

2019-07-19 18:24:56 1016

原创 java 导出Excel

1.介绍导出是用的poi,poi版本3.11,网上用的较多的是poi的HSSF的API,对比了一下发现,HSSF主要针对2007年以前的excel版本,XSSF主要针对2007年及以上版本。官方主页http://poi.apache.org/index.html,API文档http://poi.apache.org/apidocs/index.html2.实现步骤:1.打开或新...

2019-07-18 17:55:02 104

原创 tomcat上传图片后无法立即下载 缓存问题

接手了一个别人的项目,用的ssh框架,有个地方上传图片后需要立马在页面上回显,以为是代码中异步写图片还没写完就把图片路径返回给前端了,查看了代码发现没问题。接着找Tomcat的问题,发现在Tomcat的context.xml配置文件中,将默认的cachingAllowed="true"改为false就可以了。...

2019-07-08 18:04:24 417 2

原创 也许你的ssh正在遭受暴力破解

一次偶然的机会,部署在客户那里的机器上运行的服务都拒绝访问,ssh也登录不了,过了一小段时间后自己恢复了,由于应用都在容器里可以开机自启。所以在排查问题时优先排查了是否是停电问题。查看开关机或重启记录 > last查看最近一次开机时间 >last -1 reboot查看系统从上次开机到现在运行多久了 > uptime发现最近都没有关机过,于是想看看是不是有什么...

2019-04-11 18:39:42 496

原创 Linux动态扩展分区 无数据丢失

前提条件:如上图中的 /root/app容量已经满了,急需扩展,从VMware中多分配了96G空间,需要加到/root/app目录中。开始操作:1. fdisk -l 查看磁盘信息发现总的磁盘大小为210.5G,还有96G未挂载。(图中的马赛克是sda4,因为我是做完了后截的图,正常是没有的。)2. fdisk /dev...

2019-03-20 18:38:43 2207

原创 Java对象复制非空属性

引用org.springframework.beans.BeanUtils类提供的方法copyProperties(Object source, Object target, String... ignoreProperties)  用于对象拷贝,spring 和 Apache都提供了相应的工具类方法,BeanUtils.copyPropertiespackage com.mixislink...

2019-02-25 15:06:15 3636 1

原创 zabbix监控docker-主动模式脚本监控

在网上查找了zabbix监控docker的方法,基本上分为两种方法:一是用国外大神写的zabbix_module_docker.so加模板来进行监控,这种方法只能看到容器id很不爽;二是自己写脚本进行监控,在网上下载了别人的脚本进行监控,发现数据总是断断续续的,隔一段时间会没数据,索性就自己来写一个简单的脚本。我的思路是利用docker stats这个docker自带的命令来查看cpu、内存和网络...

2018-05-25 11:46:59 2747

转载 在RaspberryPi树莓派上使用RXTX(RXTX的源码安装)

在java串口编程连接电能表取数据时,用到了RXTXcomm包,这个包在windows上依赖两个文件rxtxParallel.dll和rxtxSerial.dll,然而将程序移植到树莓派上面时在网上下载了linux各个版本的librxtxSerial.so都用不了,因为不支持树莓派arm架构,所幸在网上看到了下面一篇文章,重新编译后自动在${java}/jre下面生成了一个librxtxSeria...

2018-05-21 15:34:59 2984 4

原创 nginx安装、配置、开机自启

第一章 下载并安装gcc安装 yum install gcc-c++ 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。PCRE pcre-devel 安装 yum install -y pcre pcre-devel PCRE(Perl Compatible Regular Expressions) 是一个...

2018-04-02 12:02:42 244

java串口通讯RXTXjar包和dll文件

java采集硬件,使用modbus RTU等串口通信协议时使用,包含RXTXcomm.jar和rxtxParallel.dll、rxtxSerial.dll两个库文件。将库文件和jar包放到项目跟目录并加载,即可使用。

2020-07-07

串口调试工具和蒂特驱动.zip

usb转485蒂特驱动,和串口调试工具,以及zlan的socket调试工具。

2019-09-09

rapid_myBatis修改版.zip

修改版,模板适配自用框架。

2019-08-09

rapid_myBatis_原版.zip

自动生成

2019-08-09

数据库连接驱动包和32位的jkd1.7

内含mysql-connector-java-5.1.46-bin.jar,32位的jdk1.7,针对pd从数据库反向生成model时需要用到32位的jdk和包工具。需要使用说明可以去我主页找

2019-08-08

zabbix监控docker模板

这个是zabbix监控docker的模板,支持主动和被动模式,使用方法见博文https://blog.csdn.net/qq_36961530/article/details/80448301

2018-05-25

javax.comm jar包

javax.comm的jar包,亲测能用,maven仓库下不了,特意放上来给需要的人

2018-05-04

微服务之一键部署示例(源码)

使用方式可以去查看我的博客《微服务之一键部署》,csdn丧心病狂限制最低需要2积分才能下载,有积分的同学可以支持我创造更好的文章从这下载,没有积分的同学可以去我的GitHub地址https://github.com/WuSong0/springboot,人人为我,我为人人。

2018-03-12

java socketNIO 实现多客户端聊天室 代码

利用socketNIO实现的多客户端聊天室,非阻塞式IO,java代码编写,使用方法:先启动服务端代码再启动客户端代码,可启动多个客户端代码。若使用多个电脑启动客户端,需在客户端代码中更改一下ip地址。

2017-05-25

dlt645-2007电能表协议解析源码+串口编程源码

dlt645-2007电能表协议解析源码+串口编程源码,利用串口编程直接与电能表通信,Java源码

2017-05-15

tomcat跨域jar包

tomcat跨域jar包

2017-04-20

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

TA关注的人

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