自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录docker-安装-tomcat-mysql8 运行Web项目

docker 安装参照菜鸟教程liunx:https://www.runoob.com/docker/centos-docker-install.htmlwin7:https://www.cnblogs.com/canger/p/9028723.html (操作步骤)拉取tomcat镜像:docker pull hub.c.163.com/library/tomcat:late...

2019-06-20 23:24:32 233

原创 mysql 之 explain用法和结果的含义

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:explainselectsurname,first_nameforma,bwherea.id=b.idEXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:...

2019-05-17 11:51:29 92

原创 J V M 之 内存调优

参数设置背景 在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等。这是个让开发人员很痛苦、也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生。所以我们不得不通过不断的审查、优化自己的代码结构。但是有时我们会发现有些时候不单单是通过重构自身的代码就能够解决这样的问题,因为也可能是由于我们对java虚拟机运行时的内存分配的...

2019-05-10 10:37:29 106

原创 MySQL数据库规范解读

一、基础规范(1)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间(由于移动设备原因最好使用utf8mb4)(2)禁止使用存储过程、视图、触发器、Event解读:高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅...

2019-04-04 09:18:22 159

原创 docker 安装redis 挂载到宿主机

1.拉取镜像docker pull redis2.准备好目录映射mkdir -p /my/docker/redis/redis01/confmkdir -p /my/docker/redis/redis01/data3.下载一个redis.conf文件cd /my/docker/redis/redis01/confwget http://down...

2020-04-13 14:40:02 385

原创 Nginx限制IP访问频率

在我们访问一个网页的时候,总会有若干个http请求发出,比如:阅读量、点赞数,这些一般都是通过ajax动态变更的,如果接口没做校验处理,那么很容易就会被人利用来攻击网站。以往不太会用nginx的时候,用Java写过一个限制IP访问的处理器,可以根据IP来限制每个接口的访问频率,虽然写的很戳,但是也能勉强达到效果(但还是有bug):限制每一个IP对同一个接口的疯狂调用,这次我们来用nginx处理...

2020-04-13 10:55:02 3074 2

原创 RabbitMq:web管理端

1 简介rabbitmq-management是RabbitMq web管理端,用的是erlang的cowboy框架进行开发。web页面包括Overview(概述)、Connections(连接)、Channels(通道)、Exchanges(交换器)、Queues(队列)、Admin(用户管理)。2 Overviewimage.png2.1 overview->Tota...

2020-03-31 11:02:32 488

转载 Docker 容器磁盘占用100%(/var/lib/docker/overlay2空间占用很大)

项目本身对磁盘要求不高,因此默认使用的是40G磁盘空间的云服务器),于是又进入了漫长的踩坑之路首先查看磁盘占用df -h结果显示多条如下数据overlay 40G 40G 0G 100% /var/lib/docker/overlay2/{id}/merged百度到了清理docker空间的方法,可用于清理一些无用的docker数据...

2020-02-15 17:41:35 12709 10

原创 解决nginx使用proxy_pass反向代理时,cookie丢失的问题

1. 如果只是host、端口转换,则cookie不会丢失。例如:location /project {proxy_pass http://127.0.0.1:8080/project;}通过浏览器访问http://127.0.0.1/project时,浏览器的cookie内有jsessionid。再次访问时,浏览器会发送当前的cookie。2. ...

2019-12-05 10:57:13 778

原创 docker 安装 redis

安装官方Redis镜像并配置密码docker run --name myredis -p 6380:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "mypassword"

2019-11-25 13:42:12 182

原创 Docker 安装部署RabbitMQ

这里注意获取镜像的时候要获取management版本的,不要获取last版本的,management版本的才带有管理界面。获查询镜像 docker search rabbitmq:management可以看到如下结果:[root@localhost ~]# docker search rabbitmq:managementINDEX NAME ...

2019-11-22 14:41:49 146

原创 Keepalive启动报错,Fail to start LVS and VRRP High

Keepalive启动报错,Fail to start LVS and VRRP High Availability Monitor.输入:systemctl status keepalive,显示信息如下:再输入:journalctl -xe解决办法:chmod 644 keepalived.conf...

2019-11-21 11:42:11 5177 3

原创 java8新特性-Stream流

1. Stream 流介绍Stream 不同于其他集合框架,它也不是某种数据结构,也不会保存数据,但是它负责相关计算,使用起来更像一个高级的迭代器。在之前的迭代器中,我们只能先遍历然后在执行业务操作,而现在只需要指定执行什么操作, Stream 就会隐式的遍历然后做出想要的操作。另外 Stream 和迭代器一样的只能单向处理,如同奔腾长江之水一去而不复返。由于 Stream 流提供了惰性计...

2019-11-19 14:39:31 150

原创 Spring Boot Cache使用与整合

一:Spring缓存抽象Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发; Cache接口为缓存的组件规范定义,包含缓存的各种操作集合; Cache接口下Spring提供了各种...

2019-11-06 22:56:17 92 1

原创 o(1), o(n), o(logn), o(nlogn)

由于平时接触算法比较少,今天看资料看到了o(1),都不知道是什么意思,百度之后才知道是什么意思。 描述算法复杂度时,常用o(1), o(n), o(logn), o(nlogn)表示对应算法的时间复杂度,是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据...

2019-11-01 10:11:41 126

原创 spring之MessageSource 国际化那点事

Spring对国际化这一块支持还是蛮友好的,上手也是蛮简单,但是加载流程还是需要大家掌握的,不然会少定义一个资源文件会让你莫名其妙的出现一些bug。接下来主要分享一下关于这一块的基本知识。MessageSourcepublicinterfaceMessageSource{@NullableStringgetMessage(Stringcode,@Nul...

2019-10-24 14:52:54 598

原创 拦截机制中Aspect、ControllerAdvice、Interceptor、Fliter之间的区别详解

在项目的开发中,在某些情况下,我们需要对客户端发出的请求进行拦截,常用的API拦截方式有Fliter,Interceptor,ControllerAdvice以及Aspect。上图是spring中的拦截机制,如果出现异常的话,异常的顺序是从里面到外面一步一步的进行处理,如果到了最外层都没有进行处理的话,就会由tomcat容器抛出异常。下面我将详细的解释这四个拦截方式的不同。因为只是演示就不...

2019-10-23 23:42:01 1791 1

原创 postman 模拟前端传递复杂对象及@RequestBody注解说明

后台需要接收的对象格式如下:使用postman模拟请求:{ "name": "onion", "arrStr": [ "1", "2", "3", "4", "5" ], "strList": [ "1", "2", "3...

2019-10-23 15:21:06 5487 1

原创 Executor Framework】——Callable用法实践

https://www.jianshu.com/p/a3baf75486b5

2019-10-19 21:47:46 81

原创 MYSQL5.7版本sql_mode=only_full_group_by 异常

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY ...

2019-09-25 16:25:06 107

原创 linux 设置JAVA_HOME 环境变量(本文只做笔记记录,方便自己使用。)

找到 /etc/profile 文件添加以下配置即可: 我的jdk 路径/usr/local/jdk1.8.0_181unset iunset -f pathmungeexport JAVA_HOME=/usr/local/jdk1.8.0_181export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/...

2019-09-24 11:14:19 1096

原创 SpringBoot引入第三方jar包或本地jar包的处理方式,爬坑

由于之前引入了一个本地Jar包在本地测试环境下项目是可以正常运行的,但是发布到Linux服务器上就一直报找不到Jar包错误,后面发现是Maven 打包的问题我要将smartgild.jar 这个包引入到 platform-mobile-api.jar 这个项目里打包后jar包的路径在BOOT-INF\lib目录下在Resource 文件下新建一个包 jar 后...

2019-09-05 17:05:59 776

转载 Spring Boot项目中发送邮件

项目地址码云 https://gitee.com/txiaoqiang/springboot_mail.git(发送邮件) 码云 https://gitee.com/txiaoqiang/javamails.git (读取邮件,发送邮件)邮件发送关键点使用spring boot 项目,我们可以节约很多的工作,spring boot将一些基础的配置都帮我们约束好了,我们只需要按照标准去配...

2019-08-05 17:04:52 281

转载 Mysql 统计某一天, 近七天,某一月, 某一年的数据用户统计报表业务

今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY)...

2019-08-05 15:21:15 487

原创 Mysql 用于统计的时间函数用法

今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) ...

2019-08-05 15:01:04 59

原创 centOS-安装 五件套 JDK,tomcat,redis,nginx,mysql

JDK:一、手动解压安装包:1.下载jdk1.8,进入http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,复制下载目录# wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef...

2019-07-31 22:08:16 286

原创 Validation分组校验

定义分组类每个分组类只需要一个接口就可以了AddGrouppublic interface AddGroup {}UpdateGrouppublic interface UpdateGroup {}校验规则上添加分组/** * @author dong */@Datapublic class UserForm implements Serializ...

2019-07-25 17:39:21 966

原创 Mysql 启动慢查询日志 (不用重启) docker-mysql容器同样适用

1. 查看mysql系统参数mysql> show variables like "%slow%";+---------------------------+-------------------------------+| Variable_name | Value |+--------------...

2019-07-03 16:33:35 1038

原创 Linux查看物理CPU个数、核数、逻辑CPU个数

CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数查看CPU信息(型号)[root@AAA ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30G...

2019-07-02 09:10:47 85

原创 docker安装mysql8 挂载宿主机

使用Docker查询MySQL 版本 拉取mysql 镜像 : docker pull mysql运行mysql镜像并且挂载到宿主机目录上:sudo docker run -p 3307:3306 --name mysql8 -v /my/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qq1597357...

2019-06-28 11:11:21 541

原创 创建新Docker容器时出现“The container name "/mytomcat" is already in use by container.”问题的解决办法

创建新Docker容器时出现“The container name "/xxx" is already in use by container xxx...”问题的解决办法列出本地镜像:1.# docker images2.创建新的容器:# docker run -it -d -p 8080:8080 --name mytomcat hub.c.163.com/library/t...

2019-06-19 15:07:06 12857 1

原创 SpringBoot-整合logback 日志详解

默认情况下springboot是不将日志输出到日志文件中,这里对日志框架的支持有两种配置方式:application.properties 或 application.yml(系统层面) logback-spring.xml (自定义文件方式)第一种方式比较简单,可做的事情也比较简单,比如:只能配置日志文件的路径、日志文件...

2019-06-18 13:22:09 126

原创 centos nginx 自启

实现这个功能其实非常简单,因为nginx已经给了支持。先来说一说实现的步骤:1.在/etc/init.d/下创建一个nginx文件,其实是一个脚本文件#在nginx插入以下代码#!/bin/bash# Startup script for the nginx Web Server# chkconfig: - 85 15# description: nginx is a Wor...

2019-06-11 17:34:19 139

原创 centos7 redis4.0.11后台自启配置

1.在/etc目录下创建redis目录2.拷贝前面的安装目录的配置文件到/etc/redis目录并改名为6379.confcp redis.conf /etc/redis/6379.conf3.将解压源代码目录utils中的redis的启动脚本复制一份放到/etc/init.d目录下并命名为redisd(通常都以d结尾表示是后台自启动服务)cp redis_ini...

2019-06-11 14:01:47 259

原创 Nginx反向代理,负载均衡,redis session共享,keepalived高可用

使用的资源:nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换。tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群。redis服务器一台,用于session的分离共享。nginx主服务器:192.168.50.133nginx备服务器:192.168.50.135tomcat项目服务器1:192.168.50....

2019-06-06 16:28:39 141

原创 maven打包 Compilation failure: 无法加载本地lib/下的jar包问题(程序包XXX不存在)

复制以下代码到POM.xml 文件即可: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId&...

2019-06-05 17:31:46 1181

原创 XSS攻击与CSRF攻击比较

XSS:Cross Site Scripting,跨站脚本攻击原理:网站webA的授信用户userA,利用网站合法接口输入或提交非法数据,而影响网站其他用户。比如网站webA有允许用户评论的入口,正常用户发布的评论可能是“我是评论!”,而userA发的评论是“<a href='http://www.xss.com'>点我进入大保健</a>”。网页显示评论的代码可...

2019-06-05 09:17:26 136

原创 SpringBoot使用JSR303参数校验并进行全局异常处理

SpringBoot使用JSR303参数校验开发web项目有时候我们需要对controller层传过来的参数进行一些基本的校验,比如非空,非null,整数值的范围,字符串的个数,日期,邮箱等等。最常见的就是我们直接写代码校验,这样以后比较繁琐,而且不够灵活。 不能总是写繁琐的代码来实现吧。使用JSR303来做参数校验就方便并且整洁很多了。pop引入依赖 12345...

2019-06-04 16:54:12 536

原创 springboot工程maven打包 Compilation failure 程序包不存在踩坑

最近公司使用springboot开发项目,使用的构建工具是maven,项目分了很多模块,并且模块之间还存在一定的依赖,比如说一个项目common是提供各项目通用的工具类,公共的类等例子:项目root,有module common,front,mall等其中front 和mall都依赖于common,将来需要上线部署的也是front和mall项目,所以两个项目是要进行打包,也就是这个打包操作...

2019-06-03 14:02:30 2801 1

原创 idea操作git远程回滚到某个提交节点或某个版本

1. 项目右键后,然后在“Show History”中找到当前版本(暂时取名newVersion)和想要回退到的版本(暂时取名oldVersion)2. 选择oldVersion版本右键点击“Copy Revision Number”复制oldVersion版本的版本号:3. 然后右击项目依次选中:Git->Repository->Reset HEAD4. ...

2019-05-27 10:03:46 3733

空空如也

空空如也

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

TA关注的人

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