4 村口张大爷

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

java获取请求IP

public static String getIpAddress(HttpServletRequest request) { String ipAddress = null; try { ipAddress = request.getHeader("x-forwarded-for"); if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIg.

2020-07-22 13:30:54

Nginx多配置文件

应用场景:主配置文件nginx.conf中指定包含其他扩展配置文件,从而简化nginx主配置文件,实现多个站点功能,方便配置文件的维护在nginx.conf中的http模块里添加include指令:include vhost/*.conf;#匹配vhost目录下的所有.conf文件在 vhost 文件夹中创建 test.com.conf 文件:server { listen 8000; server_name test1.com; location

2020-07-09 14:11:30

GitHub更新fork的代码

1、在本地装好github客户端,或者git客户端2、clone 自己的fork分支到本地,可以直接使用github客户端,clone到本地,如果使用命令行,命令为: git clone https://github.com/liuyanqing1023/WxJava.git3、增加源分支地址到你项目远程分支列表中(此处是关键),先得将原来的仓库指定为upstream,命令为: git remote add upstream https://github.com/Wechat-Group/

2020-07-01 19:13:22

Linux,centos环境java启动关闭重启shell脚本

#!/usr/bin/env bashINPUT=$2FILE_PATH=`readlink -f ${INPUT}`SERVICE=${INPUT##*/}SERVICE_NAME=${SERVICE%.*}DEPLOY_DIR=`pwd`JVM_OPTS="-server -Xms64m -Xmx128m"if [[ "$1" = "" ]];then echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|res

2020-06-23 14:34:36

git常用命令

名词master: 默认开发分支origin: 默认远程版本库Index / Stage:暂存区Workspace:工作区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库 git init # 新建一个目录,将其初始化为Git代码库 git init [project-name] # 下载一个项目和它的整个代码历史 git clone [url] git clone [url] [

2020-06-17 16:55:29

亲手实现一个springboot默认配置&起步加载

实现一、创建springboot项目引入spring-boot-dependencies依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency>spring-boot-autoconfigure 是springboot自

2020-06-10 17:21:21

tkMyBatis配置新增返回主键

这两个参数都要配

2020-06-05 16:29:54

Docker(1)——CentOS7.x环境下安装Docker以及常用命令

在centos中安装dockerDocker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本的CentOS中是不支持更新最新的一些补丁包的。我这里将Docker安装到阿里云CentOS上。注意:这里建议安装在CentOS7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新。yum 包更新到最新sudo yum update[外链图片转存

2020-05-10 20:30:29

CentOS7 64位安装mysql教程

从最新版本的linux系统开始,默认的是 Mariadb而不是mysql!这里依旧以mysql为例进行展示1、先检查系统是否装有mysqlrpm -qa | grep mysql这里返回空值,说明没有安装这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库yum install mysql删除可用yum...

2018-09-05 18:49:57

springboot实现AOP切面编程

概述AOP(Aspect Oriented Programming) 即面向切面编程。面向切面是面向对象中的一种方式而已。在代码执行过程中,动态嵌入其他代码,叫做面向切面编程(将交叉业务逻辑封装成成切面,利用AOP功能将切面织入到主业务逻辑———与主业务逻辑无关的代码,使用场景如:安全检查,事物,日志等 。AOP是一种方式,实现AOP的库有名的有两个AspectJ和spring AOP.核心...

2020-04-02 15:51:29

什么是缓存穿透、缓存击穿、缓存雪崩以及怎么解决

缓存穿透:描述一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去数据库查询。一些恶意的请求会故意大量查询不存在的key,就会对数据库造成很大的压力。这就叫做缓存穿透。 简单的说就是故意避开缓存去数据库查询数据。解决对查询结果为空的情况也进行缓存,缓存时间设置短一点。缓存击穿描述缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),...

2020-03-05 15:01:56

如何处理消息队列消费过程中的重复消息

在 MQTT 协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是:At most once: 至多一次。消息在传递时,最多会被送达一次。换一个说法就是,没什么消息可靠性保证,允许丢消息。一般都是一些对消息可靠性要求不太高的监控场景使用,比如每分钟上报一次机房温度数据,可以接受数据少量丢失。At least once: 至少一次。消息在传递时,至少会被送达一次。也...

2020-02-25 17:29:30

消息队列如何保证消息不丢失

检测消息丢失布式链路追踪系统如果是 IT 基础设施比较完善的公司,一般都有分布式链路追踪系统,使用类似的追踪系统可以很方便地追踪每一条消息。利用消息队列的有序性来验证Producer端,我们给每个发出的消息附加一个连续递增的序号,然后在Consumer端来检查这个序号的连续性,连续则没有丢失,不连续则丢失,还能知道丢的是哪条消息。大多数消息队列的客户端都支持拦截器机制,你可以利用这...

2020-02-25 17:11:24

SpringBoot的自动配置原理(质量不高)

一、SpringBoot的自动配置原理SpringBoot 的自动化配置让我们的开发彻底远离了 Spring 繁琐的各种配置,让我们专注于开发,但是SpringBoot 的自动化配置是怎么实现的呢?下面为你揭开 SpringBoot 自动化配置的神秘面纱。所以今天来讲讲SpringBoot是如何实现自动配置的~1.1三个重要的注解我们可以发现,在使用main()启动SpringBoot的时...

2020-02-25 13:47:31

一看就会的java分布式锁的实现方案

为什么要使用分布锁?首先,我先带你认识一下什么是锁。在单机多线程环境中,我们经常遇到多个线程访问同一个共享资源(这里需要注意的是:在很多地方,这种资源会称为临界资源,但在今天这篇文章中,我们统一称之为共享资源)的情况。为了维护数据的一致性,我们需要某种机制来保证只有满足某个条件的线程才能访问资源,不满足条件的线程只能等待,在下一轮竞争中重新满足条件时才能访问资源。这个机制指的是,为了实现分布...

2020-02-20 11:50:11

java实现分布式锁

那什么是分布式锁呢,它又是用来解决哪些问题的呢?在 JVM 中,在多线程并发的情况下,我们可以使用同步锁或 Lock 锁,保证在同一时间内,只能有一个线程修改共享变量或执行代码块。但现在我们的服务基本都是基于分布式集群来实现部署的,对于一些共享资源,例如我们之前讨论过的库存,在分布式环境下使用 Java 锁的方式就失去作用了。这时,我们就需要实现分布式锁来保证共享资源的原子性。除此之外,分布式...

2020-02-19 22:16:19

Java实现AES加密算法

AES加解密工具类package com.yan.demo;import org.apache.commons.lang3.StringUtils;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.spec.IvPara...

2020-02-14 14:19:47

Java实现MD5算法

MD5算法工具类import java.security.MessageDigest;/** 加密工具 * * @author 刘彦青 * **/public class EncryptUtil { /** MD5加密 * * @param jiami * 源字符串 * @return 加密后的字符串 */ public fina...

2020-02-14 11:18:31

如何设计一个日志表(笔记)

CREATE TABLE "public"."scrm_wechat_request_log" ("id" int8 DEFAULT nextval('scrm_wechat_request_log_id_seq'::regclass) NOT NULL,"log_type" int2 DEFAULT 0,"server_port" int2 DEFAULT 0,"server_name"...

2020-01-10 17:30:12

linux环境查看与导出日志

搜索指定内容的日志# 将2020-01-07 14:57的日志导入到aa.log中cat xxx.log | grep "2020-01-07 14:57" -> aa.log # 实时查看包含com.arvato.handler.reply的日志tail -200f xxx.log I grep "com.arvato.handler.reply"tail命令tail 命...

2020-01-07 15:09:31

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。