• Java集合框架:Collection和Map

    作者: 陆金龙       发表时间: 2019-08-05 08:53
    关键词:Collection,TreeSet ,EnumSet ,LinkedList,PriorityQueue,ArrayDequeMap,LinkedHashMap,IdentityHashMap,TreeMap,WeakHashMap,ConcurrentHashMap,锁分段
    1.Java集合框架体系 Java集合框架:从Collection和Map两大根接口延伸出来的子接口和实现类。 1.1 Collection Collection没有get方法来获取某个元素,只能通过Iterator遍历元素。 1.1.1 Set 不包含重复元素的集合,根据equals方法判读两个对象是否相同。 HashSet类 无序的,加入的元素要注意hashCode()方法的实现,元素可以是null。 LinkedHashset 继承自HashSet,使用链表维护元素次序,根据元素的hashCode值决定元素的存储位置。性...
  • Java历史版本

    作者: 陆金龙       发表时间: 2019-08-05 03:21
    关键词:版本付费问题,历史版本清单,Java SE5,Java8,Java SE8,Java SE11
    1.版本及付费问题 GPL v2+CPE:官方Blog:java 11及以后发布许可证解释,按照解释,java 11以后,openjdk和oracle jdk本质上来说是完全一致的,只不过需要付费许可证的高级特性在openjdk中是不可用的,现在如果用了,在编译时会报错。这一点很重要,也就是说,除去高级特性的部分,openJDK和oracle JDK是可以互换的。 对于java 9和10,属于过渡版本,oracle官方也只是提供了6个月的支持期,所以可以不用考虑。 怎么选择 对于需要部署jdk运行环境的企业,将不可避免的面临以下选择: java 8: ...
  • SpringCloud项目构建过程

    作者: 陆金龙       发表时间: 2019-08-02 23:57
    关键词:eureka服务注册,Ribbon负载均衡,Feign声明式HTTP客户端、Hystrix断路器、Zuul路由网关、Sleuth服务链路追踪、Config配置中心
    SpringCloud架构图 SpringCloud项目构建过程 SpringCloud项目(一)数据库设计 SpringCloud项目(二)基础工程构建 SpringCloud项目(三)Eureka服务注册与发现 SpringCloud项目(四)Ribbon负载均衡 SpringCloud项目(五)Feign 声明式HTTP客户端 SpringCloud项目(六)Hystrix断路器 SpringCloud项目(七)Zuul路由网关 SpringCloud项目(八)Sleuth服务链路追踪 Spring...
  • SpringCloud项目(九)Config 配置中心

    作者: 陆金龙       发表时间: 2019-08-02 11:44
    关键词:GitLab配置文件,Spring cloud config server
    3.9 Config 配置中心 总体思路:1.部分配置项的配置文件在gitlab上维护;2.springcloud config server工程与gitlab建立关联,从gitlab获取配置信息;3.微服务在bootstrap.yml中配置config服务地址和选项,通过springcloud config server获取配置信息。 3.9.1 在Gitlab上添加配置文件 在当前项目的gitlab仓库下添加config-reposity目录,在目录下添加2个配置文件 注:config-reposity目录下如果存在application.yml,访问其他任...
  • SpringCloud项目(八)Sleuth服务链路追踪

    作者: 陆金龙       发表时间: 2019-08-02 11:39
    关键词:spring.sleuth.sampler.percentage ,spring.zipkin.enabled= true,Sleuth延时
    3.8 Sleuth服务链路追踪 3.8.1 创建项目,配置pom.xml 创建maven module项目klblog-sleuth,配置pom.xml <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <depe...
  • SpringCloud项目(七)Zuul路由网关

    作者: 陆金龙       发表时间: 2019-08-02 11:31
    关键词:EnableZuulProxy ,ZuulFilter
    3.7 Zuul路由网关 3.7.1 创建工程,配置pom.xml 创建maven module工程klblog-zuul-gateway,配置pom.xml依赖项 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- ...
  • SpringCloud项目(六)Hystrix断路器

    作者: 陆金龙       发表时间: 2019-08-02 11:27
    关键词:Hystrix断路器,雪崩效应,服务熔断,服务降级,FallbackFactory
    应对雪崩效应的一种微服务链路保护机制。当链路中某个微服务不可用或者响应时间,会进行服务的降级,进而熔断该节点微服务的调用。快速返回“错误”的响应信息。   服务熔断:某个服务故障或异常引起,当某个异常条件被触发,直接熔断整个服务。 服务降级:当某个服务熔断之后,服务器将不再被调用。 服务熔断和降级的作用: 生产者服务异常时,如果所有接口请求都长时间等待直到服务超时,会导致消费者服务器大量的请求等待挂起,大面积占用服务器的资源,耗死消费者服务器。这样逐级传递可能引发服务器的雪崩效应。 通过熔断和降级,当客户端发现服务异常后,后续请求不再去...
  • SpringCloud项目(五)Feign 声明式HTTP客户端

    作者: 陆金龙       发表时间: 2019-08-02 11:19
    关键词:Feign,Feign负载均衡
    Feign自带负载均衡。   面向接口调用微服务,相对于RestTemplate代码更优雅,也更符合MVC的开发习惯。 Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。   Spring Cloud Feign是基于Netflix feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix。创建一个接口并用注解方式配置它,即可完成服务提供方的接口绑定。简化了...