工作笔记
文章平均质量分 52
justdoit_potato
爱编程,爱音乐
展开
-
sqlserver把某个字段多行逗号隔开
select distinct STUFF( (select ','+name from tb for xml path('') ),1,1,'' ) as namefrom tb原创 2022-04-06 16:03:24 · 1983 阅读 · 0 评论 -
直接替换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 · 1676 阅读 · 0 评论 -
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 · 200 阅读 · 0 评论 -
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 · 3104 阅读 · 0 评论 -
多个相同的对象存储在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 · 1397 阅读 · 0 评论 -
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 · 664 阅读 · 1 评论 -
安装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 · 2301 阅读 · 0 评论 -
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 · 471 阅读 · 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 · 278 阅读 · 0 评论 -
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 · 554 阅读 · 1 评论 -
一台linux 安装 两个 mysql8.0
linux 安装 mysql8.0 两台1.先看一下当前系统版本再下载对应的包:cat /proc/versionLinux version 3.10.0-862.14.4.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (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 · 1575 阅读 · 4 评论 -
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 · 8101 阅读 · 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 · 624 阅读 · 0 评论 -
从一个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 · 2929 阅读 · 0 评论 -
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 · 314 阅读 · 0 评论 -
Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式,JSON可以有两种格式,一种是对象格式的,另一种是数组对象,{"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格转载 2017-10-24 17:33:32 · 239 阅读 · 0 评论 -
IntelliJ IDEA 2017 下载和破解方法
一、IntelliJ IDEA 2017 下载地址 http://www.jetbrains.com/idea/#chooseYourEdition要下载付费版的,免费版的很多功能不能用二、破解下载破解文件JetbrainsCrack-2.6.2.jar下载地址: http://download.csdn.net/detail/gnail_oug转载 2018-04-08 16:33:34 · 429 阅读 · 0 评论 -
SOA和微服务架构的区别
链接:https://www.zhihu.com/question/37808426/answer/108849287 以一个公司为例:有基层员工 有管理层 有老板,最初大家都听老板指挥,谁干什么谁干什么,根据需要,你可能今天干A事情,明天干B事情,后来人越来越多了,事情也越来越多了,做事情的效率越来越多,管理也很混乱,就开始做部门划分(服务化),专门部门做专门事情的,IT部门只做研原创 2018-04-08 15:17:35 · 388 阅读 · 0 评论 -
SVN使用教程之-分支/标记 合并
转载地址: http://energykey.iteye.com/blog/512745 首先说下为什么我们需要用到分支-合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk转载 2018-03-14 11:36:54 · 273 阅读 · 0 评论 -
JSP页面显示两位小数
1 如果是el表达式取得值 用:fmt标签 pattern="#.00"表示规定必须保存2位小数,如果最多保存2位,使用 pattern="#.##"2 如果是js代码的话 用data.list[i].price.toFixed(2)原创 2018-03-22 19:35:57 · 1025 阅读 · 0 评论 -
HLS,HTTP,RTMP协议的区别:
用HTTP方式: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保密性不好。用RTMP方式: 通过NetConnection连接到FMS(Flash...转载 2018-03-01 16:10:11 · 1050 阅读 · 0 评论 -
Tomcat下部署多个项目
同一端口号的多个项目部署 添加:[html] view plain copy Context path="/route" reloadable="true" docBase="/home/develop/tomcat-7.0.54/flatrass"/> Context path="/route2" reloadable="true" docBase转载 2017-12-04 10:52:43 · 1153 阅读 · 1 评论 -
java发送邮件
package com.wx.web.utils; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; /** * 邮件工具类 */ public class原创 2017-09-01 18:00:21 · 190 阅读 · 0 评论 -
redis密码设置、访问权限控制等安全设置
redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下。1.比较安全的办法是采用绑定IP的方式来进行控制。 请在redis.conf文件找到如下配置# If you want you can bind a single interface, if the bind option is not# specified all the interf转载 2017-11-15 19:51:12 · 678 阅读 · 0 评论 -
Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法
第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体会卡多久就没测试了。google、baidu都没找到解决方法。幸亏UCloud的技术支持人员给出了解决方案。找到jdk1.x.x_xx/jre/lib/security/java.securi转载 2017-10-17 15:46:40 · 292 阅读 · 0 评论 -
CAS实现单点登录SSO执行原理探究
一、不落俗套的开始1、背景介绍单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。2、盗一张学习CAS绝大多都看过的图以及执行部分分析转载地址:https://blog.csdn.net/javaloveiph...转载 2018-05-29 10:47:31 · 192 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
maven常用命令
3.1. Maven3.1.1. Maven介绍我们使用maven构建应用环境,因此我们先来简单介绍maven。Maven是什么?如何回答这个问题要看你怎么看这个问题。 绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。构建工程师和项目经理会说Maven是一个更复杂的东西:一个项目管理工具。那么区别是什转载 2016-04-14 10:41:43 · 199 阅读 · 0 评论 -
SpringBoot项目打成jar包后无法读取到resource下的文件
背景:最近工作研究整合ureport打印功能,需要在默认创建模板的时候保存一个基础模板。需要读取默认模板文件转成字符串类型保存到数据库。目录结构如下首先用第一种方式读取配置文件: public String xmlToString(){ SAXReader saxReader=new SAXReader(); Document d...原创 2019-08-19 18:04:02 · 5790 阅读 · 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 · 431 阅读 · 0 评论 -
在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 · 4693 阅读 · 0 评论 -
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 · 278 阅读 · 0 评论 -
volatile关键字
一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需...转载 2018-10-09 11:12:40 · 138 阅读 · 0 评论 -
nginx 反向代理和负载均衡
1.nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。 nginx不单可以作为强大...转载 2018-10-08 16:45:06 · 147 阅读 · 0 评论 -
一个http请求发送到后端的详细过程
首先HTTP协议(HyperText Transfer Protocol,超文本传输协议)是一个应用层的协议,是用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是客户端浏览器或其他程序与Web服务器 之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。我们在浏览器的地址栏里输入的网站地址叫做URL (U...转载 2018-10-08 16:35:13 · 5714 阅读 · 0 评论 -
JAVA中循环删除list中元素的方法总结
1、for循环遍历listfor(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i);} 这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素...原创 2018-09-27 14:50:55 · 2496 阅读 · 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 · 2512 阅读 · 2 评论 -
spring mvc 发送http post请求返回的中文数据乱码
发送http post请求返回的数据中文乱码,在网上搜了一下,找到一个相关的资源,结果发现用不了,最后自己试着改了一下,终于解决了这个乱码的问题。public static String post(String url, String charset, Map params) throws IOException { HttpURLConnection conn = null; Out原创 2017-10-24 17:19:42 · 690 阅读 · 0 评论 -
理解OAuth 2.0
原作者:阮一峰http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htmlOAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,转载 2017-10-24 10:42:37 · 213 阅读 · 0 评论 -
urldecode的用法
URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。URLEncode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是基于UTF-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decod转载 2016-10-18 15:58:40 · 2787 阅读 · 0 评论