自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java并发编程 第六期 线程池

多线程的使用继承Thread ,实现Runable,实现Callable 传入FutureTask中package com.thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;import java.util.concurrent.TimeUnit;class MyThrea

2021-11-25 23:03:36 391

原创 java并发编程 第五期 阻塞队列

1.队列: 先到先得的一种数据结构 FIFO2.阻塞队列:当阻塞对类为空的时候,从队列中取元素的操作会被阻塞当阻塞队列为满的时候,往队列中添加元素会被阻塞当A线程取出队列中元素使的队列变成未满状态,B线程就可以往队列中添加元素当A线程向队列中添加元素使的队列变非空状态,B线程就可以从队列中取出元素阻塞队列可以过数据结构控制了线程的阻塞和唤醒阻塞队列接口和实现类Queue-->BlockingQueue-->各个实现类ArrayBlockingQueue(10)

2021-11-25 23:02:55 96

原创 java并发编程 第四期 多线程中的锁

java中的锁有 公平锁和非公平锁 ,可重入锁,自旋锁,读写锁(独占锁/写锁,共享锁/读锁,互斥锁)1.公平锁和非公平锁 :公平锁就是线程先来先到,非公平锁可能出现某个线程长时间获取不到锁的情况,会出现线程饥饿。非公平锁优点是吞吐量大常见的synchronized也是可重入锁,非公平锁2.自旋锁:用while方式尝试获取锁,减少了线程切换的的消耗,缺点循环会消耗CPU,CAS就是使用自旋锁实现的3.可重入锁:线程获取方法外部锁后,进入该方法内部可以自动获取该锁的代码,可以避免死锁4.独占

2021-11-25 23:00:45 371

原创 java并发编程 第三期 多线程中的集合

多线程中的集合是不安全的package com.collection;import java.util.ArrayList;import java.util.List;/** * @author liuxu * @date 2021/11/11 22:28 */public class ArrayListDemo { public static void main(String[] args) { List<Integer> integers =

2021-11-25 23:00:06 75

原创 java并发编程 第二期 CAS

上期提到过AtomicInteger ,其中一个赋值方法compareAndSet(),CAS就是原子类比较并设值方法的缩写。CAS 全程是CompareAndSwap 比较并交换,是一条CPU原语,这个过程是原子的CAS 简单实用package com.cas;import java.util.concurrent.atomic.AtomicInteger;/** * @author liuxu * @date 2021/11/10 21:59 */public class

2021-11-25 22:59:32 256

原创 java并发编程 第一期 volalite

1.谈谈你对volatile的理解volatile是java虚拟机提供的轻量级的同步机制有三大特性:保证可见性,线程休修改数据后其他线程可以及时感知不保证原子性禁止指令重排JMM模型 :java线程操作内存中数据的过程需要各个线程从主内存将数据拷贝到自己的工作内存,操作完毕后再写入主内存,主内存中的数据各个线程之间是共享的,但是线程间是不能互相访问对方的工作内存中的数据的。需要保证可见性 :线程间及时通信不原子性:原子性操作, 禁止指令重排:指令代码有序性 才可以保证线程

2021-11-24 20:38:30 241

原创 SpringCloud 第八期 Sentinel 熔断限流

sentinel可以作为监控平台使用,下载jar包运行官网说明文档,有中文 Wiki - Gitee.comsentinel下载地址 https://github.com/alibaba/Sentinel/releases/tag/1.7.0下载完毕 java -jar sentinel-dashboard-1.7.0.jar 运行客户端访问http://localhost:8080/ 端口 可以看到sentinel登录界面 默认账号密码都是sentinel配置被监控的模块被监控

2021-11-24 20:37:48 184

原创 SpringCloud 第七期 Nacos 注册配置中心

nacos下载地址 Release 1.4.0 (Nov 2, 2020) · alibaba/nacos · GitHubnacos默认是AP 高可用模型可以通过下面命令切换为CP 高一致性模型curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'nacos启动,win版nacos解压出的文件夹下直接点击 startup.cmd启动完毕后访问ht

2021-11-24 20:36:59 209

原创 SpringCloud 第六期链路监控 Sleuth

微服务架构中,一个由客户端发起的请求在后端系统中会经历多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或者错误都会引起整个请求的最后失败,因此我们需要工具来监控链路间的调用。Sleuth 的使用需要Zipkin,我们只需要下载Zipkin jar包运行即可Zipkin下载地址 https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/spr

2021-11-24 20:36:21 283

原创 SpringCloud 第五期网关 GateWay

Gateway是什么?springCloud GateWay是基于WebFlux框架实现的,底层是Netty。SpringCloud GatewWay提供统一路由方式 基于Filter的方式提供了网关的基本功能。例如安全,性能,监控等。Zuul是基于Sevelet2.5阻塞模型,GateWay是非阻塞模型属于spring家族,能更好的与springCloud进行整合路由三大核心概念 路由 断言 过滤器路由 由id 目标url 一系列断言和过滤器组成,断言为true则路由匹配断

2021-11-24 20:35:00 419

原创 SpringCloud 第四期 断路器hystrix

断路器是为了解决微服务中服务异常情况时的时返回预期提示的方解决方案。服务降级 服务熔断 服务限流 是断路器的三个基本概念出现服务降级的原因:服务不可用超时服务熔断触发降级信号量/线程池打满导致降级服务熔断: 类似保险 达到最大服务访问量后 直接拒绝访问服务限流: 秒杀等高并发操作 严禁一次性请求过多,没秒N个,有序进行有了对hystrix基本了解,上代码首先构建服务提供方代码新建模块cloud-hystrix-provider8001导入以下pom 比之前

2021-11-24 20:33:54 154

原创 SpringCloud 第三期 SpringCloud负载均衡-OpenFeign

通过接口上面添加注解 可以实现服务的RPC远程调用,面向微服务接口调用。两个要点 绑定服务 面向微服务接口首先创建一个用Feign实现接口调用的服务cloud-feign-consumer-83pom中引入OpenFeign<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w

2021-11-24 20:33:02 126

原创 SpringCloud 第二期 SpringCloud负载均衡-Ribbon

负载均衡是将用户的请求按照一定规则分配到服务器上,从而实现服务的高可用。常见的负载均衡软件有Nginx ,lvs ,F5等Ribbon是本地负载均衡(调用方) vs Nginx是服务器端(提供方)负载均衡Ribbon负载均衡会从注册中心获取服务注册信息,将服务注册列表缓存到jvm,从而在本地实现远程调用负载均衡的主动发起者是本地服务,属于进程内LB,属于消费方进程,消耗资源是消费方资源,而Nginx负载均衡 负载均衡的主动发起者是服务器,消耗资源是服务端资源。Ribbon本质上是Re

2021-11-24 20:32:16 139

原创 SpringCloud 第一期 SpringCloud环境搭建

首先介绍微服务项目入是如何新建工程的,本次用聚合工程方式展示,可以实现依赖的一次修改处处生效,我用idea开发,file->new project->选择maven项目->create from archetype->选择maven site 输入项目名工程名即可完成父工程的构建。构建完成删除src,剩下如下内容父工程里面需要自己添加的引用 <!--统一管理jar包版本--> <properties> <proje

2021-11-24 20:25:36 348

空空如也

空空如也

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

TA关注的人

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