- 博客(19)
- 收藏
- 关注
原创 @Autowired注入的bean有的方法为null,有的方法不为null的情况
@Autowired注入的bean有的方法为null,有的方法不为null的情况。
2023-01-06 13:10:34 1420
原创 Error from server: Get “https://[::1]:6443/api/v1/namespaces/victor/resourcequotas“: dial tcp [::1]:
安装完k8s之后,创建命名空间时,报错:Error from server: Get "https://[::1]:6443/api/v1/namespaces/victor/resourcequotas": dial tcp [::1]:
2022-10-26 17:31:55 2633
原创 logback配置的日志相对路径
前言当项目用容器部署时,会有项目日志的存放路径问题,如果路径用绝对路径,那么会有Windows环境和Linux环境不一致问题,因此logback日志存放路径的配置要使用相对路径,但是相对路径基于什么位置却是一个问题。验证如何验证的就不贴了,咱们直接说结论结论logback配置里的相对路径是基于Dockfile里的WORKDIR来的,如果不配置默认就是/,配置的话相对于配置的工作路径。logback.xml其中的LOG_HOME采用相对路径的方式,日志存放在…/logs文件夹里。<con
2022-05-17 19:46:49 7238
原创 用Java实现kubernetes的List-Watch
前言一般对于k8s的操作都用go语言,所以大部分的k8s的operator都是用的go语言,但是也有一些用Java写的kubernetes-client,其中fabric8就是一款不错的k8s-client工具,最近研究了一下k8s用Java实现List-watch,供大家参考。依赖有一些spring-cloud依赖中带有了kubernetes-client的版本,所以有时候你导入版本的时候总会导入4.10.3的版本,导致一些类是找不到的,就是因为版本问题(博主就是遇到了这个bug,最后排查了好长时间
2022-05-16 18:03:46 1556
原创 通过JSONDiff获取JSONPatch
这里写自定义目录标题前言依赖代码JSONPatch Model类JSONPatch工具类测试用例前言最近看了一下fabric8的源码,发现对于k8s资源的更新都是采用了JSONPatch的方式,看是市面上却没有关于JSONPatch一键使用的工具类,所以自己搜了一下GitHub上开源的项目和自己的研究,写了一个方便易用的工具类,以方便大家的ctrl+C, ctrl+V。依赖用的依赖为zjsonpath,其中封装了有关JSONDiff的方法;<!-- json Patch -->
2022-05-16 17:44:36 690
原创 事务传播行为的失效(异常传递)
事务传播行为的失效(异常传递)众所周知,事务的传播行为一共有7种,7种传播行为具体有什么特征在这里不再赘述,详情参考https://zhuanlan.zhihu.com/p/256263914,本文主要对对于传播行为失效进行探究,旨在对于事务的使用时对于细节的把控。在这里引出第一个问题:1.为什么我用@Transactional(propagation = Propagation.REQUIRES_NEW)却得到了意想不到的结果?首先,由于spring中的事务底层采用的是jdk或cglib的动态代
2021-02-15 18:12:58 1000
原创 算法与数据结构(八):树之红黑树
博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。二叉树中最特殊的红黑树可以算是其中一个,我们知道jdk8中对HashMap进行了优化,底层数据结构采用了数组+链表+红黑树,当链表达到8时,或数组达到64时就会转成红黑树。红黑树可以说是2-3查找树的升级,红黑树也是一种平衡树,平衡树解决了如果插入的数据为有序元素,例如:1,2,3,4,5,6则二叉树就会变成链表的问题。红黑树的定义:红黑树是含有红黑链接,并满足下列条件的二叉平衡树:红链接均为左连接;没有任何一个节..
2021-02-09 17:38:06 190 1
原创 算法与数据结构(七):优先队列
博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。我们知道队列具有先进先出的特性,栈具有先进后出的特性,那么有没有一种数据结构可以根据自己的需求,以一定的规则从队列中弹出呢,优先队列就是实现这种目标的数据结构。一般情况下,计算机的任务都是有优先级的,我们需要从所有任务中找到优先级最高的任务优先执行,执行完毕后把这个任务从队列中移除。普通的队列需要完成这种要求,需要每次从队列中遍历所有元素找出最大值,效率不是很高,这个时候我们就可以采用一种数据结构来完成这种需求,那就是优先队列。在..
2021-02-09 16:27:00 383
原创 算法与数据结构(六):堆
算法与数据结构(六):堆博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。堆的特性:堆的定义:堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。堆的特性它是完全二叉树,除了树的最后一层结点不需要是满的,其它的每一层从左到右都是满的,如果最后一层结点不是满的,那么要求左满右不满。它通常用数组来实现。具体方法就是将二叉树的结点按照层级顺序放入数组中,根结点在位置1,它的子结点在位置2和3,而子结点的子结点则分别在位置4,5
2021-01-28 15:15:39 221 4
原创 使用阻塞队列实现生产者与消费者
使用阻塞队列实现生产者与消费者对于生产者与消费者是多线程中非常重要的一种实现,生产者生产的产品放入队列中,消费者消费队列中的产品,如果队列中没有了产品,消费者不再消费,如果队列中的产品满了,生产者就不再生产,对于生产者与消费者的实现,本文提供了两种方法:利用java提供的阻塞队列实现消费者与生产者自己写一个实现消费者与生产者的队列类1.利用java提供的阻塞队列实现消费者与生产者package com.hangzhou.victor.testsynchronized;import
2020-12-24 19:19:52 427 1
原创 算法与数据结构(六):树之折纸问题
算法与数据结构(六):树之折纸问题博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构、等等。树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树的相关术语:结点的度:一个结点含有的子树的个数称为该结点的度;叶结点:度为0的结点称为叶结点,也可以叫做终端结点分支
2020-12-12 14:17:10 410
原创 算法与数据结构(五):树之二叉树
算法与数据结构(五):树之二叉树博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构、等等。树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。树的相关术语:结点的度:一个结点含有的子树的个数称为该结点的度;叶结点:度为0的结点称为叶结点,也可以叫做终端结点
2020-12-11 22:22:18 136
原创 算法与数据结构(四):符号表
算法与数据结构(四):符号表博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。符号表最主要的目的就是将一个键和一个值联系起来,符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据,我们可以根据键来查找对应的值。符号表是最简单的键值对集合,是Hashmap最简单的底层实现,底层可以由数组或链表实现,在这里博主使用链表进行了实现。符号表的实现代码如下:package com.victor.symbol;import java.io.Seri
2020-12-11 22:05:27 263
原创 算法与数据结构(三):线性表之队列
算法与数据结构(三):线性表之队列博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。线性表分为:顺序表,链表,栈,队列。队列属于线性表的一种,具有先进先出的特点,底层可以由数组或链表实现,在这里博主由链表进行了实现。相比于栈后进先出的特点,队列每次添加新值要放入尾结点,每次弹出值要从头结点取出,因此,要首先定义头结点和尾结点。队列的实现代码如下:package com.
2020-12-11 21:59:27 143
原创 算法与数据结构(二):线性表之栈
算法与数据结构(二):线性表之栈博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。线性表分为:顺序表,链表,栈,队列。栈属于线性表的一种,具有先进后出,后进先出的特点,底层可以由数组或链表实现,在这里博主由链表进行了实现。栈的实现代码如下:package com.victor.linear;import java.util.Iterator;/** * @De
2020-12-11 21:52:22 138
原创 算法与数据结构(一):线性表之链表
算法与数据结构(一):线性表之链表博主会对算法与数据结构会不断进行更新,敬请期待,如有什么建议,欢迎联系。线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。线性表分为:顺序表,链表,栈,队列。由于顺序表底层由数组实现,实现原理比较简单,所以就不对顺序表进行了实现,直接对链表进行实现。博主只对单向链表进行了实现,双向链表和单向链表大致相同,即把Node节点类定义两个指针,一个指向前Node,一个指向后Node。单向链表的实现代码如下:packag
2020-12-11 21:41:04 100
原创 SSM框架整合:各种配置文件的整合和详解
SSM框架整合:各种配置文件的整合和详解前言学习了ssm框架的整合之后,对于数量众多的配置文件,和各种不同的配置方式感到甚是头疼,接下来教给大家一个清晰明白的配置,分门别类的配置不同的xml文件。项目目录名称作用mappermybatis映射文件springspring家族配置文件=context为父(全局性)+mybatis整合+transaction事务+mvcconfigdruid配置文件log4jlog4j.properties文件w
2020-12-11 12:29:30 5027 2
转载 图解Git工作原理及操作命令
图解Git工作原理及操作命令 原标题:图解Git工作原理及操作命令 一、GIT工作流程 了解git,首先要弄清楚对象在被git管理过程中所处的4个阶段,分别是: 工作目录 index(又称为暂存区) 本地仓库 远程仓库。 从时间先后来讲,工作目录的内容是你当前看到的,也是最新的;index区标记了你当前工作目录中,哪些内容是被git管理的;而本地仓库保存了对象被提交 过的各个版本,比起工作目录和暂存区的内容,它要更旧一些;
2020-09-21 19:05:07 378
原创 IDEA快捷键介绍(Eclipse)
IDEA快捷键介绍(Eclipse)此文是IntelliJ IDEA在快捷键设置为Eclipse情况下的快捷键,部分快捷键并没有找到,如果各位小伙伴知道的,敬请提供!博主GitHub,知乎如下,里面有很多学习资料哦,(一般人我不告诉他)欢迎大家贡献你们的Star和关注!!!GitHub知乎序号快捷键介绍1Alt+shift+x运行(run)2提示补全3ctrl+/单行注释4Ctrl+shift+/多行注释5Ctrl+alt+dow
2020-08-31 20:47:33 209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人