自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 POSTMAN里面传递json参数

{"objBill": "[{ 'BookingNO': '1'}, { 'BookingNO': '1', 'IDCard': '2'}]","objOil":"[{ 'BillNo': '10001', 'VolNumber': '1'}, { 'BillNo': '10001', 'VolNumber': '2'}]"}

2020-12-16 18:34:18 679 1

原创 java正则表达式的运用(验证日期、数字)

一、验证字符串是否为数字 Boolean isNumber = Pattern.compile("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$").matcher("字符串").matches();二、验证日期是否符合格式 String a1 = "[0-9]{4}[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}";//yyyyMMddHHmmss String a2 = "[0-...

2020-11-18 18:10:08 662

原创 接口实现超时熔断

ExecutorService executorService = Executors.newFixedThreadPool(5);Callable<String> call = new Callable<String>() { public String call() throws Exception { return soap.createBooking(token, objBill, objOil); }};Future<Strin.

2020-11-17 14:16:14 1240

原创 JSONArray转化为java List<?>

1、引用Alibaba的FastJson包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency>2、创建接收JsonArray的对象publi

2020-08-15 16:40:28 1028 1

原创 maven打包公共模块及其引用

一、首先本地安装好Maven环境二、建立公共项目(比如提供一些公共实体类、接口、封装的参数等等)三、将项目通过maven打包到本地四、打包成功后查看maven编译文件(通过打包路径可查看打包信息)五、其他项目引用本地Maven依赖(这里的groupId、ArtifactId、version与第三步中保持一致即可)...

2020-05-30 23:37:47 2050

原创 Lambda对数据实现多线程、分组、去重、排序、求和、过滤、集合拷贝

一、数据准备(建立一个User对象)//此处节省空间省略get/set方法以及包名public class User { private Long id; //姓名 private String name; //年龄 private int age; //性别 private String sex; }public class Person { //年龄 private int age;

2020-05-30 17:12:58 737

原创 Springboot集成Shiro

一、shiro能干什么事? shiro 是一个轻量级的权限框架,它相对于Security来说比较简单,能满足我们日常的系统权限要求。 他的主要特性如下: 1.1、身份认证(登录) 1.2、授权(对登录的用户访问接口进行授权) ...

2020-01-14 15:27:10 108

原创 分布式锁与分布式事务的理解

一、什么是分布式锁, 什么是分布式事务? 1.1、 分布式锁: 多进程的并发问题(传统的单体系统中我们可以用Synchronized、Lock等方式保证数据的安全,多进程中这个无效) 1.2、分布式事务:多进程的事务管理,解决的是跨进程会话数据的一致性问题(传统我们可以利用事务管理,复合操作要么全部成功要么全部失效,分布式中事务无法直接跨进程进行回滚)二...

2020-01-04 23:15:49 4708

原创 Git使用常用操作命令

一、提交项目步骤 步骤1:先创建一个commit 文件夹,在文件夹里面创建springboot的文件夹 git init步骤2 添加文件到缓存区(添加所有文件(包括同目录下的文件夹) git add . 步骤3、提交说明git commit -m "要说明的内容,如第一次作业"步...

2019-12-10 12:25:59 128

原创 Springboot 集成Rabbit MQ

一、mq的作用:** 1、异步* 特点:节约时间,可以在相同时间里干更多的事** 理解同步和异步: 同步是指:我给你发送消息,必须等你回消息我才能干其他事** 异步是指:我...

2019-11-05 21:37:51 151

原创 WebSocket是实现消息推送

一、项目介绍 用springboot实现服务端(后台)想前端发送消息通知二、项目背景 假设有一个用户前往医院找专家看病的场景,一个专家对应多个用户,当第一个用户看病结束后通知第二用户前往房间,传统的模式都是服务端发起请求,服务端响应请求,返回数据给我客户端。考虑到 socket是一个全双工的协议,既可以是客户端也可以是服务端,于是选择...

2019-09-19 18:00:21 380

原创 Windows 安装 RabbitMQ

一、安装Erlang 根据官方文档说明,RabbitMq建立在Erlang OTP平台上,所以安装前要先安装Erlang 1.1、下载Erlang Erlang下载安装:http://www.erlang.org/downloads 1.2、安装Erlang 双击运行otp_win64_21.1.e...

2019-09-19 17:42:20 100

原创 Spring cloud Zookeeper 系列二 之实现服务远程调用(feign)

一、项目总体介绍 1、项目背景 我们在上一节用zookeer实现了将我们的微服务应用注册到zookeeper上并在程序中进行相关的应用信息的查询,在一个大的系统中每个微服务大多需要相互调用各种服务提供的API进行响应的操作,作为两个独立的应用他们是如何进行通讯的,当下的RPC框架有不少解决方案。 2、功能介绍 ...

2019-08-31 20:49:34 1201

原创 Spring cloud Zookeeper 系列一 之实现服务注册与发现

1、项目背景介绍 spring cloud 中提供了三种注册中心,分别是Eureka, zookeeper,Consul,前面我们采用Eureka实现了服务的注册与发现,今天我们采用zookeeper做为注册中心,和各位一样注册中心我们应该怎么选,他们各自的优势在哪,下面用图表进行三种形式的注册中心简单对比。 在分布式系统中有一个重要的概念叫CAP理论。在总...

2019-08-31 17:59:53 453

原创 Spring cloud 之Netflix Eureka系列四(feign整合服务网关zuul)

一、项目总体介绍 这次项目整合依然复用上一节系列三的代码进行操作,增加新的项目模块(spring-cloud-zuul), 1.1、项目背景:我们的一个系统进行服务拆分后形成许多的微服务,我们需要对这些微服务进行统计的管理,于是我们需要设置一个网管(总入口)对这些服务进行管理(如路由操作、权限的设置、日志操作,配置文件等)。...

2019-08-28 12:51:29 327

原创 Spring cloud 之Netflix Eureka系列三(比RestTemplate更好用的声明式服务调用Feign)

一、项目总体介绍 1.1、项目背景 在上一个系列二中我们用Ribbon封装好的RestTemplate实现了客户端服务端的http调用,但我们发现RestTemplate提供的方法很单一、有时无法满足我们的实际场景需求.我们需要一个更灵活的客户端调用方式。 1.2、项目实现功能 ...

2019-08-25 18:46:06 333

原创 Spring cloud 之Netflix Eureka系列二(hystrix及自定义超时熔断)

一、项目总体介绍(客户端的熔断机制) 1、项目实现功能 当服务端的程序不可用时(服务宕机或者请求超时),为了保障系统的高可用采用熔断机制 2、项目模块介绍(还是采用系列一的代码,分为四个模块,现在将系列一的用户服务客户端(user-service-consumer)进行改造),只改变系列一的二、项目代...

2019-08-24 21:29:51 280

原创 Spring cloud 之Netflix Eureka系列一(Ribbon实现用户服务调用)

一、项目总体介绍 1、项目功能介绍(系统用的jar包版本1.5.8) 1.1、本次项目实现用户服务客户端(消费者)调用用户服务生产者(提供user服务)实现对数据库的相关操作 2、系统模块介绍(项目总共分为4个模块组成) 2.1、user-api ...

2019-08-24 15:55:35 147

原创 Spring哪些你应该知道事

一、为什么要用Spring进行开发(Spring帮我们做了什么) 这个问题我的切入点是我们没有用Spring的时候如何进行程序开发。( 回想没用Spring的时代我们用纯jdbc也可以建立一个系统,实现相关的功能, 但是我们的操作流程比较多,需要写的代码也比较多,有了Spring后,我们可以简化很多操作)。 1.1、数据源管理(Spring JDB...

2019-08-21 21:30:22 107

原创 网络协议之我们不得不知的基础

一、什么是网络协议? "计算机网络"间进行数据传输(通讯)的标准二、为什么要有通讯协议 ? 两台机器进行要进行通讯,如果两台机器用的字符集编码不一样,导致传输的指令无法识别,因此需要统一的标准进行限定。三、常用的网络协议有哪些? TCP/IP协议、HTTP协议、FTP协议、Tel...

2019-08-19 12:25:36 205

原创 Springboot集成mybatis-puls

一、项目目录结构二、系统的jar包依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2019-08-18 22:32:22 168

原创 数据库锁之MYSQL表锁行锁与排他锁和共享锁(写锁)排它锁(读锁)的理解

一、为什么要对数据库加锁? 保证数据库数据的安全(不脏读、漏读)二、数据库锁的概念理解 1.1、按照锁的类型划分为 1、共享锁(读锁) 共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不...

2019-08-16 12:53:09 716 1

原创 Docker 的介绍与常用命令以及docker 中安装mysq 5.7

一、docker的介绍 1.1、 一种虚拟化容器技术,可以帮助我们轻松的在Linux上部署各种应用程序 1.2、 运行环境一次创建到处乱跑,有效屏蔽开发、测试、生产环境的差异性,避免过多的繁琐配置 1.3、灵活、轻量、可扩展二、docker的安装(Linux上docker的安装) 2.1、安装docke...

2019-08-12 19:18:47 145

原创 Linux 常用命令

Linux 下常用命令 1、进入指定目录 cd 2、递归永久删除文件 rm -rf fileName 3、查看目录内容 ls 或者 ls -F 创建一个html touch test.html 4、创建一个test文件夹 mkdir test 5、编辑文件 vim fileName 6、移动文件 ,首先进行源文件所在目录 cd /...

2019-08-12 18:40:07 154

原创 多线程之join用法与ThreadLocal用法

package com.gpdi.security.join;/** * @description: 有A、B两个线程一起执行任务、当A线程调用ThreadB.join()方法后会等线程B运行结束后才执行 * * */public class JoinDemo { public static void main(String[] args) { ...

2019-08-11 17:48:34 128

原创 多线程之Condition与BlockQueue介绍与用法

一、Condition 功能介绍:线程间通讯的另一种方式,他的功能和Lock几乎一样 案例说明:下面案例中Condition通过await进行阻塞,然后用single进行唤醒package com.gpdi.security.condition;import java.util.concurrent.locks.Condition...

2019-08-11 17:28:14 224

原创 多线程之单机版的限流工具Semaphore与栅栏工具CyclicBarry

一、Semaphore的作用:限流(并发操作中如果只支持十个并发,就可以用Semaphore进行操作,其余线程都会回阻塞,只有当semaphore中的线程释放令牌其他线程才允许进入)package com.gpdi.security;import java.util.concurrent.Semaphore;/** * * @description:多线程操作的工具类 *...

2019-08-11 13:26:50 413

原创 多线程之java中线程池的使用

一、使用线程池的原因 1、可以减少平凡的创建的线程,耗费cpu资源 2、创建的线程不用去手动的关闭 3、控制线程的数量 4、响应的速度更快二、线程池的5种类型 1、固定数量的 ...

2019-08-10 23:48:48 146

原创 多线程之锁的核心基础(AQS)与ReentranLock以及死锁的理解

一、为什么我们要使用AQS(AbstraceQueueSynchronized) ? 这里我们先介绍下我们使用这个AQS背景,在jdk 1.5之前我们多线程的安全性主要是用Synchronized进行操作,而Synchronized比较死板,当Synchronized修饰的方法、对象获取锁之后其他的线程在当前线程没有释放锁之前是不能访问当前方法的(他的锁是比较重量级的),并...

2019-08-09 23:08:05 455

原创 多线程之线程安全问题的举例与分析

一、线程安全的理解 一个多线程任务中存在多种结果(而我们想要的是唯一的结果)二、多线程的特性原子性 有序性 可见性 为了保证JMM可见性问题,引入了内存屏障,会严格规范指令重排序问题(排序有:编译排序、指令排序、内存排序) 三、线程安全的本质原因 共享变量的可见性问题:在java内存模型中,存在多个线程可以共享一个变量,当一个线程对该变...

2019-08-04 21:40:18 430

原创 多线程之创建一个多线程的几种常用方式(实现多线程的方式有且只有一种 new Thread 方式)

创建多线程的第一种方式: 继承Thread类 class A extends Thread { @Override public void run() { System.out.println("线程A执行了"); } }创建线程的第二种方式: 实现Runnabl...

2019-08-03 22:12:55 382

原创 SpringBoot 使用MockMvc 进行单元测试

一、利用springBoot 脚手架创建一个springBoot项目(地址:start.spring.io)二、引入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</ar...

2019-08-02 15:44:30 300

原创 Spring-cloud 基础架构图

2019-07-06 18:11:50 760

原创 java 代理模式简述

一、什么是代理模,代理模式有哪些特征? 1.1 、什么是代理:代理在我们身边很常见,比如帮我们 买火车票的黄牛,租房的中介,AOP 等等都是代理,我们不想做或者没时间做而不得不做的事去委托别人去做,它就是代理。 1.2、 代理模式有哪些特征呢? 特征一:它有一个被代理对象(代理的目标target)、一个代理对象 ...

2019-03-03 22:27:54 136

原创 python连接mysql

​ 记录一次python连接mysql的流程 第一步:去官网下载python安装包https://www.python.org/ 下载、安装不清楚可参考菜鸟教程, 菜鸟教程地址:http://www.runoob.com/python3/python3-install.html. 第二步:需要注意的是在安装的时候要勾选安装同时自动配置环境变量,否则需要自己手动创建环境变量,安装成功...

2019-02-15 17:33:11 1113

原创 如何使用idea创建一个父子工程

1.第一步:打开idea,点击File 创建一个maven 父项目第二步:选中父项目,new 一个Module 这时创建的子项目会默认设置Parent第三步:去看看父项目里面有没有子项目列表,可以看到modules里面有新建的子项目名称  说明:创建父子项目一般是为了统一jar 包 管理,在微服务中比较常见...

2018-10-09 10:01:26 1482

原创 Spring 事务随笔

一、Spring Transaction 简介:在复合型的数据库数据操作过程中,我们所预想的操作是数据一次性执行成功,当然这只是理想状态,常常由于各种原因导致复合操作执行到一半时就遇到各种异常(SQL Exception ,NumberFormat等)执行不下去,导致一堆脏乱数据。为了避免此类事件少发生,我们引入的数据的事务管理机制。这里我需要强调的是有了事务不一定保证数据的正确性,事务的回滚是有...

2018-09-03 10:55:54 86

原创 Spring AOP原理以及Spring源码实现分析

1.从字面的意思理解AOP.?    面向切面编程(全称Aspect Oriented programing),通过预编译的方式和动态代理(运行期)实现程序功能的一种方式,AOP      是对OOP(面向对象编程)的一种扩充。2.AOP解决了什么问题?   在一个完善的系统中,我们常用到的监听、日志、权限、事务、缓存等等操作,在这些业务场景中我们需要对多个方法或者对多个动作调用之前或...

2018-08-26 15:31:14 226

原创 Spring Boot 的idea 的环境配置

第一步:直接去官网下载一个idea(可以破解)第二步:配置SDK(设置jdk)   第三步:配置Maven      第四步(个人习惯),选用一个白色面板的主题(theme) ...

2018-08-21 12:35:00 1109

原创 Spring Boot该怎么来学 --- 来自菜鸟的经验

1.我们为什么来学Spring Boot?Spring Boot 有什么用?   1.1这里就对比Spring来说(Spring Boot 是Spring 的一层壳),相比而言:                1.1.1 Spring Boot 规约大于配置,大多数组件,不需要自行配置,而是自动组装!                1.1.2  简化开发,大多数情况,使用默认即可!...

2018-08-21 11:51:30 833

springboot-mabatisplus-demo.rar

springboot集成mybatis-plus实现增删查改,数据库采用Durid进行管理,mybtis支持xml和注解形式,可直接运行

2019-08-18

springBoo_jdbc

基于msql的多数据源的spring boot web mvc 应用,其中还有webFlux,以及事务的相关操作

2018-09-14

空空如也

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

TA关注的人

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