自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sqlserver把某个字段多行逗号隔开

select distinct STUFF( (select ','+name from tb for xml path('') ),1,1,'' ) as namefrom tb

2022-04-06 16:03:24 1863

原创 直接替换Springboot jar包中的文件

Linux Springboot 在不重新打包的情况下,修改配置文件直接vim xxx.jar包后,可以通过 /关键字来查找文件,查找到以后,通过方向键进行控制,enter进入文件,i进入插入模式,修改文件、保存等操作和vim的操作一样。修改保存完后 java –jar直接启动即可。Linux Springboot 在不重新打包的情况下,替换某些class文件及lib下jar包先 jar -xvf ***.jar 解压要替换的jar,解压后目录如下class文件及lib都在BOOT-INF文件夹

2022-01-10 15:10:37 1596

原创 mysql定时备份数据库

1.新建备份脚本文件touch mysqlbackup.sh#!/bin/bash#保存备份个数,备份31天数据number=10#备份保存路径backup_dir=/home/3307backup#日期dd=`date +%Y-%m-%d-%H-%M-%S`#备份工具tool=mysqldump#用户名username=root#密码password=Wms@2020!#将要备份的数据库database_name=ewms#如果文件夹不存在则创建if [ !

2021-12-06 13:59:11 155

原创 java8特性--list集合根据多个字段去重

List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName() + ";" + o.getAge()))), ArrayList::new));//根据相同名字和年龄的记录去重.

2021-09-14 17:44:19 2602

原创 多个相同的对象存储在List集合,根据对象内的某一个属性去重并且实现其中一个字段相加

原始集合:[{"name":"jay","age":30},{"name":"jay","age":30},{"name":"jj","age":30}]期望输出:[{"name":"jay","age":60},{"name":"jj","age":30}]定义实体类:Singer 属性:name ages方法一:/** * 将id进行合并nums, sums 相加道回合并后的集合使用Java8的流进行处理 */public static List<Singer...

2021-08-31 17:09:45 1263

原创 redis两主两从+哨兵

前提:主服务器 172.16.9.8 从服务器 172.16.9.9一.下载安装redis安装包(主从服务器都需安装)1. 下载地址:wget http://download.redis.io/releases/redis-4.0.2.tar.gz2.将下载好安装包复制到/usr/local/src 后解压tar -xzvfredis-4.0.2.tar.gzcd /usr/local/src/redis-4.0.2//编译make//安装cd /usr/local..

2020-12-28 15:11:35 558 1

原创 nginx:[emerg]unknown directive ssl错误

既然在安装的时候没有编译ssl,难道把nginx卸载重新安装一次?不不不,我们只需要在原有的基础上添加ssl模块就行了。步骤一:进入nginx解压目录下后,按顺序执行一下命令: 命令1、./configure --with-http_ssl_module//重新添加这个ssl模块 注意如果没有出现错误,则直接看命令2即可 执行以上一条命令出现这个错误(./configure:...

2020-12-08 17:29:59 1615

原创 RabbitMQ集群搭建方法

一 普通集群以如下两台服务器为例ip: 172.16.9.8 hostname: rabbitmq1 (master)ip: 172.16.9.9hostname: rabbitmq2 (slave)1. 修改host文件编辑/etc/hosts文件,添加172.16.9.8rabbitmq1172.16.9.9rabbitmq22. 复制cookie内容打开文件然后需要先把172.16.9.8服务器的 /var/lib/rabbitmq/.erla...

2020-12-08 15:54:26 1130

原创 安装keepalived 报错OpenSSL is not properly installed on your system. !!!

安装Keepalived报错执行./configure --prefix=/usr/local/keepalived提示1.在线安装方法:yum -y install openssl-devel2.离线安装方法(重点)openssl-1.1.0j.tar.gz名字一定要对应 下载地址https://www.openssl.org/source/old/直接下载该版本:https://www.openssl.org/source/old/1.1.0/openssl-1.1..

2020-12-07 20:25:54 1898

转载 linux下防火墙开启某个端口的两种方式

首先得知道自己系统是什么版本的:cat /etc/redhat-releaseCentOS 6linux防火墙常用命令1、永久性生效,重启后不会复原开启:chkconfigiptables on关闭:chkconfigiptables off2、即时生效,重启后复原重启防火墙方式一:/etc/init.d/iptables restart方式二:service iptables restart关闭防火墙:方式一:/etc/init.d/iptables stop方式二:se

2020-12-07 15:43:33 533

原创 linux离线安装nginx

一 下载相关离线安装包在线安装方式:yum install -y gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel离线安装:二:执行安装rpm -Uvh *.rpm --nodeps --force运行此命令会根据依赖按照顺序安装rpm注:--nodeps rpm在安装包时,不检查依赖关系,例如安装B,

2020-12-07 15:41:46 384 1

原创 linux离线安装RabbitMQ

一 下载相关离线安装包下载erlang rpm包,下载地址:https://packagecloud.io/rabbitmq/erlang 选择对应版本的erlang rmp安装包现在socat rpm包,下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=socat(x86-64)下载RabbitMQ rpm包,现在地址:http://www.rabbitmq.com/install-rpm.html 下载所需版本的安装包(查看

2020-11-27 16:22:47 210

原创 mysql 主从备份 + keepalived实现高可用

前提:主数据库:172.16.9.11:3307备数据库:172.16.9.12:3307集群IP: 172.16.9.13一:实现主从复制1.修改主数据库my.cnf配置文件(mysqld配置切记房在client上面)[mysqld]basedir = /usr/local/mysql3307datadir = /usr/local/mysql3307/datasocket = /usr/local/mysql3307/tmp/mysql.sockport =...

2020-11-25 15:38:24 477 1

原创 一台linux 安装 两个 mysql8.0

linux 安装 mysql8.0 两台1.先看一下当前系统版本再下载对应的包:cat /proc/versionLinux version 3.10.0-862.14.4.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Sep 26 15:12:11 UTC 201864位就下载对应64位mysql-8.0.1.

2020-11-24 10:07:06 1458 4

原创 mysql自动备份脚本

方案一:[root@localhost ~]#mkdir -p /opt/mysql_bak/ [root@localhost ~]#cd /opt/mysql_bak/ [root@localhost mysql_bak]# vim mysql_bak.sh #!/bin/bash #auto backup mysqldb #by authors kanghui 2016-06-12 #这是一个简单化到MYSQL数据库逻辑备份脚本 #1.定义数据库链接,目标库信息 MY_...

2020-09-22 17:42:21 247

原创 JAVA中对list使用stream对某个字段求和

//1.对int类型list进行求和Integer[] integerArray = {1, 3, 5, 10, 18};List<Integer> list = new ArrayList<>(Arrays.asList(integerArray));IntSummaryStatistics summaryStatistics = list.stream().mapToInt((s) -> s).summaryStatistics();System.out.pr.

2020-08-20 16:31:12 7481 1

原创 List使用Iterator遍历的坑

写法一: Iterator<QcSampleDTO> it = qclist.iterator(); //排除尾箱容器 while (it.hasNext()) { if(it.next().getContainerId().equals(tailDTO.getContainerId()) && it...

2020-07-03 17:34:46 591

原创 从一个git仓库迁移代码到另一个git仓库

如果A是已有仓库,B是新建立的空仓库。1、在本地拉一下(git clone)A仓库的代码,或者是git pull 下最新的代码。2、git remote# 查看本地连接的有哪些 远程仓库,默认是 origin3、git remote add origin2(这个名字随便起) master#这里是在本地添加一个新的远程连接4、git remote set-url ori...

2020-04-20 12:18:09 2545

原创 java8 lambda 统计list中对象的重复次数

package com.example.java8;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.stream.Collectors;/** * @Description TODO * @Author wuqingyan * Date 2020/3/...

2020-03-12 15:21:13 1173

原创 jenkins构建maven项目指令(Java -jar 和 tomcat)

tomcat 启动方式#!/bin/sh#kill tomcat pid#这句尤为重要export BUILD_ID=tomcat_mobile_build_id# 1.关闭tomcatpidlist=`ps -ef|grep tomcat_mobile|grep -v "grep"|awk '{print $2}'`function stop(){if [ "$pidlis...

2019-11-04 17:31:21 265

转载 RPC原理解析

1.RPC原理解析1.1 什么是RPCRPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升...

2019-09-05 11:46:06 100

原创 SpringBoot项目打成jar包后无法读取到resource下的文件

背景:最近工作研究整合ureport打印功能,需要在默认创建模板的时候保存一个基础模板。需要读取默认模板文件转成字符串类型保存到数据库。目录结构如下首先用第一种方式读取配置文件: public String xmlToString(){ SAXReader saxReader=new SAXReader(); Document d...

2019-08-19 18:04:02 5743 1

原创 Request header is too large

后台报这样的错java.lang.IllegalArgumentException: Request header is too large原因:请求头超过了tomcat的限值。本来post请求是没有参数大小限制,但是服务器有自己的默认大小。解决:处理办法:在server.xml中<Connector connectionTimeout="20000" port="8080" p...

2019-07-30 10:58:36 363

原创 springboot整合CXF发布webService和动态调用

不说闲话,直接附上所有源码。1.pom文件引入jar包 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> ...

2019-05-17 11:35:51 2461

转载 java的动态代理机制详解

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口...

2019-01-23 17:19:11 103

转载 git stash 用法总结和注意点

常用git stash命令:(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。(2)git stash list  :查看stash了哪些存储(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如...

2018-11-09 17:09:36 379

转载 在IntelliJ IDEA 中创建运行web项目

安装工具1、JDK7+2、IntelliJ Idea 工具(下载安装后,网上找注册码破解即可)3、tomcat7+ 解压缩版 明确两个概念:1、Project:类似于eclipse的workspace概念2、Module:类似于eclipse的工程项目概念当然,实际开发中最好是一个Project对应一个module。 【1、创建一个项目】入口首次...

2018-10-10 11:10:59 4652

转载 Mysql 8.0修改密码

1、mysql -u root -p '原来的密码'   //进入数据库中2、show databases;3、use mysql;4、使用下面的语句修改密码:    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';          ALTE...

2018-10-09 22:13:34 238

转载 volatile关键字

一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需...

2018-10-09 11:12:40 123

转载 nginx 反向代理和负载均衡

1.nginx负载均衡  网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。  nginx不单可以作为强大...

2018-10-08 16:45:06 126

转载 一个http请求发送到后端的详细过程

  首先HTTP协议(HyperText Transfer Protocol,超文本传输协议)是一个应用层的协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是客户端浏览器或其他程序与Web服务器 之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。我们在浏览器的地址栏里输入的网站地址叫做URL (U...

2018-10-08 16:35:13 5370

原创 JAVA中循环删除list中元素的方法总结

1、for循环遍历listfor(int i=0;i&lt;list.size();i++){ if(list.get(i).equals("del")) list.remove(i);}   这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素...

2018-09-27 14:50:55 2456 1

转载 java发送邮件带url、html

创建一个密码验证器类package com.mail.test; import javax.mail.Authenticator;import javax.mail.PasswordAuthentication; public class MailAuthenticator extends Authenticator { public MailAuthenticator(St...

2018-09-20 11:46:14 2422 2

转载 git创建与合并分支

首先,我们创建dev分支,然后切换到dev分支:$ git checkout -b devSwitched to a new branch 'dev'git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:$ git branch dev$ git checkout devSwitched to branch 'dev'然后,用git branch...

2018-08-21 17:15:12 132

原创 taskExecutor使用

applicationContext.xml: &lt;bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"&gt; &lt;property name="corePoolSize" value="10" /&gt;

2018-08-09 20:12:12 1845

转载 Java通过Spring配置发送QQ邮件

Java通过Spring配置发送QQ邮件:1, 通过Maven依赖相关Jar包&lt;dependency&gt; &lt;groupId&gt;javax.mail&lt;/groupId&gt; &lt;artifactId&gt;mail&lt;/artifactId&gt; &lt;version&gt;1.4&lt;/version&gt;&

2018-08-07 11:20:47 426

转载 RedisTemplate常用集合使用说明-boundValueOps

boundValueOps()方法的使用:       首先要定义一个BoundValueOperationsJava代码  BoundValueOperations boundValueOperations = redisTemplate.boundValueOps("bvo");   1.append(String value)     在原来值的末尾添加值Java代码  boundValue...

2018-07-16 14:07:13 32804 1

转载 ByteBuffer常用方法详解

缓冲区(Buffer) 缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储,这部分预留的内存空间就叫做缓冲区:使用缓冲区有这么两个好处:1、减少实际的物理读写次数2、缓冲区在创建时就被分配内存,这块内存区域一直被重用,可以减少动态分配和回收内存的次数举个简单的例子,比如A地有1w块砖要搬到B地由于没有工具(缓冲区),我们一次只能搬一本,那么就要搬1w...

2018-07-14 20:25:13 2258

转载 IDEA中Git冲突的产生及解决方法

1.1 冲突产生的原因冲突产生的根本原因是:两个人修改了同一个文件的同一块区域,在前者已经提交代码到远程仓库的情况下,后者修改代码前没有使用pull命令更新代码,而是修改完代码后再使用pull命令,这时就会产生冲突。这也是最常见的冲突,下面介绍解决冲突的办法也主要针对这种冲突。1.2 预防冲突的发生在修改代码前,使用pull命令更新代码,能够保证在开始修改代码前本地的代码与远程仓库中的版本一致,这...

2018-07-12 10:25:52 17128

转载 IntelliJ IDEA 中git的使用图文教程

项目管理离不开版本控制,目前主流版本控制工具大概就是SVN和Git,至于两者有啥区别这里就不详细介绍了,如果有不明白的可以上网查资料,后期如果有机会我再开篇栏目细说,而且现在市场上Git的使用率已经远远高于SVN。我们在用IDEA开发项目的时候如何熟练使用Git来控制代码版本呢?一、安装Git使用Git当然需要先安装Git,安装过程就不详细说明了,按装好之后,打开IDEA进入设置界面(可以直接点击...

2018-07-12 10:25:09 1590

空空如也

空空如也

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

TA关注的人

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