SeeFly seefly的个人博客

Java总结

1、java基础 1.1 常见问题 自动拆箱装箱/缓存 byte,short,int,long都有自己的缓存池,范围是-128 127。当通过 Integer a = 123进行赋值的时候,会经过jvm优化使用它内部的缓存池。这样两个同样方式赋值的且在范围内的包装类型他们指向的是同一个对象。其次Bo

seefly 发布于 2021-05-24

前端使用xlsx.js导出有复杂表头的excel

前端使用xlsx.js导出有复杂表头的excel 参考: Vue项目中使用xlsx-style导出有格式的表格,这个博客中的实现是针对单个excel手写合并样式,比较繁琐。 我这里实现了根据table的表头数据结构,自动生成和页面上相同的excel表格。 1、简介 需求要导出表格数据到excel,本

seefly 发布于 2020-11-03

Eureka源码分析-(6)服务发现-增量获取

Eureka源码分析-(6)服务发现 总结 客户端 通过配置eureka.client.fetch-registry=true开启拉取注册表,eureka.client.registry-fetch-interval-seconds=30拉取周期,这个拉取周期建议不要超过180秒,因为服务端的最近变

seefly 发布于 2020-10-10

Eureka源码分析-(5)服务发现

Eureka源码分析-(5)服务发现 一、服务发现之全量获取 如果开启了拉取注册列表 eureka.client.fetch-registry=true,那么在实例启动的时候,会执行一次全量获取,从注册中心拉取全量的注册表到本地缓存,之后按照默认配置eureka.client.registry-fe

seefly 发布于 2020-10-10

Eureka源码分析-(4)服务剔除.md

Eureka源码分析-(4)服务剔除/过期 一、自我保护机制 在说服务剔除之前了解一下Eureka的自我保护机制; 简单点来说,在某段时间内Eureka Server丢失了过多的客户端(就是收到的心跳数少了很多),这个时候Eureka Server就认为自己的网络出现了问题发生了网络分区,收到到心跳

seefly 发布于 2020-10-10

Eureka源码分析-(3)服务注销.md

Eureka源码分析-(3)服务注销/下线 一、服务端发起注销 1、触发注销 和服务主动注册一样,利用Spring生命周期的stop阶段,触发一次注销动作 @Override public void EurekaAutoServiceRegistration#stop() { // 调用下面这个

seefly 发布于 2020-10-10

Eureka源码分析-(2)心跳续约

Eureka源码分析-(2)心跳续约 一、服务端定时发送心跳 1.初始化 入口还是在DiscoveryClient#initScheduledTasks这里,逻辑还是比较简单的 默认情况下,程序启动之后会以30s/次的频率向注册中心发送心跳续约。超时时间为90s,也就是说允许三次心跳失败。如果超过9

seefly 发布于 2020-10-10

Eureka源码分析-(1)服务注册

Eureka源码分析-(1)服务注册 一、程序启动首次注册 整合了配合SpringCloud用起来非常方便,因为有Spring的自动化配置。 1、spring.factories 比较重要的是EurekaClientAutoConfiguration自动配置类 org.springframework

seefly 发布于 2020-10-09

SpringAOP的一些基本概念及原理

一、SpringAOP基本概念 1、JoinPoint 连接点 连接点就是程序调用过程中经过的一些点,例如方法调用、字段访问、异常处理等。在SpringAOP中仅支持到方法级别的连接点。所以后面所有的操作都是针对于方法级别的AOP。 2、PointCut 切入点 由于所有方法上都具有连接点,而我们实

seefly 发布于 2020-07-30

Maven系列-坐标和依赖

Maven 1、软件目录 bin 包含了mavn运行脚本 boot 只有一个plexus-classworlds-xx.jar是一个类加载器框架。相对于java类加载器,他提供了更加丰富的语法方便配置。 conf 包含setting.xml配置文件,这是全局配置文件,在~/.,2/setting下是

seefly 发布于 2020-07-07