自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot-admin集成到现有springboot项目中

刚好最近疫情原因,导致不方便进业主方场地进行多系统开发,就学习了springcloud全家桶。刚好学到springboot-admin系统监控,发现可以单独拆出来用,就顺手装到自己项目上去玩了。一、springboot-admin用于管理和监控SpringBoot应用程序。springboot-admin分为服务端Spring Boot Admin Server和客户端Spring Boot Admin Client,使用时,先开启服务端,然后启动客户端自动注册就可以使用啦。本身集成还是很简单的,一般

2022-03-30 15:56:16 1295 1

原创 数据库事务理解及脏读、不可重复读、幻读解释及隔离级别

一、什么是事务?事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:1,原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。这里常被用来举例的银行转账:A给B转了1000元,A的账户先减1000,B的账号再加1000,得一起执行成功。2,一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。3,隔离性由

2022-01-17 16:01:26 629

原创 mysql的sql语句百万级优化示例01

这个优化主要帮一个小伙伴优化的。一、基本情况说明大概情况如下:1、数据量,不算大,175W左右,一般而言,正常的sql语句,mysql在百万以下,基本不用特意去优化,只要不是写的特别烂,都能3s内跑出来。2、业务需求,有学生表和打卡表,学生表2W左右,打卡表175W左右,并且打卡表增加速度还是蛮快的,一天两万不到的速度增加,所以优化的必要性还是有的,而且目前就已经不满足业务需求了,超时了。具体需求是,统计某天没打卡的学生名单。3、小伙伴给我的原生sqlSELECT stu.* FROM t

2022-01-12 10:48:01 460 2

原创 mysql的sql语句优化基本要点

一、mysql查询慢的原因1、查询语句写的差劲比如常规是小表驱动大表,但sql写成了大表驱动小表,自然就慢了;然后查询嵌套太多层,中间表太多,自然查询慢等等。2、索引失效(建了,但失效了,不是没建)后面具体描述,同时整理避免方法。3、关联查询太多join(表设计本身缺陷或不得已的需求)按阿里的开发手册,不允许三表以上的联表查询,最多三表,这种情况,一般是空间换时间,比如记录某个数据是谁操作的,一般记录用户唯一id即可,然后联表查用户名称,但是,为了速度,可以把用户名称一起记录,就不用联表查了,用

2022-01-11 16:21:05 197

原创 jdk8新特性

JDK8相对之前升级,个人理解主要是代码简洁度的提升,对JVM性能和其他的优化感觉不是很大,至少一般项目区别不大,对于多数开发人员而言,还是代码风格更简洁了,但如果不熟悉,阅读难度也加大了,不管自己用不用,还是学习下比较好,不然同事写的代码,可能你就看不懂啦。一、 Lambda 表达式lambda表达式,个人来理解,基本就是匿名内部类简化了,不需要写那么多了,也减少了命名,啊,做开发的都很烦对各种类、方法命名吧,脑壳痛。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用La

2021-12-08 11:23:15 326

原创 linux安装mysql5.7及一些简单的配置

之前公司用的linux版本mysql数据库都是5.6版本,用的rpm包安装的,一般情况下也够用,结果又推出一个新框架,强制使用视图,结果5.6版本不支持子视图查询,如果强行用会有很多额外的子视图,维护要命,只能升级到mysql5.7版本,以下是我找到最为方便的安装步骤。一、下载mysql源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm二、安装mysql源yum localinstall mysql

2020-08-07 14:17:46 235

原创 java多线程--02创建多线程方法及各种优劣比较

一、常规来说,创建线程的方式有四种,即:继承Thread类重新run方法、实现Runnable接口重写run方法、实现Callable接口重写call方法、以及线程池-Executor。二、继承Thread类重新run方法继承Thread类,重写run方法import java.util.Date;public class MyThread extends Thread { @Override public void run() { for (int i = 0;

2020-08-04 22:24:56 99

原创 java多线程编程--01 概念

一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多个线程。进程和进程之间不共享内存,也就是说

2020-08-04 22:12:17 90

原创 定时进行服务器数据备份

一、写对应数据库的备份脚本我自己需要备份的是,MongoDB和mysql数据库的。1、MongoDB#!/bin/bashtoday_date=`date "+%Y%m%d"`# 创建备份当天日期文件夹mkdir $today_date# 导出test库/opt/mongodb/bin/mongodump -h 127.0.0.1 --port 27017 -u root -p root -d test -o /opt/mongo_back/$today_date/ --authentic

2020-06-24 15:46:12 246

原创 springboot整和activeMq

一、首先准备activeMq服务1、从官网下载http://activemq.apache.org/2、下载解压得到如下目录结构3、目录说明:bin存放的是脚本文件conf存放的是基本配置文件data存放的是日志文件docs存放的是说明文档examples存放的是简单的实例lib存放的是activemq所需jar包webapps用于存放项目的目录4、启动进入bi...

2020-04-07 17:19:38 135

原创 对外对接加密设计与实现

因为需要和别的公司系统对接,因此常规的账号密码登录验证就不怎么合适了,因为账号密码基本一直不会变,容易被拦截直接使用,而且如果运维不知道设计情况,把对接账号删除了,就更好玩了,所以根据对接系统保密性要求,做了两套对接规则。一、对称加密对接1、设计思路:请求方根据约定的钥匙+秘钥+时间戳按规定顺序加密生成验证码,在请求中发送给被请求方,被请求方也按约定的钥匙+秘钥+时间戳进行加密,比对加密后的验...

2020-03-03 15:06:24 450

原创 kettle数据库工具

一、kettle数据库工具,我认为主要用来做数据同步工作比较好用,其他方面肯定也有应用,工具有什么功能是一回事,用户怎么用,用来干嘛看用户操作够不够骚。二、目前kettle较高版本基本都需要至少JDK.18起步,尽量不要在开发或者生产环境用低于该版本的jdk,启动比较麻烦,或者会遇到其他问题。三、使用1、启动。Windows系统直接双击Spoon.bat即可,Linux系统Spoon.sh,...

2020-02-21 10:05:01 508

原创 linux 服务器安装安全狗

一、因为一个联合开发的系统中恶心病毒了,导致文件被锁死了,业主方要求我们全部装上防护软件,对比分析了半天,觉得还是安全狗比较合适,初始版本免费,如果需要再购买升级就行了,就选这个了。二、安装过程1、直接在创建好的文件夹里,输入下载命令和地址:wget http://down.safedog.cn/safedog_linux64.tar.gz2、解压文件: tar -zxvf safedog...

2019-12-30 15:45:39 637

原创 maven打包,因为scope标签配置,导致无法将包打进jar

依赖的Scopescope定义了类包在项目的使用阶段,scope分为compile,test,runntime,provided,system五种。1、compile默认的就是compile,compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。2、testtest表示依赖项目仅仅参与测试相关的工作,包括测...

2019-11-19 10:12:15 1893

原创 springboot打包的jar项目,不需要安装jdk环境启动

因为服务器上是JDK7,而springboot至少用JDK8才行,但是又因为是很老的项目,不是很清楚能不能换JDK8,有风险,因此选择以前项目用JDK7,而新的springboot用JDK8.步骤一:打包好springboot项目为jar包。步骤二:找到安装好的JDK目录,将jdk和jre一起复制出来。步骤三:将这三个文件放到同一个文件夹下,然后新建一个bat文件。步骤四:bat文件中写入...

2019-06-21 11:44:07 7001 3

原创 windows中redis的基本配置与启动

首先,Redis在windows操作系统不需要安装,只需要配置文件然后就可以启动啦一、常用配置redis.windows.conf为redis配置文件,常用配置如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以...

2019-06-20 14:18:37 659

原创 linux环境下,tomcat设置为开机自启

1、切换到tomcat/bin目录下,用vi startup.sh文件,按i编辑。2、然后再startup.sh的文件开头的地方添加如下内容,按Esc,:wq退出保存#chkconfig: 2345 80 90 #description:tomcat auto start #processname: tomcat3、编辑catalina.sh文件:vi catalin...

2019-05-23 16:56:48 480

原创 linux系统设置开机自启shell文件和redis、mongondb

一、开机自启shell文件1、cd /etc/rc.d/init.d/ 进入文件夹,vi test.sh文件创建并编辑,按i进行编辑。2、首行添加:#!/bin/sh# #chkconfig: 2345 80 90 #description: test作用是告诉系统这个是.sh文件,同时拥有开机执行权。3、然后编写执行的代码,如:cd /opt/handlernohup ...

2019-05-23 16:41:03 171

原创 服务器返回400错误

运维的项目,莫名其妙的有些接口报了400错误,和前端一起检查了传参格式、传参实体类是否一一对应等,因为入参有中文,顺带把编码格式也查了,但都没问题,而且最神奇的是,正式服该接口就报400错误,在自己搭建的测试服上跑完全相同的入参,就没问题,搞得头皮发麻,最后到处乱转博客时,看到有个人说,tomcat高版本可能导致url中含有特殊字符,而导致报400错误。最后才想到,前几天因为等保检测的原因,运维...

2019-03-29 09:36:34 18841 3

原创 Windows远程连接,发生验证错误 要求的函数不受支持

有两种情况,因为Windows分为企业版和家庭版,两种处理不一样。一、家庭版1、打开注册表(win+r),然后输入:regedit2、 找到目录HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters,修改AllowEncryptionOracle的值为2。...

2019-03-29 09:15:04 148

原创 对称加密、非对称加密理解

一、对称加密首先,对称加密是指发送方和接收方,都使用一套加密方式进行加密。比如a向b发送消息:holle,按英文字母分别向后移动12345进行加密,那么得到的加密后的是消息是:isooj,将isooj发送给b,b再按按英文字母向前移123456位,则解密出holle这个正确的消息。这就是对称加密。但是对称加密存在两个问题,一是加密方式是相同的,只要拿到加密方式,那铁定是谁都可以解密出来;二是即...

2019-03-19 10:07:49 298

原创 从零部署Windows服务器踩的坑

一、本来再做一个110的安保项目的,临时接到一个祖传的ssh项目运维,为了了解和测试这个系统,需要搭建一个测试服务器,但是因为有一个桌面应用存在,只能使用Windows服务器,蛋疼。。。然后只能自己搭一个。二、因为是Windows的一个测试服务器,就想着直接部署一个eclipse,这样方便debug前端接口参数,环境装的jdk1.7(cmd确定装好了),但是怎么eclipse打不开,最后换成jd...

2019-03-12 15:25:57 244

原创 mongondb排序时报错,内存溢出

做业务时,需要对获取的列表按时间由新到旧排序,但是超过了一定数量就报错了,错误如下:"exception":"org.springframework.data.mongodb.UncategorizedMongoDbException","message":"Query failed with error code 96 and error message 'Executor error du...

2019-01-17 16:11:35 762

转载 理解分布式和集群的区别

简单理解:分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上一句话,就是:“分头做事”与“一堆人”的区别图文理解:详细理解:单机结构我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。那么,单机结...

2019-01-17 10:29:06 99

原创 java后台导出word,详细过程及趟过的坑

一、我使用的java导出word,由XML+FreeMarker来实现的,因此需要以下工具:1、office。这里不能使用wps,因为wps由word文档转为xml文档时,解析会发生错误,导致最终模板和设想的样子有一定的区别。2、xml编辑工具,这里我推荐使用Firstobject free XML editor。3、引用FreeMarker的jar包。org.freemarkerf...

2018-10-30 17:25:44 24458 20

空空如也

空空如也

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

TA关注的人

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