摘要:
一、第一类服务注册到eureka中,获取服务列表 1、基于SpringClientFactory获取服务列表 /** * <一句话功能简述> * <功能详细描述> * * @author hyf * @version [版本号, 2019/7/2] * @see [相关类/方法] * @since 阅读全文
摘要:
一、把数组转成ArrayList List<String> list = Arrays.asList(arr); //以下带伪代码来自Arrays类中public static <T> List<T> asList(T... a) { return new ArrayList<>(a);}priva 阅读全文
摘要:
完全不必要的 Else 块 public void consumer(int product) { if (product > 1) { // do something } else { // do something elsea } } 只需删除 else` 块即可简化此过程 public voi 阅读全文
摘要:
Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byte short int char String 。但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,witch对整型的支持是怎么实现的呢 阅读全文
摘要:
事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。 关于事务的基础知识,如什么是事务,数据库事务以及Spring事务的ACID、隔离级别、传播机制、行为等,就不在这篇文章中详细介绍了。默认大家都有一定的了解。 本文,作者会先简单介绍下什么 阅读全文
摘要:
一、基于LinkedHashMap源码分析 方法调用流程(这里只是以put方法位例) put() -> putVal() -> afterNodeInsertion() -> removeEldestEntry() //向Map中添加元素 public V put(K key, V value) { 阅读全文
摘要:
1、实现动态路由的关键是RouteDefinitionRepository接口,该接口存在一个默认实现(InMemoryRouteDefinitionRepository) 通过名字我们应该也知道该实现是将配置文件中配置的信息加载到内存中。因此无法实现动态路由。 2、如果想实现动态路由,我们可以参考 阅读全文
摘要:
面:你怎样理解volatile关键字时? 我:不加思索的说出,volatile修饰的成员变量,可保证线程可见性、不保证原子性和禁止指令重排。 面:你能谈谈什么是线程可见性吗? 我:各个线程对主内存中共享变量的操作都是各个线程各自拷贝到自己的工作内存进行操作,操作完成后再写回主内存中的.例如一个线程A 阅读全文
摘要:
一、开闭原则 开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对 扩展开放,对修改关闭。 所谓的开闭,也正是对扩展和修改两个行为的一个原则。强调 的是用抽象构建框架,用实现扩展细节。 可以提高软件系统的可复用性及可维护性。开 闭原则,是面向对象设计 阅读全文
摘要:
一、 Spring 中常见的设计模式 工厂模式 : BeanFactory 装饰器模式: BeanWrapper 代理模式: AopProxy 单例模式: ApplicationContext 委派模式: DispatcherServlet 策略模式: HandlerMapping 适配器模式: H 阅读全文