- 博客(50)
- 收藏
- 关注
原创 Spring boot发布到k8s并加载Configmap配置文件,实现配置热更新
spring-cloud-starter-kubernetes-confighttps://blog.youkuaiyun.com/weixin_41806245/article/details/100010310https://blog.youkuaiyun.com/ch98000/article/details/126677180https://blog.youkuaiyun.com/cen50958/article/details/112723361https://blog.youkuaiyun.com/m0_71777195/articl
2023-06-15 18:34:05
426
原创 生产TraceId放置到MDC变量中
将 [%X[traceId]] 添加到日志输出格式中。1 增加LogMdcFilter。2配置logback日志格式。3 . 异步任务补充。
2023-06-15 17:48:00
279
原创 springboot基本配置文件
https://blog.youkuaiyun.com/qq_42761569/article/details/116011711
2023-06-14 23:26:15
139
原创 REST服务,使用Dubbo还是SpringMVC
早些时候的 Dubbo 是不支持 REST 的,而如果要实现一个 REST 服务,也是有办法的,可以结合 SpringMVC,在 Controller 中调 Dubbo 的服务。而如果是一个微服务应用,使用了 Dubbo 作为 RPC 框架,而这时候又需要面向 Web,那应该直接使用 Dubbo 将服务以 REST 方式进行发布,没必要为了 REST 再引入 SpringMVC ,过于复杂,而且实现的效果都是一样的。这也正符合 MVC 的概念,REST 服务为 View 层的一种实现。
2023-05-17 23:51:20
441
原创 MyBatis与MyBatis-plus的区别
2)内置的Mapper,通用的Service,少量配置即可实现单表大部分CRUD操作。2)手动解析实体关系映射转换为MyBatis内部对象注入容器。5)自动解析实体关系映射转换为MyBatis内部对象注入容器。4)提供了基本的CRUD功能,连SQL语句都不需要编写。Mybatis Plus的宗旨是简化开发。1)强大的条件构造器,满足各类使用需求。3)不支持Lambda形式调用。1)所有SQL语句全部自己写。3)支持Lambda形式调用。
2023-05-17 17:59:32
128
原创 redis zk 选举
2号启动,启动选举,2号给自己投一票,并且与1号交换信息,此时1号发现2号的myId比自己投票服务器(服务器1)的myId大,此时1号0票,2号2票,2>(3/2),服务器2的票数最多,超过半数,那么2号当选leader,1号更改状态为following,2号更改状态为leading;此时3号为leader。3号启动,启动选举,给自己投一票,此时与之前启动的1号、2号交换信息,此时1号、2号并没有处于Looking(竞选中)状态,不会更改选举状态,3号一票,服从多数,此时3号更改状态为following;
2023-05-12 01:04:53
246
原创 kafkareplication机制(复制原理)和ISR机制(同步机制)
上一节中的HW俗称高水位,是HighWatermark的缩写,取一个partition对应的ISR中最小的LEO作为HW,consumer最多只能消费到HW所在的位置。对于leader新写入的消息,consumer不能立刻消费,leader会等待该消息被所有ISR中的replicas同步后更新HW,此时消息才能被consumer消费。这样就保证了如果leader所在的broker失效,该消息仍然可以从新选举的leader中获取。对于来自内部broKer的读取请求,没有HW的限制。
2023-05-07 23:07:43
229
原创 Zookeeper
当Leader出现崩溃退出或者机器重启,亦或是集群中不存在超过半数的服务器与Leader保存正常通信,Zab就会再一次进入崩溃恢复,发起新一轮Leader选举并实现数据同步。当选举产生了新的 Leader,同时集群中有过半的机器与该 Leader 服务器完成了状态同步(即数据同步)之后,Zab协议就会退出崩溃恢复模式,进入消息广播模式。当整个集群启动过程中,或者当 Leader 服务器出现网络中弄断、崩溃退出或重启等异常时,Zab协议就会 进入崩溃恢复模式,选举产生新的Leader。
2023-05-05 00:04:08
434
原创 Java常用加密算法
摘要算法主要分为MD,SHA和Hmac算法,摘要算法其实是用于效验数据完整性的,我们在下载某些文件时,会有MD5和SHA1值提供我们效验下载的文件是否完整,可以用于根据数据生成其唯一的摘要值,无法根据摘要值知道原数据,属于不可逆的。2.1 MDJDK有MD2和MD5实现,使用的是MessageDigest类。(JDK没有MD4的实现)// 原始字符 String data = "Hello World!
2023-04-19 23:48:46
239
原创 JIT、 逃逸分析 同步省略也叫锁消除 栈上分配 标量替换
在Java的编译体系中,一个Java的源代码文件变成计算机可执行的机器指令的过程中,需要经过两段编译,第一段是把.java文件转换成.class文件。这里,还是要简单说一下,其实在现有的虚拟机中,并没有真正的实现栈上分配,在对象和数组并不是都在堆上分配内存的。在JIT阶段,如果经过逃逸分析,发现一个对象不会被外界访问的话,那么经过JIT优化,就会把这个对象拆解成若干个其中包含的若干个成员变量来代替。如果一个对象在子程序中被分配,要使指向该对象的指针永远不会逃逸,对象可能是栈分配的候选,而不是堆分配。
2023-04-19 22:17:51
212
原创 网络安全相关
WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称之为一种网页后门。攻击者在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后使用浏览器来访问这些后门,得到一个命令执行环境,以达到控制网站服务器的目的(可以上传下载或者修改文件,操作数据库,执行任意命令等)。WebShell后门隐蔽较性高,可以轻松穿越防火墙,访问WebShell时不会留下系统日志,只会在网站的web日志中留下一些数据提交记录。
2023-04-19 21:59:59
454
转载 Queue接口分析:add和offer区别,remove和poll方法
public interface Queue<E> extends Collection<E> { /* * add方法,在不违背队列的容量限制的情况,往队列中添加一个元素, 如果添加成功则返回true, 如果因为容量 * 限制添加失败了,则抛出IllegalStateException异常 * * 在有容量限...
2019-06-17 09:37:09
374
转载 判断数组子集
题目一:给定两个无序数组数组A,B;求B是否为A的子集解法一:使用两个for循环,外部循环为A的数组的长度,内部循环使用B数组长度。时间复杂度O(M*N)package demo;//判断array2 是否为array1的子集public class TwoArray {public static void main(String args[]) {int[] array1 = new...
2019-06-04 11:34:33
887
转载 线程池
jdk1.8 https://www.cnblogs.com/pautcher/p/7651822.htmljdk1.6 https://www.cnblogs.com/dolphin0520/p/3932921.html
2019-06-03 15:39:47
135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅