自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Lock和synchronized的区别

ReentrantLock 拥有和Synchronized的相同并发性和内存语义,此外还多了锁投票,锁等候和中断锁等候。如果A和B都想获取对象0的锁,假设A获取了对象0的锁,那么B就要等待A对对象0的释放。如果使用synchronized的话,如果A不释放,那么B就要一直等待,不能被释放,也就是死锁。但是如果使用的是Lock的话那么如果A不释放,B可以在等待一段时间后,中断锁等候,去干其他的...

2019-03-16 15:44:34 80

原创 SpringSecurity学习(二)——SpringSecurity入门

一、准备1、创建SpringBoot项目2、pom.xml配置依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.4</version> <relativePath/> <!-- lookup

2021-03-20 20:18:01 163

原创 SpringSecurity学习(一)——SpringSecurity介绍

一 、概述SpringSecurity是Spring大家族的成员之一,主要是做授权和认证的。里面包括了一系列认证的逻辑和权限的控制。在没有SpringBoot之前SpringSecurity配置起来还是很麻烦的而且它看起来比shiro更加重量级。所以之前用到shiro还是更多一点。但是后面由于SpringBoot的成熟他和SpringSecurity整合起来更加的方便,所以SpringSecurity也开始流行了起来。二、原理有以下三点授权认证攻击防护其核心就是一组过滤器链,项目启

2021-03-20 19:43:27 249

原创 Jenkins的搭建及使用

一、准备工作去官网下载Jenkins的war包,本次使用版本2.272下载地址: https://www.jenkins.io/download/下载成功后,将war包拉到本地使用目录下。无论是windows/mac/linux系统,都可以到war包目录下启动,启动命令:java -jar jenkins.war --httpPort=8080启动成功后,登录网址: http://localhost:8080二、启动Jenkins和安装插件写初始密码,激活系统

2020-12-27 22:47:09 310

原创 SpringCloud-Alibaba的学习(2)_项目中快速集成配置中心·Nacos服务注册发现功能

Nacos服务注册发现功能背景项目中快速集成配置中心·Nacos服务注册发现功能ips技术点@EnableDiscoveryClient注解启用Nacos服务注册发现功能区分不同环境,实现服务注册发现功能登录Nacos控制台,新增dev / test / prod三套不同环境,分别对应:开发环境 / 测试环境 / 生产环境代码目录结构:1. 父pom.xml依赖组件<?xml version="1.0" encoding="UTF-8"?>&lt

2020-12-27 17:09:43 144

原创 SpringCloud-Alibaba的学习(1)_Nacos的学习及搭建

Nacos的学习及搭建一、什么是 Nacos?Nacos 致力于帮助我们发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 可以帮助我们更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos 的关键特性包括:服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理使用 Nacos 简化服务

2020-12-27 16:48:14 91

原创 SpringCloud的搭建9_ 服务链路追踪(Spring Cloud Sleuth)

服务链路追踪(Spring Cloud Sleuth)一、简介Add sleuth to the classpath of a Spring Boot application (see below for Maven and Gradle examples), and you will see the correlation data being collected in logs, as long as you are logging requests.Spring Cloud Sleuth 主

2020-12-26 21:42:02 492

原创 SpringCloud的搭建8_ 消息总线(Spring Cloud Bus)

消息总线(Spring Cloud Bus)一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;这就是说我们需要装rabbitMq,点击rabbitmq下载。至于怎么使用 rabbitmq,搜索引擎下。erlang 下载地址 : https://www.erlang.org/downloadsrabbitmq下载地址:https://github.com/rabbitmq/rabbitmq-server

2020-12-26 13:09:46 156

原创 SpringCloud的搭建7_高可用的分布式配置中心(Spring Cloud Config)

高可用的分布式配置中心(Spring Cloud Config)上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续用前几节课复用的eureka-server工程,不用动。二、改造config-server在pom.xml张加入 <dependency> <groupId>org.springf

2020-12-25 22:22:15 95

原创 SpringCloud的搭建6_分布式配置中心(Spring Cloud Config)

分布式配置中心(Spring Cloud Config)一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。二、构建Config Server父mav

2020-12-25 21:20:18 81

原创 SpringCloud的搭建5_路由网关(zuul)

路由网关(zuul)(Finchley版本)在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图:在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服。,服务统一注册到高可用的服务注册中心集群,服务的所有的配置文件由配置服务管理(下一篇文章

2020-12-25 15:34:33 79

原创 SpringCloud的搭建4_断路器(Hystrix)

断路器(Hystrix)在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就

2020-12-03 17:15:27 81

原创 SpringCloud的搭建3_ 服务消费者(Feign)

服务消费者(Feign)一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解Feign 整合了ribbon,具有负载均衡的能力整合了Hystrix,具有熔断的能力二、准备继续用上

2020-12-03 16:06:44 73

原创 Springcloud的搭建2_服务消费者(rest+ribbon)

服务消费者(rest+ribbon)在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为。Feign默认集成了ribbon。ribbon 已经默认实现了这些配置bean:IClientConfig

2020-12-02 17:55:17 74

原创 Springcloud的搭建1_服务的注册与发现Euraka

SpringCloud搭建到入门1服务的注册与发现Euraka创建工程配置pom.xml创建EurakaServer工程,注册服务中心创建EurakaClient工程,注册到注册中心服务的注册与发现Euraka创建工程1、新建maven项目2、点击next,编辑红圈内的值,可以输入自己要创建的项目名,最后点击finish。3、开始查看目录结构配置pom.xml1、配置pom.xml<?xml version="1.0" encoding="UTF-8"?><proj

2020-12-02 16:54:37 119

原创 HashMap与HashTable的不同

HashMap与HashTable都是key与value存储结构的。HashMap与HashTable最大的区别就是HashTable是线程同步的,Hash Map则不是。HashMap是可以存储null值的但是HashTable则不可以。HashMap和HashTable的初始化容量也不同HashMap更大一些应该是16*0.75但是HashTable则是11*0.75.还有他们两个的key值的...

2019-03-16 16:00:54 82

转载 J2EE05——运算符号

1. 数学运算符1.1 取余数取余运算符"%",0取余数任何数都等于0;public static void main(String[] args) { int a = 13 , b = 3; int result1 = a + b - a; int result2 = a * b / a; int result3 = a % b; ...

2019-01-01 12:55:03 97

转载 J2EE04——数据类型

1. 数据类型结构&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;java是一门强调类型的语言,所以数据类型对java来说是一个很重要的概念。2. 基本数据类型2.1 基本类型定义&amp;nbs

2018-12-28 00:13:37 141

转载 J2EE03——基本操作

1. 注释&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注释是不参与任何编译过程,给自己和队友看的,并不是给程序看的。单行注释&nbsp;&nbsp;&nbsp;&nbsp;&amp

2018-12-25 09:21:12 85

转载 J2EE02——环境搭建

1. 运行的三步骤编写:我们写代码文件,后缀是.java。编译:就是把我们能看懂的.java文件编译成计算机能看懂的.class文件。运行:在虚拟机上运行.class文件中的类名。2. 搭建Java的开发环境2.1 名词理解JDK&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Java Development Kits&amp;amp;nbsp;&amp;amp;nbsp;

2018-12-22 23:31:55 85

转载 J2EE01——java概念

1. Java概念简介&nbsp;&nbsp;&nbsp;Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。传闻某天,几位JAVA成员 正在讨论给这个新的语言取什么名字。当时他们正在喝着爪哇咖啡,有个人便提议就叫 Java,于是这个名字就传开了。Java正式诞生于95年,但其实这门语言很早就开始酝酿了。1991年4月,詹姆斯-高斯林领导的绿色计划(Green Project)开始着力发...

2018-12-21 20:35:25 158

空空如也

空空如也

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

TA关注的人

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