自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaSE----注解与反射

1.注解1.常见内置注解1.@Override:子类重写父类的方法,在子类的方法上面添加2.@Deprecated:已过时的方法,类,属性上使用,表示不推荐程序员继续使用3.@SupressWarning:用来抑制编译时的警告信息,即不让警告信息显示出来,与前两个注释有所不同,你需要添加一个参数才能正确使用,这些参数都是已经定义好了的,我们选择性的使用就好了:@SuppressWarningsl’“ll”)@SuppressWarnings(“unchecked”)@SuppressWarn

2021-11-14 23:02:40 436

转载 SpringCloud--7.SpringCloud-config分布式配置

1.介绍分布式系统面临的-配置文件的问题:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的.SpringCloud提供了配置服务器来解决这个问题,我们每一个微服务自己带着一个应用程序.yml,那上百的配置文件要修改起来,岂不是要发疯!springcloud-config配置中心:Spring Cloud Config 为微服务架构中的微服务提供集中化的外

2021-11-13 17:12:01 146

转载 SpringCloud--6.zuul路由网关

1.简介Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础, 而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合, 将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意: Zuul服务最终还是会注册进Eureka提供:代理+路由+过滤三大功能!2.使用zuul1.创

2021-10-27 23:01:26 109

转载 SpringCloud--5.Hystrix服务熔断

1.服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的"扇出"、如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引|起系统崩溃,所谓的“雪崩效应"。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒中内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障,这些都表示需要对故障和延

2021-10-25 23:03:22 243

转载 SpringCloud--4.feign负载均衡

1.Feign介绍feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。 SpringCloud集成了Ribbon和Eureka,同时可在使用Feign时提供负载均衡的http客户端。只需要创建一个接口, 然后添加注解即可!feign,主要是社区,大家都习惯面向接口编程。这个是很多开发人员的规范。调用微服务访问两种方法1.使用微服务名字 [ribbon+restTemplate]2.使用接口和注解 [feign]Feign

2021-10-25 22:11:31 1061

转载 SpringCloud--3.ribbon负载均衡

1.2.

2021-10-11 00:41:46 108

转载 SpringCloud--2.Eureka 服务注册

1.什么是Eureka?2.实现原理

2021-10-11 00:11:36 135

转载 SpringCloud--1.简介

1.SpringCloud介绍SpringCloud,基于SpringBoot提供了-套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。SpringCloud利用SpringBoot的开发便利性,巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一-些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选

2021-10-09 23:13:09 64

原创 Java基础--JVM(1)

Java

2021-09-22 22:23:16 57

原创 SpringBoot--12.分布式 dubbo+zookeeper+springboot

1.前驱技术(1)分布式(2)RPC(3)SpringBoot2.dubbo入门(1)dubbo官网: dubbo官网(2)工作原理图:服务提供者(Provider) :暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者(Consumer) : 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注册中心(Registry).

2021-08-16 22:13:54 105

原创 Redis--13.进阶(缓存穿透击穿和雪崩)--面试高频

1.缓存穿透概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中(比如商品秒杀! ) ,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案1.布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;2.缓存空对象当存储.

2021-08-16 21:03:07 105

原创 Redis--12.进阶(主从复制)

1.介绍

2021-08-12 22:21:31 53

原创 Redis--11.进阶(Redis发布订阅)

1.介绍Redis发布订阅(pub/sub)是一种消息通信模式 : 发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。如图示:又如图:2.测试我们再开启一个redis窗口,用于发送消息:回到之前的页面,发现收到了新消息:菜鸟教程上的redis发布订阅命令:https://www.runoob.com/redis/redis-pub-sub.html3.原理Redis是使用C实现的,通过分析Redis源码里的pubsu...

2021-08-12 22:20:02 68

原创 Redis--10.进阶(AOF方式持久化)

1.介绍AOF ( Append Only File ):将我们的所有命令都记录下来,即历史记录,恢复的时候就把这个文件全部再执行一遍 !以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下来(读操作不记录) , 只许追加文件但不可以改写文件, redis启动之初会读取该文件重新构建数据,换言之, redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作:2.配置测试在配置文件中的位置:可以看到默认不开启aof的,选动开启 yes,其他配置默认即...

2021-08-12 21:58:50 192

原创 Redis--9.进阶(RDB方式持久化)

1.介绍

2021-08-12 21:21:08 111

原创 Redis--8.进阶(Redis.conf的理解)

1.我们查看一下redis的配置文件:redis.conf打开文件从上往下看:1)uint单位2)包含文件(可以写数个配置文件,然后引用过来组合成一个)3)network网络配置4)General 一些通用配置5)snapshot 快照用于持久化的配置,因为redis是基于内存的,如果不进行持久化操作,数据会丢失6)Replication 主从复制7)Security 安全也可以用命令行设置8)Client 客户端限制9)ME...

2021-08-09 23:04:02 51

原创 Redis--6.入门(Jedis简介)

1.简介这是java连接redis的api2.测试使用1)新建maven项目并导入依赖<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version

2021-08-04 23:08:56 63

原创 Redis--5.入门(Redis事务和锁)

1.简介1)redis事务:即一组命令的有序集合2)Redis单条命令是保存原子性的,但是Redis事务不保证原子性!3)关系型数据库有四个原则ACID:A (Atomicity) 原子性、C (Consistency) 一致性、I (Isolation) 隔离性、D (Durability) 持久性4)Redis事务没有没有隔离级别的概念,所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!5)Redis事务过程:●开启事务(MULTI)...

2021-08-04 22:32:32 65

原创 Redis--4.入门(特殊数据类型)

1.Geospatial 地理位置Redis的Geo在Redis3.2版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!先准备一些城市地区的经纬度,查询工具:https://jingweidu.bmcx.com/GEOADD key 经度 纬度 位置名称 :添加地理位置有效的经度从-1 80度到180度;有效的纬度从-85.05112878度到85.05112878度。当坐标位置超出上述指定范围时,该命令将会返回一个错误。GEOPOS :获取指定的经度...

2021-08-03 23:03:29 65

原创 Redis--3.入门(基础命令和基本类型)

Redis是一个开源( BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构,如字符串( strings),散列( hashes),列表(lists),集合(sets),有序集合( sorted sets)与范围查询,bitmaps,hyperloglogs 和地理空间( geospatial )索引半径查询。Redis 内置了复制( replication) , LUA脚本( Luascripting ),LRU驱动事件( LRU eviction).

2021-07-29 23:51:16 85

原创 Redis--2.安装与测试

1.Redis能干嘛?1)内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、 aof )2)效率高,可以用于高速缓存3)发布订阅系统4)地图信息分析5)计时器、计数器(浏览量!).....2.特性1)多样的数据类型2)持久化3)集群4)事务...3.安装1)官网下载https://redis.io/到本地,放进linux环境(我的是虚拟机)2)解压就行了(一般放到opt目录下)3)安装好gcc,g++,然后使用make命令构建好工程...

2021-07-28 23:27:22 46

原创 Redis--1.NoSql

1.概述1)数据库分为sql类型,如MySql和Nosql类型,如Redis2)发展90年代的单机MySql时代这样的问题就是:1、数据量如果太大、一个机器放不下了!2、数据的索引( B+ Tree) , -个机器内存也放不下3、访问量(读写混合) ,一个服务器承受不了~只要开始出现以上的三种情况之一,那么 就必须要晋级!所以到了Memcached (缓存) + MySQL +垂直拆分(读写分离)模式然后到了分库分表+水平拆分+ MySQL集群模式到..

2021-07-28 21:40:07 43

原创 Redis--7.spring-boot整合redis

1.简介spring-data是和spring-boot齐名的项目,在spring-data中有jpa,jdbc,redis,mongodb等数据持久化方式,对于redis,springboot2.x开始将jedis替换成了lettuce。jedis :采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool 连接池!BIO模式lettuce :采用netty ,实例可以再多个线程中进行共享,不存在线程不安全的情况!减少线程数量,NIO模式2.配置redis(

2021-07-27 23:14:19 682

原创 Java----线程学习(线程同步)

1)在线程没有同步时会导致不安全◆线程就是独立的执行路径;◆在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;◆main()称之为主线程,为系统的入口,用于执行整个程序;◆在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能认为的干预的。◆对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;◆线程会带来额外的开销,如cpu调度时间,并发控制开销。◆每个线程在自己的工作内存交互,内存控制不当会造成数据不一.

2021-07-15 22:52:02 86

原创 Java----线程学习(多线程)

Java----线程学习(多线程)1.线程的五个状态:-创建状态:Thread t=new Thread(),创建了一个线程,此时该线程就是创建状态-就绪状态():当t线程调用了start()方法,线程立即进入就绪状态,在就绪状态队列中的线程不一定会立即执行,取决于cpu的调度-运行状态:当cpu调度后,线程进入运行状态,执行重写的run方法的线程体代码块-阻塞状态:当系统调用sleep(),wait,或者同步锁定时,线程进入阻塞状态,代码不往下执行,等待阻塞解除后,重新进入就绪状态,等待cpu的

2021-06-05 23:51:05 84

原创 Java----Lambda表达式学习

Java----Lambda表达式学习1.理解概念-静态内部类-局部内部类-匿名内部类-函数式接口(有且仅有一个抽象方法,但是可以有多个非抽象方法的接口)-Lambda表达式这便是大致简化过程:package edu.ncu.dong.lambda;//测试lambda,及其简化过程public class TestLambda { //2.静态内部类 static class IPlay2 implements Play{ @Override

2021-06-03 23:15:26 46

原创 Java----线程学习(线程的创建)

Java----进程线程学习1.概念2.创建线程3.静态代理

2021-06-02 23:27:50 92

空空如也

空空如也

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

TA关注的人

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