九又四分之三站台

0%

动态规划原理

动态规划与分治法类似,都是把大问题拆分成小问题,通过寻找大问题与小问题的递推关系,解决一个个小问题,最终达到解决原问题的效果。但不同的是,分治法在子问题和子子问题等上被重复计算了很多次,而动态规划则具有记忆性,通过填写表把所有已经解决的子问题答案纪录下来,在新问题里需要用到的子问题可以直接提取,避免了重复计算,从而节约了时间,所以在问题满足最优性原理之后,用动态规划解决问题的核心就在于填表,表填写完毕,最优解也就找到。

阅读全文 »

在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Nginx),再到达服务网关(zuul集群),然后再到具体的服务。

阅读全文 »

一个能够为基于Spring的企业应用系统提供声明式的安全訪问控制解决方式的安全框架(简单说是对访问权限进行控制嘛),应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。spring security的主要核心功能为 认证和授权,所有的架构也是基于这两个核心功能去实现的。

阅读全文 »

二叉查找树(BST)是一颗二叉树,也叫二叉搜索树,每个节点的键都大于其左子树的节点的键任意节点的键而小于右子树的任意。

阅读全文 »

Feign是一个声明式的伪Http客户端,使用Feign,只需要创建一个接口并注解。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。

  • Feign采用基于接口的注解
  • Feign整合了Ribbon,具有负载均衡能力
  • 整合了Hystrix,具有熔断能力
阅读全文 »

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。

阅读全文 »

Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件

它主要包括两个组件:Eureka Server 和 Eureka Client

  • Eureka Client:一个Java客户端,用于简化与 Eureka Server 的交互(通常就是微服务中的客户端和服务端)
  • Eureka Server:提供服务注册和发现的能力(通常就是微服务中的注册中心)
阅读全文 »

多数据源

在项目中有时候需要同时连接多个数据库,这些数据库可能是各不相同的,这个时候就要去配置多数据源。

用spring boot 配置jpa的多数据源,首先要在配置文件中添加相关数据库配置

阅读全文 »

类与类加载器

比较两个类是否相等,只有在这两个类是有同一个类加载器加载的前提下才有意义,否则即便是来自同一个Class文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那这两个类就不相等

双亲委派模型

从JVM角度,类加载器分为两种:一种是启动类加载器(Bootstrap ClassLoader),由C++实现是JVM的一部分,另一种就是其他所有的类加载器,有Java实现独立虚拟机外部

阅读全文 »

什么是事务

简单的说,事务就是一组原子性的SQL操作(insert,update,delete),这一组 SQL 要么全部执行成功,要么全部执行失败。

一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

阅读全文 »