05 2019 档案
摘要:[TOC] 一、Zuul 介绍 通过前几篇文章的介绍,我们了解了Spring Cloud Eureka 如何搭建注册中心,Spring Cloud Ribbon 如何做负载均衡,Spring Cloud Hystrix 断路器如何保护我们的服务,以防止雪崩效应的出现,Spring Cloud F
阅读全文
摘要:一、JavaDoc 简介 LinkedList双向链表,实现了List的 双向队列接口,实现了所有list可选择性操作,允许存储任何元素(包括null值) 所有的操作都可以表现为双向性的,遍历的时候会从首部到尾部进行遍历,直到找到最近的元素位置 注意这个实现不是线程安全的, 如果多个线程并发访问链表
阅读全文
摘要:[TOC] ArrayList简介: java.util.ArrayList 是我们最常用的一个类,ArrayList 底层是动态数组,读者可以把它理解为数组的实现 如上代码我们可以看到 ArrayList 继承了 AbstractList() 抽象类,并实现了 List, RandomAccess
阅读全文
摘要:[TOC] 一、问题初探 我今天在使用Ribbon 远程调用的时候 消费者去消费服务端所提供的服务,在使用Post请求中的PostForEntity传递参数的时候,我是这样写的 Ribbon 消费端: User 是一个 Pojo 对象,代码如下: Ribbon 服务端: 就是一个很简单的Ribbon
阅读全文
摘要:一、大型网站系统的特点 高并发,大流量: 需要面对高并发用户,大流量访问,Google日均PV数为35亿,日均IP访问数为3亿,2011年腾讯QQ最大用户在线数1.4亿,淘宝2012年双11活动一天交易额191亿,活动开始第一分钟独立访问用户达1000万 拓展: PV、UV、IV的概念 PV: PV
阅读全文
摘要:[TOC] 一、简介 是一个基于HTTP 和 TCP的客户端负载工具,它基于Netflix Ribbon实现,我们可以使用它来进行 的调用。它不像Zuul 和 Eureka 等可以独立部署,它虽然是一个工具类框架, 但是几乎所有的Spring Cloud微服务架构和基础设施都离不开它,包括后面所
阅读全文
摘要:[TOC] 一、Hystrix 是什么 在微服务架构中,我们将系统拆分成了若干弱小的单元,单元与单元之间通过HTTP或者TCP等方式相互访问,各单元的应用间通过服务注册与订阅的方式相互依赖。由于每个单元都在不同的进程中运行,依赖 的方式执行,这样就可能引起因为网速变慢或者网络故障导致请求变慢或超
阅读全文
摘要:[TOC] 一、Feign是什么? 通过对前面 和 ,我们已经掌握了开发微服务应用时的两个重磅武器,学会了如何在微服务框架中进行 和如何 来保护我们的服务,这两者被作为基础工具类框架广泛的应用在各个微服务框架中。既然这两个组件这么重要,那么有没有更高层次的封装来整合这两个工具以简化开发呢? 就是
阅读全文
摘要:服务治理: Spring Cloud Eureka [TOC] 一、简介 是`Spring cloud netfilx Netflix Eureka`做了二次封装,主要职责完成Eureka 中的服务治理功能 本篇主要探讨如下: 服务治理和Eureka简介 构建服务注册中心 服务注册与服务发现 Eur
阅读全文
摘要:相同: Spring提供了两种不同的IOC 容器,一个是BeanFactory,另外一个是ApplicationContext,它们都是Java interface,ApplicationContext继承于BeanFactory(ApplicationContext继承ListableBeanFa
阅读全文
摘要:一、PropertySource 简介 org.springframework.context.annotation.PropertySource 是一个注解,可以标记在类上、接口上、枚举上,在运行时起作用。而@Repeatable(value = PropertySources.class)
阅读全文
摘要:一、PropertyPlaceholderConfigurer 的继承体系 PropertyPlaceholderConfigurer位于org.springframework.beans.factory.config 包下,它的继承体系如下 PropertyPlaceholderConfigu
阅读全文
摘要:一、ServletConfig 和 ServletContext 的概念 我们都知道Servlet是框架的灵魂,学习web框架最底层离不开Servlet的支持,那么Servlet 是什么呢?如何创建一个Servlet 不是本文的重点,相关文章可以参考 谈谈你对Servlet 的理解: https
阅读全文
摘要:前言 这其实是一道面试题,是我在面试百度的时候被问到的,当时没有答出来(因为自己真的很菜),后来在网上寻找答案,看到也是一头雾水,直到看到了《Spring in action》这本书,书上有对Bean声明周期的大致解释,但是没有代码分析,所以就自己上网寻找资料,一定要把这个Bean生命周期弄明白
阅读全文
摘要:一、JavaDoc解释 String类表示字符串,所有Java程序中的字符串像是"abc"都是此类的实例,**字符串是恒定的,不可变的,**字符串的值一旦创造就不能被更改,字符串缓冲区支持可变 因为String对象是不可变的,所以能够被共用 String str = "abc"; // 等同于 ch
阅读全文
摘要:一、Enum Review Java Enum(枚举)是jdk1.5介绍的新特性,使用Java Enum能够更有效的定义集合和常量,使用Enum 也能够增加程序的观赏性和可读性,但是有时候我们使用Enum 需要把它从Java Enum转换为String类型,下面是具体用法 一般常量的定义 pub
阅读全文
摘要:习惯用法 for、foreach循环、iterator迭代器都是我们常用的一种遍历方式,你可以用它来遍历任何东西:包括数组、集合等 for 惯用法: List<String> list = new ArrayList<String>(); String[] arr = new String[]{"1
阅读全文
摘要:说明 asList 是 java.util.Arrays 类的一个方法 public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } 官方的解释: 返回由指定数组支持的固定大小的列表,这个方法是array 和 coll
阅读全文
摘要:一个Java 程序要经过编写、编译、运行三个步骤,其中编写代码不在我们讨论的范围之内,那么我们的重点自然就放在了编译 和 运行这两个阶段,由于编译和运行阶段过程相当繁琐,下面就我的理解来进行解释: Java程序从源文件创建到程序运行要经过两大步骤: 1、编译时期是由编译器将源文件编译成字节码的过程
阅读全文
摘要:对Comparable 的解释 Comparable是一个排序接口 此接口给实现类提供了一个排序的方法,此接口有且只有一个方法 public int compareTo(T o); compareTo方法接受任意类型的参数,来进行比较 list或者数组实现了这个接口能够自动的进行排序,相关类的方法有
阅读全文
摘要:从Java 5.0起,您可以使用java.lang.SuppressWarning注释,来停用与编译单元子集相关的编译警告 作用:用于抑制编译器产生警告信息。 Idea 设置泛型检查,变量、方法未使用检查 从 eclipse 转换到idea 发现有很多不习惯的地方,比如说 String s; Lis
阅读全文
摘要:说明: @SafeVarargs 是jdk1.7引入的适用于可变参数与泛型能够更好结合的一个注解。 官方解释: 程序员认定带有注释的主体或者构造函数不会对其执行潜在的不安全操作 将此注释应用于未经检查的方法或者构造器在"不可具体化"的和未经检查的参数类型 警告关于所有数组参数创建的时候 除了强加使用
阅读全文