- 博客(34)
- 收藏
- 关注
原创 基于SpringCloudGateway的动态路由配置
该项目基于SpringBoot+Eureka+Mybaties实现动态路由。1、引入SpringCloudGateway的maven依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.1.2.RELEASE</version
2020-09-03 10:34:49
790
1
原创 RabbitMQ安装简单步骤
RabbitMQ是基于Erlang(面向高并发的语言)语言开发,需要先安装Erlang。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。1、安装EPEL存储库yum -y install epel-releaseyum -y update2、安装Erlang:yum -y install erlang socat//检查Erlang版本erl -version3、下载RabbitMQ:wget https://www.rabbitmq.com/release
2020-08-28 16:20:41
227
原创 缓存相关(一)
缓存雪崩缓存雪崩是指,缓存层出现了错误或大批量的key到期,而查询数据量巨大。于是所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层也会挂掉的情况。解决方案:缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 如果缓存数据库是分布式部署,将热点数据均匀分布在不同搞得缓存数据库中。 设置热点数据永远不过期。缓存击穿缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在
2020-08-20 17:54:44
192
原创 Nginx、Redis安装配置
Linux Nginx 安装安装包下载:wget http://nginx.org/download/nginx-1.12.2.tar.gz或官网:http://nginx.org/en/download.html安装命令:#安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel#解压缩tar -zxvf nginx-1.12.2.tar.gz#执行配置命令cd nginx-1.12.2/./con
2020-08-20 14:03:51
763
原创 Nginx上传大文件超时问题
Nginx上传大文件问题在上传大文件时,如大的压缩包,,会导致Nginx超时,如下:(504 Gateway Time-out)如上传100M的大文件时,前段需要一直等待后端文件上传后的响应,文件过大,响应时间很长就会导致Nginx的超时。需要修改Nginx的相关如下配置:proxy_connect_timeout 1800;proxy_send_timeout 1800;proxy_read_timeout 1800;send_timeout 1800;d_timeout 1800
2020-07-17 15:22:40
2036
原创 maven更新失败问题解决
Maven无法更新私服jar包问题在通过maven setting文件配置私服信息<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings
2020-07-06 11:26:35
1286
原创 jackson时间格式化
jackson格式化时间时区问题一般配置方式一般在SpringBoot项目中,spring默认使用jackson转换日期,默认为格林威治时间,非东八区时间;通过对jackson的如下配置可在格式化时间时调整为东八区的时间。1、在对应时间字段上加jackson的格式化注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date startTime;2、在项目配置文件中进行jackson的配置,appl
2020-07-03 10:12:22
3422
原创 Nginx(一) try_files 配置
示例简单配置如下:server { listen 8088; server_name localhost; location / { root /home/demo/deploy/front/dist; index index.html index.htm; } location /dev-api/ {
2020-07-01 16:09:44
4809
原创 OSS文件上传/下载
1、文件上传public ReturnMessage<Map<String,Object>> uploadFile(String ossToken, String ossFileKeyPath,File file ) throws Exception { OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); try {
2020-06-08 11:50:18
506
原创 OSS文件打包下载
OSS文件打包下载:直接上代码如下:/** * 测试-批量打包下载 * @param ossFileKeyPaths 对应文件的 key 和 name * @param zipFileName 整个包的名称 * @param response */ @Override public void batchDownLoadOssFile(Map<String,String> ossFileKeyPaths, String
2020-06-08 09:27:56
1985
2
原创 SpringBoot 静态资源访问问题(一)
通过SpringBoot 进行静态资源的访问:@Configurationpublic class ResourcesConfig extends WebMvcConfigurationSupport { @Autowired private RepeatSubmitInterceptor repeatSubmitInterceptor; //重复访问 @Override protected void addInterceptors(Interceptor
2020-05-22 14:22:07
321
原创 MyBaties常见BUG
如下异常:nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='userName', mode=IN, javaType=class java.lang.String, jdbcType=null, n...
2020-03-27 17:27:36
232
原创 Jpa 相关注解
1. 一对一关联现假设有Person表和Address表,是一对一的关系,在Person中有一个指向Address表主键的字段addressID,所以主控方一定是Person,所谓主控方就是能改变关联关系的一方,Person只要改变addressID就改变了关联关系,所以Person是主控方,所以@JoinColumn写在Person类中@Data@Entity@Table(name...
2020-03-21 09:29:35
212
原创 java实体类型转换(利用java反射机制)
说明:通用实体类型:Snv.javapublic class Snv { private String name; private String sex; private Date birthday; private Double account; private Map<String,Fv> fvMap; pub...
2020-02-15 18:10:58
1746
原创 MyCat固定分片hash算法
本条规则是取id的二进制低10位(id二进制&1111111111)此算法的优点在于如果按照10进制取模运算,在连续插入1-10时候1-10会被分到1-10个分片,增大了插入的事务控制难度,而此算法根据二进制则可能会分到连续的分片,减少插入事务控制难度。<tableRule name="rule1"><rule><columns>user_...
2019-07-04 10:29:46
1253
2
原创 MyCat安装步骤说明
一、MyCat的安装1、首先需配置java运行环境(略)2、下载mycat安装包,或者直接进行下载,网址http://dl.mycat.io/ wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz3、解压至home/soft/mycat/文件夹下...
2019-06-24 18:38:25
1233
原创 MySQL主从配置说明文档
该文档的MySQL数据库基于Docker设置两个实例,MySQL-Master和MySQL-Slave两个。在使用Navicat for MySQL远程连接实例时,无法连接成功,需要进行如下设置:命令:docker exec -it mysql-master bash登录MySQL:root@1a435d89b15f:/# mysql -uroot -proot123进...
2019-06-24 11:56:14
263
原创 Redis使用操作命令
在windows的cmd命令窗口使用redis-cli.exe连接redis时保错:(error) ERR operation not permitted因为在Redis.conf或者redis.windows-service.conf或者redis.windows.conf文件中设置了requirepass密码,要求登录时输入密码。所以修改redis-cli.exe如下:redis-...
2018-11-16 11:29:12
133
原创 Linux 相关使用命令
tar.gz打包命令:解压到指定的文件夹tar -zxvf java.tar.gz tar -zxvf java.tar.gz -C /usr/java压缩命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名tar -zcvf java.tar.gz java --------tail -f test.log不断有内容被打印出来. 这时候中断第...
2018-11-16 11:27:31
113
原创 目录关系
./ 当前目录 ; ../ 父级目录 ; / 根目录例如:C:\Windows\demo\ 为子目录 其父目录是 C:\Windows\ 而 C:\ 为根目录
2018-11-16 11:21:37
164
转载 HashTable和HashMap的区别
HashMap、HashTable 两者的区别:HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值...
2018-10-25 20:34:46
124
转载 synchronized和volatile的使用方法以及区别
synchronized和volatile的区别:一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是 立即可见的。2)禁止进行指令重排序。 volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主...
2018-10-19 11:02:41
146
转载 java中的==与equals()分析与源码分析
1.关于== 首先要知道==用于匹配内存单元上的内容,其实就是一个数字,计算机内部也只有数字,而在java语言中,当==匹配时,就是比对两个单元内存的内容是否一样。 如果是原始类型,byte,boolean,short,char,int,long,float,double,就是直接比较他们的值。 如果是引用,比较的就是引用的值,引用的值可以被认为是对象的逻辑...
2018-10-19 10:16:47
138
原创 使用基于servlet的拦截器实现订单提交控制Demo-SpringAOP
首先提交订单前需要进行库存校验等一系列的准备操作流程,故可以在提交订单流程的基础上进行拦截器的预提交操作。具体Demo如下:首先编辑拦截器:package com.sanbang.interceptors;import org.apache.log4j.Logger;import org.springframework.web.servlet.HandlerIntercepto...
2018-10-12 10:12:20
360
转载 IDEA快捷键
【常规】Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速...
2018-10-10 11:03:59
83
转载 Spring 注解相关知识
一、@Resource 和 @Autowired的区别 @Resource默认按照名称方式进行bean匹配,@Autowired默认按照类型方式进行bean匹配 @Resource(import javax.annotation.Resource;)是J2EE的注解, @Autowired( import org.springframework.beans.factory...
2018-09-22 10:14:33
166
原创 Android&IOS与js交互(一)
/** *init* */var userk="";$(function() { // APP点击 var u = navigator.userAgent; // 获取用户设备 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端 if (isIOS) { setupWebViewJavascrip...
2018-09-22 10:14:00
241
原创 Mybaties相关的坑(一)
一、注意>=、<=、<> 等sql关系符号的使用如下代码:<select id="queryGoodsList" resultType="com.sanbang.vo.GoodsInfo" parameterType="java.util.Map"> select g.id, g.name, IFNULL((select s.salePri..
2018-09-22 10:06:39
281
原创 JDK动态代理相关(一)
一、JDK的动态代理代理模式最主要的就是有一个公共接口(Person),一个具体的类(Student),一个代理类(StudentsProxy),代理类持有具体类的实例,代为执行具体类实例方法。简单实现如下://公共接口类public interface Person { public String sayHello(); public String eating(...
2018-09-21 15:40:32
137
原创 javaweb EChart绘制折线图
首先引入echart的js包:<script type="text/javascript" src="front/resource/js/echarts.min.js"></script><script type="text/javascript" src="front/resource/js/jquery-1.9.1.min.js">
2018-07-31 15:06:52
2260
原创 Git相关常用命令
GitBash-GitHub- Git CMD: Git CMD:Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。- Git GUI: 其次就是Git GUI,Git GUI是Git Bash的替代品,他为Windows用户提供了更简便易懂的图形界面。- Git Bash: 最后是Git Bash,Git Bash是命令行操作1、登录:...
2018-07-25 11:18:12
5037
原创 MySql分组后统计数量
SELECT count(*) FROM 表名 WHERE 条件 这样查出来的是总记录条SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的会是每组的记录条数.select count(*) from (select ...from .....where ......group by .....) a;select count(*) from(...
2018-06-29 15:22:15
23360
1
原创 Java利用反射机制过滤集合内对象的属性字段
直接上代码:package com.demo.test;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Date;...
2018-06-23 11:00:36
3367
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人