Spring Cloud

Spring Cloud 2020.0.1 正式发布!真是头疼。。。

99封情书 提交于 2021-01-30 15:30:03
上一篇: Spring Cloud 2020.0.0 正式发布,全新颠覆性版本! 号外!号外!号外! Spring Cloud 2020.0.0 在去年 12 月底,赶在一年的尾巴最后几天仓促发布了,时间刚过去一个月,现在 Spring Cloud 2020.0 第一个发布版本 Spring Cloud 2020.0.1 又发布了: 版本更新也太快了吧。。。 可以看出,Spring Cloud 现在主要维护了两条版本线: 2020.0.1(当前最新版本) Hoxton.SR9 为什么版本会存在年份和伦敦地铁站的命名,可以关注公众号:Java技术栈,回复:cloud,阅读栈长我之前写的 Spring Cloud 系列教程,这里就不再详述了。 最新 Spring Cloud 2020 版本 Maven 坐标如下: <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2020.0.1</version> <type>pom</type> <scope>import</scope> </dependency> <

Spring Cloud Openfeign 源码笔记

落爺英雄遲暮 提交于 2021-01-29 01:26:20
关键类分析 # 1.FeignAutoConfiguration 配置了一个管理 feign 子容器的工厂(FeignContext). 配置一个 Targeter, 直接中专 fegin 的 target 方法(DefaultTargeter, 这里扩展可以实现降级哦) 配置了一个 feign client (ApacheHttpClient), 用于执行 HTTP 请求 还配备了 ok http client 方式的 feign client, 但默认不启用 # 2.FeignClientsRegistrar 被 @EnableFeignClients 引入 扫描带 @FeignClient 注解的接口, 生成代理对象(FeignClientFactoryBean)注册到容器中 # 3.FeignClientFactoryBean 继承自 FactoryBean, Spring 的东西, getBean() 时调用跳转到 getObject() getObject() 会调用通过 feign 对象生成代理对象 # 4.FeignInvocationHandler JDK 动态代理生成对象的的方法拦截器 通过调用 SynchronousMethodHandler 的 invoke() 实现发送请求的功能 # 5.SynchronousMethodHandler invoke()

四大顶级编程学习网站

霸气de小男生 提交于 2021-01-28 12:55:48
1、B站,很多高质量的" 开源 "教程应有尽有,如果大家想学专业性较强的知识,如java的juc,ssm,springboot,springcloud,git,maven…推荐来学(学这些前先去mooc打一下基础),总之就是 想学习培训机构的课程就来b站 ,提到培训机构尤其推荐 尚硅谷 2、中国大学MOOC,上述专业性很强的课程在mooc中基本没有,但是 mooc基础学科的建设是无敌的存在 ,高数,线代,汇编,数据结构,计算机组成原理,计算机网络,操作系统,java/c/c++基础…都是无敌的存在,不学好这些先不要把精力放到java的各种新技术,新框架,小项目等花里胡哨的东西上,否则你只能当一个低端的码农; 3 、网易云课堂/腾讯课堂,和B站一样,适合学专业性(实践性)强的知识,但 只适合于"氪金玩家" ,那些价值几百几千元的课程肯定是比免费的课程要好,但如果你是"非人民币玩家",别在里面混了,尽快来b站一起玩耍; 4、csdn:不要出bug时再去查博客,平时多看一下大牛的文章,绝对是很有营养的! 来源: oschina 链接: https://my.oschina.net/u/4389114/blog/4929330

Java复习整理 01

[亡魂溺海] 提交于 2021-01-28 05:21:26
练习代码: 练习代码: 1 //这条语句说明这个Java文件在demo的包下 2 package demo1; 3 /** 4 * 5 * @author 王兴平 6 * 这个是第一个hello world 案例 7 * 这个注释是文本注释 8 * 注释内容是不会编译的,编译器会忽略其存在 9 * 10 */ 11 // 这是一个单行注释 现在用它描述个语句的功能 12 /* 13 * 这是多行注释 14 * 用它来描述内的工能的详细介绍 15 * 或者实现步骤 16 */ 17 /* 18 * 实现步骤: 19 * 1.定义一个类 class 20 * 2.编写程序执行的入口方法,main主方法 21 * 3.通过输出语句System.out.println()将信息”HelloWorld!”打印在控制台上 22 */ 23 24 //这条语句说明这个类的名字注意要和文件明相同 25 public class Helloworld { 26 //这是一个主方法程序执行的入口 27 public static void main(String[] args) { 28 //这是一条控制台输出语句 29 System.out.println("Hello World!"); 30 } 31 } 1 package demo2; 2 /** 3 * 4 * @author 王兴平 5

神仙也难逃Java开发之增强for循环

南楼画角 提交于 2021-01-28 04:48:23
什么是增强for循环 增强for循环是一种简单模式的for循环,为了方便数组和集合的遍历而存在。 int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 } ; for ( int a : arr ) { System . out . println ( a ) ; } ArrayList < Integer > list = new ArrayList ( ) ; list . add ( 1 ) ; list . add ( 2 ) ; list . add ( 3 ) ; list . add ( 4 ) ; list . add ( 5 ) ; list . add ( 6 ) ; for ( int i : list ) { System . out . println ( i ) ; } //加入Java开发交流君样:756584822一起吹水聊天 增强for循环的原理 对于集合的遍历,增强for循环其实内部是通过迭代器实现的,可以做一个简单的验证,我们知道在迭代器中,迭代的时候不允许修改,不然会抛出ConcurrentModificationException异常,那我们不妨在增强型for循环中也尝试去修改集合中的对象,看是否抛出同样的异常。 ArrayList < Integer > list = new

Java中的锁分类

≯℡__Kan透↙ 提交于 2021-01-28 04:00:55
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。 对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平锁。非公平锁的优点在于吞吐量比公平锁大。 对于Synchronized而言,也是一种非公平锁。由于其并不像ReentrantLock是通过AQS的来实现线程调度,所以并没有任何办法使其变成公平锁。 可重入锁 可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁。说的有点抽象,下面会有一个代码的示例。 对于Java ReentrantLock而言, 他的名字就可以看出是一个可重入锁,其名字是Re entrant Lock重新进入锁。 对于Synchronized而言,也是一个可重入锁

Eureka 注册中心看这一篇就够了

谁说我不能喝 提交于 2021-01-27 05:53:09
摘自: https://www.cnblogs.com/mrhelloworld/p/eureka.html  服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。   在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。Dubbo 是一个在国内比较流行的分布式框架,被大量的中小型互联网公司所采用,它提供了比较完善的服务治理功能,而服务治理的实现主要依靠的就是注册中心。    什么是注册中心      注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。   举个现实生活中的例子,比如说,我们手机中的通讯录的两个使用场景: 当我想给张三打电话时,那我需要在通讯录中按照名字找到张三,然后就可以找到他的手机号拨打电话。—— 服务发现 李四办了手机号并把手机号告诉了我,我把李四的号码存进通讯录,后续,我就可以从通讯录找到他。—— 服务注册 通讯录 —— ?什么角色(提示:服务注册中心)   总结:服务注册中心的作用就是 服务的注册 和 服务的发现 。    常见的注册中心    Netflix Eureka Alibaba Nacos

SpringCloud feign服务调用日期格式结果转换问题

假装没事ソ 提交于 2021-01-25 22:02:42
feign服务调用的具体异常信息 Error while extracting response for type [com.xxx.common.core.domain.R<com.xxx.open.api.domain.ClientAuth>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String \"2020-09-21 21:49:05\": not a valid representation (error: Failed to parse Date value '2020-09-21 21:49:05': Cannot parse date \"2020-09-21 21:49:05\": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSX', parsing fails (leniency? null)); nested exception is com

Spring Boot 2.4发布了,但 Spring Cloud 用户不推荐着急升级

非 Y 不嫁゛ 提交于 2021-01-24 01:09:34
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 前段时间Spring Boot发布了本年度最后一个重要更新版本:Spring Boot 2.4.0。 最近在社群里也开始有讨论关于Spring Boot 2.4的一些使用问题。我发现有很多Spring Cloud用户也急切着想要体验最新版本的Spring Boot,然后碰到了一些问题,其中被提出来最多的就是配置无法加载的问题。 我没有去深究这个问题如何去解决,因为之前,在 发布说明 中有提及过,在Spring Boot 2.4版本中对配置文件的处理做了较大的改动,如果你只是简单的使用application.properties或application.yaml,那么还能无缝衔接。但如果用了更为复杂的配置方式,很可能会失败。 所以,当你采用Spring Cloud Config来管理配置和加载的时候,就很容易出现这样的问题。同时,从Spring Boot和Spring Cloud的版本支持关系来看,Spring Boot 2.4.x版本本身还没有对应的Spring Cloud版本。 上图截取自:http://www.springcloud.com.cn/ 因此,对于Spring Cloud的用户的话,当前时间节点之下,并不太推荐马上去应用Spring Boot 2.4.x。 往期推荐