Spring Cloud

jeecg-cloud微服务架构图

自古美人都是妖i 提交于 2020-10-25 06:33:01
jeecg-cloud: 基于Spring Boot 2.1.3、 Spring Cloud Greenwich.SR3 & Alibaba、 Shiro、JWT的快速开发平台(Jeecg Boot的微服务版本,功能和底层代码,两边保持同步) https://gitee.com/jeecg/jeecg-cloud jeecg-cloud微服务架构图 mini_1590566044258.png (1412×1039) https://static.jeecg.com/upload/test/jeecg-cloud微服务架构图 mini_1590566044258.png 来源: oschina 链接: https://my.oschina.net/u/4342210/blog/4307274

绞尽脑汁我掏空了各大搜索引擎,耗时10个月给你整理了209道Java面试题含答案,满满干货记得收藏再看

只愿长相守 提交于 2020-10-25 00:54:17
答案获取方式: Java集合19题 这个算是java中的基础题吧,但是不要小看这些题,有一些可能都回答不上来。我发现最近关于底层问题问的越来越多了,这也算一个基本线吧,如果回答不上来就凉凉了。 ArrayList 和 Vector 的区别。 说说 ArrayList,Vector, LinkedList 的存储性能和特性。 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? hashmap 的数据结构。 HashMap 的工作原理是什么? Hashmap 什么时候进行扩容呢? List、Map、Set 三个接口,存取元素时,各有什么特点? Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别? 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对? heap 和 stack 有什么区别。 Java 集合类框架的基本接口有哪些? HashSet 和 TreeSet 有什么区别? HashSet 的底层实现是什么? LinkedHashMap 的实现原理? 为什么集合类没有实现 Cloneable 和 Serializable 接口? 什么是迭代器 (Iterator)? Iterator 和 ListIterator 的区别是什么?

从 2018 年 Nacos 开源说起

社会主义新天地 提交于 2020-10-24 22:44:26
2018 年夏天 国内微服务开源 领域,迎来了一位新成员。此后,在构建微服务注册中心和配置中心的过程中,国内开发者多了一个可信赖的选项。 Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台( 官方网站 ),它凝聚了阿里巴巴十多年来在超大规模注册和配置上的最佳实践,可以用在微服务场景作为服务注册中心、配置中心等核心场景中,和阿里的其他微服务开源项目一样,Nacos 也是始于阿里,成长于社区的典型。 为什么要开源 Nacos ? 在大规模服务发现和服务治理领域,现有的开源解决方案并非已经非常完美,阿里巴巴从 IOE 集中式应用架构升级为互联网分布式服务化架构的演进过程中,积累了大量有关服务注册和服务配置的实践经验,而这些经验是可以在各个行业大规模复用。除此之外,更重要的是,希望和社区开发者共同发展,让 Nacos 可以帮助国内企业更自由的构建基于云原生应用的动态服务发现、配置和服务管理。 相比其他服务注册和配置中心开源方案,Nacos 的起步虽然晚了点,但除了注册和配置中心的功能外,他还提供了动态服务发现、服务共享与管理的功能,在大规模场景下具备更优秀的性能,在易用性上更便捷,分布式部署上更灵活。例如和 Consul / Eureka / Zookeeper 相比:(内容摘自 《主流微服务注册中心浅析和对比》 ) Nacos Consul

总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇

一世执手 提交于 2020-10-24 21:27:49
本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力。 为了方便大家理解,我特意制作了本文对应的视频: 总结删除文件或者文件夹的7种方法 一、删除文件或文件夹的四种基础方法 下面的四个方法都可以删除文件或文件夹,它们的共同点是: 当文件夹中包含子文件的时候都会删除失败,也就是说这四个方法只能删除空文件夹 。 需要注意的是:传统IO中的File类和NIO中的Path类既可以代表文件,也可以代表文件夹。 File类的delete() File类的deleteOnExit() Files.delete(Path path) Files.deleteIfExists(Path path); 它们之间的差异: 成功的返回值 是否能判别文件夹不存在导致失败 是否能判别文件夹不为空导致失败 备注 File类的delete() true 不能(返回false) 不能(返回false) 传统IO File类的deleteOnExit() void 不能,但不存在就不会去执行删除 不能(返回void)

java线程池源码分析,彻底扫清线程池知识盲区(建议收藏)

断了今生、忘了曾经 提交于 2020-10-24 16:56:57
1.计算机的基础知识 位逻辑运算符: &: 位与运算符,只有两个操作数都是true,结果才是true。 |: 位或运算符,只有两个操作数都是false,结果才是false。 ~: 位非运算符:如果位为0,结果是1,如果位为1,结果是0. ^: 位异或运算:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。 位移运算: 无符号左移 无符号右移 :带符号右移(没有带符号左移这种操作) 二进制: 二进制都是以补码的形式表示的 正数的原码,反码,补码都一样; 要得到负数的补码,必须先求负数的反码,负数的反码;负数的反码按位1改成0,0改成1;负数的补码等于反码+1 分享一个,有很多干货,包含netty,spring,线程,spring cloud等详细讲解,也有详细的学习规划图,面试题整理等,我感觉在面试这块讲的非常清楚:获取面试资料只需: 点击这里领取!!! 暗号:CSDN 2.ThreadPoolExecutor简单示例 public class ThreadPoolExecutorTest { ​ public static void main ( String [ ] args ) { BlockingQueue b = new ArrayBlockingQueue ( 100 ) ; ​ ThreadPoolExecutor threadPoolExecutor

【后端】nested exception is java.lang.IllegalStateException RequestParam.value() was empty on parameter

吃可爱长大的小学妹 提交于 2020-10-24 09:55:49
问题 A服务调B服务 报: Error creating bean with name 'com.xzlcorp.contact.api.rest.IssueRESTAPI' : FactoryBean threw exception on object creation ; nested exception is java . lang . IllegalStateException RequestParam . value ( ) was empty on parameter 0 // 主要看这个 nested exception is java . lang . IllegalStateException RequestParam . value ( ) was empty on parameter 0 Spring Cloud 中的服务启动时出现的异常: 原因 是B服务中的某个方法传的参数,如 @RequestParam(“userId”) String userId 中的扩号 加里面的参数名忘记写了。 低级 以此记录 来源: oschina 链接: https://my.oschina.net/u/4265623/blog/4686891

第12课:分布式锁

早过忘川 提交于 2020-10-24 08:49:23
本达人课讲述的是基于 Spring Cloud 的分布式架构,那么也带来了线程安全问题,比如一个商城系统,下单过程可能由不同的微服务协作完成,在高并发的情况下如果不加锁就会有问题,而传统的加锁方式只针对单一架构,对于分布式架构是不适合的,这时就需要用到分布式锁。 实现分布式锁的方式有很多,本文结合我的实际项目和目前的技术趋势,通过实例实现几种较为流行的分布式锁方案,最后会对不同的方案进行比较。 基于 Redis 的分布式锁 利用 SETNX 和 SETEX 基本命令主要有: SETNX(SET If Not Exists):当且仅当 Key 不存在时,则可以设置,否则不做任何动作。 SETEX:可以设置超时时间 其原理为:通过 SETNX 设置 Key-Value 来获得锁,随即进入死循环,每次循环判断,如果存在 Key 则继续循环,如果不存在 Key,则跳出循环,当前任务执行完成后,删除 Key 以释放锁。 这种方式可能会导致死锁,为了避免这种情况,需要设置超时时间。 下面,请看具体的实现步骤。 1.创建一个 Maven 工程并在 pom.xml 加入以下依赖: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

(五)海哇VR全景电商平台-海哇VR购物车模块(Spring Cloud B2B2C 电子商务)

邮差的信 提交于 2020-10-24 06:42:20
海哇VR全景电子商务平台中“购物车”模块设计: 1. 海哇 购物车列表显示,包括:商品标题、主图、价格、所属店铺等 2. 海哇 购物车列表按照海哇商家店铺进行分组 3. 海哇 购物车中商品数量修改 4. 海哇 购物车商品移除 5. 海哇 购物车单个商品结算或批量结算 海哇VR全景改变了传统电商购物模式、增强了用户视觉感、让实体变成虚拟、让虚拟真实体验,海哇VR全景平台改变了生活,它是5G互联网真正的产物! 来源: oschina 链接: https://my.oschina.net/u/3613013/blog/4617516

SpringBoot整合Spring Security和OAuth2

↘锁芯ラ 提交于 2020-10-24 06:31:41
OAuth2介绍 OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。OAuth不需要用户提供用户名、密码等信息,就可以实现多个系统之间的资源共享。 OAuth2的四中授权模式 授权码模式 简易模式 密码模式 客户端模式 测试环境 openjdk11 springboot 2.3.1 spring security spring cloud oauth2 项目地址 https://gitee.com/randomObject/springboot_security_oauth 测试项目结构 因为spring OAuth2封装好了常用的认证授权操作,所有需要使用OAuth2提供的表结构。项目中有提供。 父工程pom文件 <?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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

Java 最常见的 208 道面试题:第十一模块答案

烈酒焚心 提交于 2020-10-24 00:46:21
十一、Spring Boot / Spring Cloud 104. 什么是 spring boot? 在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建<bean>,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、常量数据等。 SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。 105. 为什么要用 spring boot? Spring Boot使编码变简单 Spring Boot使配置变简单 Spring Boot使部署变简单 Spring Boot使监控变简单 Spring的不足 106. spring boot 核心配置文件是什么? Spring Boot提供了两种常用的配置文件: properties文件 yml文件 107. spring boot 配置文件有哪几种类型?它们有什么区别? Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件