摘要:
DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(DRIVER_CLASS_NAME); dataSource.setUrl(book.getDbUrl()); dataSource.s 阅读全文
摘要:
本文引用spring版本4.3.1,原文 基本流程 主要从Bean的注册和初始化两个方面入手 类引用关系 spring源码解读 1、spring bean的注册 从启动类进入 接下来,就是 refresh(),这里简单说下为什么是 refresh(),而不是 init() 这种名字的方法。因为 Ap 阅读全文
摘要:
问题一、 在实际使用zuul发现一个问题,在路由地址无法抵达时,zuul抛出 Filter threw Exception ,屏蔽了实际错误。 通过阅读源码可得,zuul会抛出ZuulException异常,将RunTimeException封装在内部。 需要使用throwable拦截器捕获。 重写 阅读全文
摘要:
一、循环依赖与加载类型、作用域的关系 在开始介绍各种情况之前,首先要了解以下三个知识点: Spring中依赖注入的方式有两种,属性注入与构造器注入。上面的代码中,类A就是通过属性注入的方式注入了B,类B是通过构造器注入的方式注入了A。 Spring中的bean根据作用域的不同,可以大体分为两类,si 阅读全文
摘要:
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。 1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。 1.3 OSI是一种 阅读全文
摘要:
一、基础流程 ApplicationContext初始化时建立所有url和Controller类的对应关系(AbstractHandlerMethodMapping类MappingRegistry 维护Map<URL,HandlerMethod>). 1、url和Controller的beanNam 阅读全文
摘要:
一、分布式事务前奏 事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。 本地事务:当事务由资源管理器本地管理时被称作本地事务。本地事务的优点就是支持严格的ACID特性,高效,可靠,状态可以只在资源管理器中维护,而且应用编程模型简单。但是本地事 阅读全文
摘要:
分布式锁 一、要求 当我们在设计分布式锁的时候,我们应该考虑分布式锁至少要满足的一些条件,同时考虑如何高效的设计分布式锁,这里我认为以下几点是必须要考虑的。 1、互斥 在分布式高并发的条件下,我们最需要保证,同一时刻只能有一个线程获得锁,这是最基本的一点。 2、防止死锁 在分布式高并发的条件下,比如 阅读全文
摘要:
JAVA基础 数字类转换 禁止使用构造方法 BigDecimal(double) BigDecimal(double) 存在精度损失风险,在精确计算或值比较的场景中可能会导致业务逻辑异常。反例: BigDecimal value = new BigDecimal(0.1D); // 0.100000 阅读全文
摘要:
数据库结构(原文) 在 InnoDB 存储引擎中,所有的数据都被逻辑地存放在表空间中,表空间(tablespace)是存储引擎中最高的存储逻辑单位,在表空间的下面又包括段(segment)、区(extent)、页(page): 1、.frm 文件用来描述表的格式或者说定义; 2、.ibd 文件 数据 阅读全文