![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 86
向阳向日葵
把知识先简单化,然后再复杂化
展开
-
Ribbon负载均衡算法原理与源码解读
Ribbon负载均衡算法负载均衡算法原理负载均衡算法源码解读RoundRobinRule源码解读负载均衡算法原理算法原理为:通过rest接口第几次请求数 % 服务器集群总数量 获取实际调用服务器位置的下标,每次服务重启后,rest接口第几次请求计数从1开始。可以想象一下,你要对一个服务器进行请求,然后负载均衡的默认算法是轮询算法,即你要保证你的请求对所有服务器集群是一个轮换的机制。又因为取余数便总能够得到比集群总数量小的数,联想数组下标,我们这个取的余数即可作为数组下标,当然这边理解为服务器原创 2021-11-12 10:02:38 · 697 阅读 · 0 评论 -
Cookie与Session
Cookie与SessionCookie1、什么是cookie2、如何创建cookie3、服务器如何获取Cookie4、Cookie值的修改5、浏览器查看Cookie6、Cookie生命控制7、Cookie有效路径Path的设置8、Cookie免输入用户名登录思路Session1、什么是Session会话2、创建Session与获取(SessionId)3、Session域数据的存取4、Session生命周期的控制5、浏览器和Session之间的关联Cookie1、什么是cookiecookie是服原创 2021-07-30 00:06:09 · 138 阅读 · 2 评论 -
IOC、DI、AOP与Spring Boot常用注解
Spring相关IOC、DI、AOPSpring Boot常用注解Spring Boot启动原理IOC、DI、AOPIOC(inversion of control:控制反转)在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你想要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个原创 2021-04-09 00:17:25 · 206 阅读 · 0 评论 -
Spring Boot启动详解
Spring Boot启动详解从启动类开始核心注解@SpringBootApplication三个注解@Configuration@ComponentScan@EnableAutoConfiguration@AutoConfigurationPackage@Import(AutoConfigurationImportSelector.class)注解总结自动配置的关键SpringFactoriesLoaderSpringBoot启动原理1)SpringApplication实例初始化及设置2)执行run方法原创 2021-04-09 00:16:20 · 325 阅读 · 0 评论 -
ArrayList、LinkedList和HashMap源码梳理
集合框架源码ArrayListadd(E e):新增元素get(int index):获取元素set(int index, E element):设置元素remove(int index):删除元素LinkedListadd(E e):新增元素get(int index):获取元素HashMapput(K key, V value)ArrayListadd(E e):新增元素1、先判断是否需要扩容,如果需要就进行扩容,然后将元素存在size的位置,如果ArrayList为空的时候,进来的第一个元素,原创 2021-03-12 01:10:23 · 1450 阅读 · 18 评论 -
泛型的世界
泛型的世界什么是泛型泛型的基础泛型类泛型方法泛型类派生出的子类类型通配符泛型的上限与下限类型擦除与桥接方法什么是泛型泛型的本质是指类型参数化允许在定义类、接口、方法时使用类型形参,当使用时指定具体类型所有使用该泛型参数的地方都被统一化,保证类型一致。如果未指定具体类型,默认是Object类型。集合体系中的所有类都增加了泛型,泛型也主要用在集合。泛型的基础泛型类/** * 泛型类 * */public class ClassGenericity { public static v原创 2021-03-10 01:52:44 · 127 阅读 · 2 评论 -
无所不能的反射
反射反射类加载的区别JVM类加载流程和内存结构Class文件包含的内容生成对象的步骤获取Class类实例的三种方式通过反射创建对象反射的使用获得属性获得私有属性获得public属性值获得private属性获得protected属性获得default属性反射的应用反射类加载的区别我们来看以下这张图,图中的RTTI方式,我们编写完java代码就进行编译,即在编译器我们就生成了class文件,这个过程就是我们常规的对一个对象的创建过程,在运行期我们再将其加载到内存中,进行运作:Animal animal原创 2021-03-10 00:45:42 · 105 阅读 · 1 评论 -
闲谈设计模式
设计模式六大原则单一职责迪米特法则接口隔离原则里氏替换依赖倒置开闭原则工厂模式简单工厂模式白话解说UML类图![在这里插入图片描述](https://img-blog.csdnimg.cn/20210301205647517.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTEwOTc2Mw==,size_16,color_FF原创 2021-03-07 22:33:47 · 210 阅读 · 0 评论 -
JAVA艺术之异常手段
异常:程序在运行过程中发生由于外部问题(如硬件错误、输入错误)等导致的程序异常事件。(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。原创 2020-10-24 14:14:28 · 309 阅读 · 0 评论 -
好像很厉害的Lambda,其实一点也不难
Lambdalambda表达式格式解释省略:使用前提实例代码lambda表达式java8新特性lambda表达式:是可推导,可以省略凡是根据上下文推导出来的内容,都可以省略书写格式lambda表达式的标准格式:由三部分组成:a.一些参数b.一个箭头c.一段代码格式:(参数列表) -> {一些重写方法的代码}解释():接口中抽象方法的参数列表,没有参数就空着;由参数就写出参数,多个参数使用逗号分隔->:传递的意思,参数传递给方法{}:重写接口的抽象方法的方法体省略:原创 2020-06-17 23:11:39 · 334 阅读 · 0 评论