自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux下的JMeter部署及使用

之前都是在windows环境使用JMeter,是有操作界面的。但是最近需要在Linux环境下使用,现将操作步骤记录下来在安装JMeter之前,需要在Linux下安装JDK并配置环境变量,这里跳过1、进入Linux系统,在/opt下创建jmeter目录[root@gw docker]# cd /opt[root@gw opt]# mkdir jmeter[root@...

2019-09-20 11:00:00 373

转载 同时处理多请求(带超时时间)

在上一篇同时处理多个请求,记录了同时处理多个请求的几种方式,本篇主要介绍多线程处理时,进行超时控制。也就是说超时了的任务扔掉,未超时的任务返回在研究线程相关的API时,发现了future.get(timeout, unit)方法,意思是在指定的时间内会等待任务执行,超时则抛异常。激动之余赶紧试了下:修改下ParallelService中的接口(三个请求的用时分别是1s、2s、1...

2019-08-08 14:19:00 453

转载 同时处理多请求

在工作中遇到同时向多个服务请求的场景,在此将自己的研究过程记录一下模拟三个请求requestA、requestB、requestC:@Servicepublic class ParallelService { public String requestA() { try { TimeUnit.MILLISECOND...

2019-08-07 09:05:00 502

转载 mysql命令

连到数据库:mysql -h 数据库地址 -u数据库用户名 -p数据库密码 -D 数据库名称mysql -h 88.88.19.252 -utravelplat -pHdkj1234 -D etravel数据库导出(表结构):mysqldump -h 数据库地址-u数据库用户名 -p数据库密码 -d 数据库名称 > 文件名.sqlmysqldump -h...

2019-07-13 10:45:00 92

转载 curl命令

如果系统没有curl,可以使用 yum install curl注意:对于请求参数中有多个参数,即包含&符号时,一定在将url用双引号包起来,不然会返回一个进程号发送get请求:-i 显示全部消息curl "http://www.baidu.com?name=xwj&age=20" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到...

2019-07-13 10:45:00 115

转载 SpringBoot配置文件敏感信息加密-jasypt

使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开application.properties或application.yml,比如mysql登陆密码,redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。jasypt由一个国外大神写的一个springboot下的工具包。Git地址...

2019-05-21 12:19:00 806

转载 spring boot升级到2.x的坑

升级到spring boot 2.x后,发现了好多坑,现记录下来。1、pom文件依赖的变化1.x中,依赖是这样的:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eurek...

2019-04-25 08:39:00 207

转载 Spring Integration实现分布式锁

学习本篇之前,可以先看下文章 什么是分布式锁,了解下基本概念。之前都是手写一个分布式锁,其实Spring早就提供了分布式锁的实现。早期,分布式锁的相关代码存在于Spring Cloud的子项目Spring Cloud Cluster中,后来被迁移到Spring Integration中。Spring Integration提供的全局锁,目前为这几种存储提供了实现:Gemfire、...

2019-04-11 09:44:00 373

转载 spring cloud config与eureka配合使用

前面两篇介绍了Spring Cloud Config服务端和客户端的简单配置,本篇介绍Spring Cloud Config与Eureka配合使用前言默认情况下,配置客户端启动时,都是通过配置属性 spring.cloud.config.uri 绑定到配置服务器,并使用远程属性初始化 Spring Environment。这样做的最终结果是所有想要使用Config Serv...

2019-03-07 14:27:00 220

转载 spring cloud config安全

前面两篇介绍了spring cloud config服务端和客户端的简单配置,本篇介绍如何保护config server及对应config client修改。保护config server,主要是使用spring security进行最简单的basic安全认证(也可自定义认证方式,这里不做扩展)配置服务端代码示例:在pom文件中增加依赖: <...

2019-03-06 15:21:00 96

转载 spring cloud config客户端

上篇介绍了spring cloud config服务器,本篇介绍客户端。客户端主要是从config服务器获取配置信息。代码示例首先创建一个Maven项目,在pom.xml文件中添加依赖: <dependency> <groupId>org.springframework.boot</groupId> &...

2019-03-05 13:04:00 77

转载 spring cloud config服务器

Spring Cloud Config提供了一种在分布式系统中外部化配置服务器和客户端的支持。配置服务器有一个中心位置,管理所有环境下的应用的外部属性。客户端和服务器映射到相同Spring Eventment 和 PropertySrouce抽象的概念,所以非常适合Spring应用,但也可以在任何语言开发的任何应用中使用。在一个应用从开发、测试到生产的过程中,你可以分别地管理开发、测试、...

2019-03-04 09:20:00 123

转载 Spring Boot 初始化运行特定方法

Spring Boot提供了两种 “开机自启动” 的方式,ApplicationRunner和CommandLineRunner这两种方式的目的是为了满足,在容器启动时like执行某些方法。我们可以通过实现ApplicationRunner或者CommandLineRunner来实现,他们都是在SpringAppliaction执行之后开始执行的。这个特性可以让我们自定义一些在容器启...

2019-02-25 15:01:00 148

转载 设计模式之代理模式

之前看了很多关于代理模式相关的文章,本篇主要是做一个整理和总结。主要是以下几点:  1、静态代理模式实现及优缺点  2、jdk动态代理模式实现及优缺点  3、cglib动态代理模式实现及优缺点  1、静态代理静态代理可以做到不对目标对象进行修改的前提下,对目标对象进行功能的扩展和拦截。代理和被代理对象在代理之前是确定的。他们都实现相同的接口或者继承相同的抽象类。...

2019-02-25 08:51:00 73

转载 修改git分支名称

场景:将分支名称为 oldbranch 改为newbranch步骤:1、将本地分支oldbranch切一个分支到本地 git branch -m oldbranch newbranch 2、删除远程分支  git push --delete origin oldbranch  3、将本地新分支推送到远程 g...

2019-01-21 11:53:00 89

转载 Spring Security之Remember me详解

Remember me功能就是勾选"记住我"后,一次登录,后面在有效期内免登录。先看具体配置:pom文件:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jp...

2018-11-09 14:24:00 404

转载 redis持久化配置

redis有两种持久化方式:RDB和AOF。具体差别跟优缺点可参考redis数据的两种持久化方式对比,本篇只介绍这两种方式怎么配置RDB配置方式默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdbredis.conf默认配置:save 900 1save 300 10save 60 10000...

2018-10-30 17:18:00 118

转载 实体与数据库字段转换

想将实体类字段转为数据库字段,找了半天只找到一个这样的例子:  /** * 对象属性转换为数据库字段。例如:userName => user_name * * @param property * 对象属性 */ public static String propertyToFiel...

2018-10-26 16:20:00 773

转载 Spring Security认证配置(三)

学习本章之前,可以先了解下上篇Spring Security认证配置(二)本篇想要达到这样几个目的:1、登录成功处理2、登录失败处理3、调用方自定义登录后处理类型具体配置代码如下:spring-security-browser登录成功处理:/** * 自定义登录成功后处理 */@Slf4j@Componentpublic...

2018-10-24 09:12:00 114

转载 Spring Security认证配置(二)

学习本章之前,可以先了解下上篇Spring Security基本配置。本篇想要达到这样几个目的:1、访问调用者服务时,如果是html请求,则跳转到登录页,否则返回401状态码和错误信息2、调用方可自定义登录页面。如果没有配置,则使用认证中心的标准登录页对于第一点,可以画个图:接下来看具体的配置:spring-security-browser先建一个认...

2018-10-23 08:51:00 155

转载 用Collectors对List去重

在学习本篇之前,最好对java8新特性有一定的了解。可以参考:Java8新特性--流(Stream)场景:有一个实体的List集合,需要根据实体中的某个字段对List去重要想去重,可以考虑使用TreeSet。先来看看TreeSet的用法:@Getter@Setter@NoArgsConstructor@AllArgsConstructorpublic...

2018-09-17 09:21:00 642

转载 使用ScheduledExecutorService实现任务延迟

在做项目的过程中,遇到一个场景:在审批流中,如果上级领导不审批,则在10分钟后自动审批。也就是要做一个任务在多长时间后执行的效果在不断的摸索中,想到了使用线程池,发现有个ScheduledExecutorService可以实现,现将实现过程记录下来/** * 测试延迟执行任务(只执行一次) */public class TestScheduledExecutor ...

2018-09-13 13:47:00 617

转载 BloomFilter布隆过滤器

BloomFilter 简介当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了:如果这些点有任何一个0,则被检元素一定不在;如果都是1,则被检元素很可能在。优点:相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。布隆过滤器存储空间和插入/查询时间都是常数(O...

2018-09-10 17:38:00 79

转载 Spring Security认证配置(一)

学习本章之前,可以先了解下上篇 Spring Security基本配置。本篇主要讲述Spring Security基于表单,自定义用户认证配置(上篇中的配置,本篇将不再阐述)。一共分为三步: 1、处理用户信息获取 2、处理用户校验 3、处理密码加密解密在配置之前,先熟悉下两个接口:UserDetailsServiceUserDetailsServi...

2018-09-04 13:47:00 104

转载 AuthenticationManager、ProviderManager

本篇主要讲述以下几点:1、AuthenticationManager、ProviderManager和AuthenticationProvider三者之间的关系2、以UsernamePasswordAuthenticationFilter为例,如何使用AuthenticationProvider的子类AbstractUserDetailsAuthenticationProvide...

2018-09-03 13:26:00 355

转载 Spring Security基本配置

Spring Security 是一个功能强大且可高度自定义的身份验证和访问控制框架。 它是保护基于Spring的应用程序的事实上的标准。Spring Security 是一个专注于为Java应用程序提供身份验证和授权的框架。 与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足自定义要求先建立一个maven多模块工程,如下:...

2018-09-03 13:25:00 107

转载 Spring Security 源码解析(一)

上篇 Spring Security基本配置已讲述了Spring Security最简单的配置,本篇将开始分析其基本原理在上篇中可以看到,在访问 http://localhost:18081/user 时,直接跳转到登录页。那Security是怎么做的呢?本篇主要讲述跳转到登录页前的处理首先来看一张时序图:通过上图可以看到,请求顺序为AbstractAuthenticat...

2018-09-03 13:25:00 100

转载 java之Lombok

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法pom依赖:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok&lt...

2018-07-31 08:45:00 55

转载 springcloud-Feign基础使用

声明式REST客户端:FeignFeign是一个声明式的Web服务客户端。它使得Web服务客户端的写入更加方便。具有可插拔注解支持,包括Feign注解和JAX-RS注解。Spring Cloud增加了对Spring MVC注释的支持,并且使用了在Spring Web中默认使用的相同的HttpMessageConverter。Spring Cloud集成了Ribbon和Eure...

2018-07-23 10:30:00 54

转载 springcloud-feign的hystrix支持

关于hystrix的介绍,可以看我的上篇博客:springcloud-断路器hystrixs本文主要介绍在feign中,如何使用hystrix1、pom依赖     <dependency> <groupId>org.springframework.cloud</groupId> ...

2018-07-22 16:43:00 73

转载 springcloud-断路器hystrix

Netflix的创造了一个调用的库 Hystrix 实现了断路器。在微服务架构中,通常有多层服务调用。底层服务出现故障可能导致用户级联故障。当调用特定服务达到一定阈值时(Hystrix中的默认值为5秒内的20次故障),电路打开,不进行通话。在开路的情况下,可以使用备用的方法进行处理。如下图:当服务B挂掉或者访问超时后,调用Fallback1、pom依赖:...

2018-07-21 16:12:00 102

转载 Java原子性、可见性、内存模型

原子性:原子性就是指该操作是不可再分的。不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。比如 a = 1;非原子性:也就是整个过程中会出现线程调度器中断操作的现象类似"a ++"这样的操作不具有原子性,因为它可能要经过以下两个步骤:(1)取出 a 的值(2)计算 a+...

2018-05-17 15:07:00 84

转载 volatile特性

volatile保证可见性 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:  1)保证了不同线程对这个变量进行操作的可见性,即一个线程修改了某个变量的值,这新值对其它线程来说是立即可见的  2)禁止进行指令重排序volatile不能确保原子性 在访问volatile变量时,不会执行加锁操作,因此也就不会执行线...

2018-05-17 15:05:00 78

转载 Js四则运算精度问题处理

JavaScript小数在做四则运算时,精度会丢失,这会在项目中引起诸多不便。先看个具体的例子: //较小的数运算 console.log(0.09999999 + 0.00000001); //0.09999999999999999 console.log(-0.09999999 - 0.00000001); //-0.09999999999999999 cons...

2018-05-14 14:07:00 191

转载 docker 简单安装java web项目

前言:Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。1、Docker 安...

2018-05-13 16:27:00 86

转载 elasticsearch 分布式集群搭建

elasticsearch环境搭建及单节点搭建可参考我的上一篇:http://www.cnblogs.com/xuwenjin/p/8745624.html本文以Elaticsearch 6.2.2 版本为基础,讲解Elasticsearch三个节点的分布式部署、核心配置的含义以及分布式部署遇到的坑楼主是在一台机器上配置的,所有下面的network.host全部配置同一IP...

2018-05-10 09:38:00 142

转载 logstash-input-jdbc同时同步多个表

同步一个表,可以参考我的上一篇 logstash-jdbc-input与mysql数据库同步同步多个表的做法,跟一个表类似,唯一不同的是 .conf 文件中的配置在这里我加了一个脚本文件jdbc-seckill.sql,是为了查询第二个表的数据(其实也可以不要此文件,而是直接将sql写在 .conf文件中)SELECT seckill_id id, name, nu...

2018-05-04 09:34:00 586

转载 logstash-jdbc-input与mysql数据库同步

大多数情况下我们的数据都存放在了数据库中,但是elasticsearch它有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中,在这里我们使用logstash的logstash-jdbc-input的插件进行与数据库的同步,对于logstash与数据库同步,我们可以设置elasticsearch与数据库同步的时间,使用这种方式进行同步还是很...

2018-05-04 08:48:00 102

转载 fastjson之JSONObject、JSONArray

JSONObject,JSONArray是JSON的两个子类。首先我们来看JSONObject源码:会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法。可以说JSONObject相当于Map<String, Object>看个具体的列子:  /** * 将Map转成JSON...

2018-05-02 13:04:00 132

转载 fastjson使用

在项目中使用到了fastjson,故研究了一下。现将自己的几个测试用例和大家分享一下~首先在pom.xml文件中,加入依赖:    <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</arti...

2018-05-02 09:21:00 55

空空如也

空空如也

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

TA关注的人

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