自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (2)
  • 收藏
  • 关注

原创 mysql索引

一、分区二、分层1)client2)server连接器分析器优化器执行器3)存储引擎三、日志1)binlog两阶段提交2)redolog两阶段提交3)undologmvcc4)慢日志九、问题1、b+树占几层2、创建索引int 好还是varchar 好int 4个字节varchar 自己指定尽量减少key值得占用空间页分裂 、3、一个表中可以有多少个索引。4、假如有三个索引,数据要存储几份一份5、如果数据只存储一份 ,其他索引怎么检索到数据呢回表主键-

2022-02-26 17:04:36 510

原创 zookeeper zab 协议

一、简介Zookeeper 通过ZAB保持分布式事务的最终一致性https://img.jacian.com/note/img20201228214732.png所有事务必须由一个 全局唯一的服务器来协调处理 ,这样的服务器被称为Leader服务器,余下的服务器则称为Follower服务器Leader服务器负责将一个客户端事务请求转化为一个事务Proposal(提案),并将该Proposal分发给集群中所有的Follower服务器Leader服务器等待所有Follower服务器的反馈,一旦超过半数

2022-02-26 14:55:52 966

原创 Java反射使用指南

一、Java反射获取类1.1 通过类全名Class c = Class.forName("com.vo.Person");1.2 通过类型获取Class c =Person.class;1.3 使用getClass();Person person = new Person("zm",22);Class c = person.getClss;1.4 通过类加载器 ClassLoader classLoader = this.getClass().getClassLoader

2021-07-05 23:44:34 155

原创 Java高效开发工具汇总

目录Java高效开发工具汇总 21、集成开发环境 22、测试 23、集成 34、应用服务器 45、Web应用测试 46、质量分析 57、版本控制 58、持续集成 69、Java 应用分析 610、代码覆盖工具 711、Bug跟踪 712、文档生成工具 713、 数据建模 814、 java工具类 8Java高效开发工具汇总Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系

2021-07-04 14:50:18 444

原创 Spring源码-IOC

Spring Injection一、什么是 Spring Injection二、使用2.1实现流程1、对象 get \set2、配置bean property3、 getBean2.2 set注入2.2.1 分类1、JDK内置 String +8种基本类型 案例: <bean id="conn" class="com.baizhiedu.factorybean.ConnectionFactoryBean"> <pro

2021-07-04 13:23:39 71

原创 idea插件篇

一、汇总大纲图

2021-07-04 12:20:30 102

原创 Spring源码-refresh

一、整体流程 AbstractApplicationContext1.1 AbstractApplicationContext.refesh@Override public void refresh() throws BeansException, IllegalStateException { synchronized (this.startupShutdownMonitor) { // Prepare this context for refreshing. // 初始化前的准备工

2021-07-04 01:40:16 148

原创 Sprin源码-高级话题整体梳理

一、大纲1.1 高级话题1.2二、Springboot 开发测试三、数据缓存

2021-07-04 01:24:50 73

原创 Spring源码-bean

一、Spring 对象生命周期

2021-07-04 00:04:08 170 3

原创 Spring源码学习心法

一、spring1.1 方法1)注释2)使用工具3)先梳理脉络4)见名知意5)大胆猜测,小心验证二、环境搭建spring一、源码下载1)官网下载太慢 ,连续下载了两天,中断了N次 ,最后从开源中国上下载https://tool.oschina.net二、环境搭建1)gradle 安装 官网同样是下载不下来 ,在百度网盘上下载了。2)gradle 环境变量配置1、修改bash_profile 1、vim ~/.bash_profile2、添加gradle 配置 G

2021-07-04 00:03:55 139

原创 Spring源码 -注解

一、Spring annotation1.1 配置优先级覆盖1.2 基于注解解耦合1.3 多配置信息的整合@Import扫描配置bean所在的包创建工厂指定多个bean1.4 跨配置注入1.5 思维一体开发思想基于schema基于特定功能注解基于原始基于@bean推荐:<context:property-placeholder>@PropertySource <bean id ="" class ="PropertySourc

2021-07-03 20:26:57 154

原创 Spring源码-动态代理底层原理

一、动态代理开发步骤 1、创建原始对象 <bean id ="userService" class ="userServiceImpl"> 2、额外功能 MethodBeforeAdvice接口 额外功能写在接口实现类中,原始方法执行之前 public class Before implements MethodBeforeAdvice{ @Override public void before(Method method ,Ob

2021-07-03 20:13:37 337 1

原创 Java基础-多线程

2021-07-03 16:10:52 51

原创 Java基础-网络编程

一、大纲

2021-07-03 13:18:10 66

原创 Java基础-序列化

一、大纲二、

2021-07-03 13:02:36 54

原创 Java基础-泛型

一、泛型二、使用2.1 上限 ? extends List 2.2 下限? super List

2021-07-03 12:51:35 60

原创 Java基础-集合框架

2021-07-03 12:11:06 58

原创 Java基础-Stream流

一、文件流

2021-07-03 12:09:21 176

原创 Java基础-数据类型

一、Number二、String三、数组

2021-07-03 11:59:58 75

原创 Java基础-数据类型

一、基本数据类型1.11.2二、Java 变量类型三、 Java 修饰符

2021-07-03 09:58:20 45

原创 Java基础篇-面向对象

a a a

2021-07-02 22:40:58 49

原创 mybatis plus插件包

一、大纲二、增删改查三、常用注解

2021-07-02 22:39:14 121

原创 运维体系化管理

2021-07-02 22:27:48 119

原创 springboot导图

2021-07-01 23:05:24 81

原创 后端成长导图

2021-07-01 22:53:26 52

原创 Mybatis 源码

一、mybatis源码分析

2021-06-25 23:28:55 78

原创 Spring如何解决循环依赖

一、依赖方式

2021-06-24 20:45:00 130

原创 数据结构基础-二叉树

一、什么是树树是由结点和边组成的,不存在环的一种数据结构。通过下图,我们就可以更直观的认识树的结构。二、树的种类2.1 满二叉树满二叉树,定义为只有最后一层无任何子结点,其他所有层上的所有结点都有两个子结点的二叉树。2.2 完全二叉树完全二叉树,定义为除了最后一层以外,其他层的结点个数都达到最大,并且最后一层的叶子结点都靠左排列。2.3 二叉查找树特征二叉查找树(也称作二叉搜索树)具备以下几个的特性:在二叉查找树中的任意一个结点,其左子树中的每个结点的值,都要小于这个结点的值。

2021-06-20 20:11:20 123 1

原创 数据结构基础-字符串

一、子串查找(字符串匹配)https://s0.lgstatic.com/i/image/M00/1D/7B/Ciqc1F7h-hmAFsw0ADCjkl8SW7M434.gifpublic void s1() { String s = "goodgoogle"; String t = "google"; int isfind = 0; for (int i = 0; i < s.length() - t.length() + 1; i++) {

2021-06-20 17:41:04 44

原创 数据结构基础-数组

一、什么是数组如果用数学的方式来看,我们可以把普通的数组看成是一个向量,那么二维数组就是一个矩阵。不过,二维数组对数据的处理方式并没有太多特别之处。二、练习题给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后的数组和新的长度,你不需要考虑数组中超出新长度后面的元素。要求,空间复杂度为 O(1),即不要使用额外的数组空间。 /** * 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次, * 返回移除后的数组和新的长度,你

2021-06-20 17:31:48 53

原创 数据结构基础-线性表

一、线性表1.1 线性表如何实现删除操作新增 s.next =p.next p.next =s 删除 b= p.next p.next = p.next.next;链表翻转对于某个单向链表,它的指针结构造成了它的数据通路有去无回,一旦修改了某个指针,后面的数据就会造成失联的状态。为了解决这个问题,我们需要构造三个指针 prev、curr 和 next,对当前结点、以及它之前和之后的结点进行缓存,再完成翻转动作。具体如下图所示添加链接描述https://s0.l

2021-06-19 22:56:33 112 2

原创 HTTP状态码

https://www.runoob.com/http/http-status-codes.html

2021-06-12 12:01:56 47

原创 Nginx 怎么玩?

一、 语法1.1 nginx redirect当上游服务器返回的响应是重定向或刷新请求(如HTTP响应码是301或者302)时,proxy_redirect可以重设HTTP头部的location或refresh字段。将被代理服务器发出的重定向http协议的location改为https协议proxy_redirect ~^http://([^:]+)(:\d+)?(.*)$ https://$1$2$3;在代替的字段中可以不写服务器名假设被代理服务器返回Location字段为: htt

2021-06-12 11:57:51 120

原创 【课题研究】-service mesh引入项目

课题3: service mesh

2021-06-12 11:10:20 58

原创 【生产复盘】tableau地址链接为什么总是打不开呢

背景前端xcode升级后,tableau报表打不开 。原因前端cookie丢失referer导致【不传refer正常】根本原因前端referer 导致nginx重定向异常【tableaxxx.business】,前端识别不了。解决方案spring gateway 网关重写response返回location相关知识httpspring servlet...

2021-06-12 11:06:00 657

原创 【开发复盘】tableau链接为什么跳转不对呢

背景测试同事反馈,调用tableau界面每次都返回相同的界面,时间筛选也没用,很有问题排查过程查看配置链接是否正确,经检查,配置正确查看nginx 转发参数是否正确,经检查,出口地址参数正确。检查系统不转发,直接访问对方是否正常。不转发直接访问正常,问题出在转发及对方解析。检查是否因为路径中带中文字符影响,将中文转成英文,问题依然存在。检查是否因为环境的影响,在生产环境模拟请求,生产环境正常。问题原因1)每次出现相同页面tableau有配置默认页面2)tableau解析可能存在

2021-06-09 23:49:08 380 1

原创 【生产复盘】动态菜单哪里配置的呢

背景用户反馈xx预警功能没有操作权限排查过程根据登录接口查找权限【没有此key】分析整个调用完整链路细查相关接口完整逻辑网关日志返回了,只是截取了2000个字符问题原因前端代码被覆盖了,合并代码问题暴露问题排查问题还是不仔细,没有完整的看response...

2021-06-08 20:09:47 47

原创 【生产复盘】怎么Kettle跑批报错半个月了无人理会

一、背景生产机房迁移发现了一个kettle程序自上线以来没有一次成功,觉得很奇怪,没有影响吗,生产没人用吗?二、原因分析此kettle程序是上一位离职同事写的 ,在此任务迁移前离职了 。走之前上线手册没有,上线后没有检查。三、本质原因数据为什么上线后没有检查呢当时开发说历史数据已经手动导入到数据库,执行不执行无所谓,就没有执行。持续十几天报错没人管呢1)缺少监控机制,没有对此kettle程序进行监控2)没有运维定期监控四、后续改进推动运维定期巡检上线内容要当场检查离职交接要做

2021-06-07 22:51:09 283 3

原创 【机房迁移】机房迁移经验总结

一、机房迁移时间轴三天比对配置文件,开墙一天自测两天SIT测试6小时生产正式迁移二、 遇到的问题2.1 DNS缓存刷新问题浏览器在获取网站域名的实际IP地址后会对其IP进行缓存,减少网络请求的损耗。每种浏览器都有一个固定的DNS缓存时间,其中Chrome的过期时间是1分钟,在这个期限内不会重新请求DNS。Chrome浏览器看本身的DNS缓存时间比较方便,在地址栏输入:chrome://net-internals/#dns 即可看到当前浏览器的缓存;2.2 redis 集群db数据库迁移问

2021-06-06 22:06:27 645 2

原创 常见Web鉴权方案

一、JWT1.1 JWT结构一个JWT是一个字符串,其有Header(头部)、Payload(负载)和Signature (签名)组成。其格式Header.Payload.Signature。1.2 JWT接入流程导入依赖生成token校验token1.3实践经验发送JWT要用https ,因为JWT本身无法保证数据安全性。JWT的payload中建议设置一个expire时间。二、OAUTH2...

2021-06-05 16:08:01 314

GIT使用手册指南汇总

GIT使用手册

2021-07-01

Java高效开发工具汇总.docx

1、集成开发环境 2 2、测试 2 3、集成 3 4、应用服务器 3 5、Web应用测试 3 6、质量分析 4 7、版本控制 4 8、持续集成 4 9、Java 应用分析 5 10、代码覆盖工具 5 11、Bug跟踪 5 12、文档生成工具 5 13、 数据建模 6 14、 java工具类 6

2021-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除