![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 92
Java-龙井
这个作者很懒,什么都没留下…
展开
-
【Java】一篇文章教会你——线程、指令重排、线程内存模型
【Java】一篇文章教会你——线程、指令重排、线程内存模型一、什么是线程1.进程要说线程,就要先说一下什么是进程概念:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 ——百度百科进程就是在操作系统上拥有资源并且能够独立运行的一个独立单位,每个进程都原创 2021-07-01 16:41:40 · 111 阅读 · 0 评论 -
Spring 的事务实现原理和传播机制
Spring 的事务实现原理和传播机制Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式两种。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体的逻辑与事务处理解耦。生命式事务管理使业务代码逻辑不受污染,因此实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件(XML)中做相关的事务规则声明,另一种是基于 @Transactional 注解的方式。本文着重介绍基于 @Transactional 注解的事务管理。需要明确几点:默认原创 2021-07-01 16:39:27 · 332 阅读 · 0 评论 -
哪种一致性哈希算法才是解决分布式缓存问题的王者?
哪种一致性哈希算法才是解决分布式缓存问题的王者?一致性哈希是由Karger等人于1997年提出的一种特殊的哈希算法,目的是解决分布式缓存的问题,现在在分布式系统中有着广泛的应用。本文将对ketama、jump consistent hash、rendezvous hash和maglev hash四种算法进行对比分析。一、一致性哈希的特性平衡性不同key通过算法映射后,可以比较均衡地分布到所有的后端节点上。单调性当有新的节点上线后,系统中原有的key要么还是映射到原来的节点上,要么映射原创 2021-06-29 17:37:39 · 227 阅读 · 0 评论 -
使用 kube-vip 搭建高可用 Kubernetes 集群
使用 kube-vip 搭建高可用 Kubernetes 集群kube-vip 可以在你的控制平面节点上提供一个 Kubernetes 原生的 HA 负载均衡,我们不需要再在外部设置 HAProxy 和 Keepalived 来实现集群的高可用了。kube-vip 是一个为 Kubernetes 集群内部和外部提供高可用和负载均衡的开源项目,在 Vmware 的 Tanzu 项目中已经使用 kube-vip 替换了用于 vSphere 部署的 HAProxy 负载均衡器,本文我们将先来了解 kube-v原创 2021-06-29 17:36:51 · 342 阅读 · 1 评论 -
字节面试:什么是责任链模式?
字节面试:什么是责任链模式?前言面试经历大家肯定都有过,但是面试的流程其实跟一种设计模式很像,每一轮的面试官都有自己的职责,一个求职者面试经历的过程就好比一次客户端的请求过程。在设计模式系列的文章中之前已经为大家分享了创建型设计模式,感兴趣的小伙伴们可以再去翻看之前的分享。接下来开始分享设计模式三大类型中的行为型模式了,今天要分享的是责任链模式大纲定义什么是责任链?它的原理是什么?将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求转载 2021-06-25 17:38:48 · 72 阅读 · 0 评论 -
使用 kube-vip 搭建高可用 Kubernetes 集群
使用 kube-vip 搭建高可用 Kubernetes 集群kube-vip 可以在你的控制平面节点上提供一个 Kubernetes 原生的 HA 负载均衡,我们不需要再在外部设置 HAProxy 和 Keepalived 来实现集群的高可用了。kube-vip 是一个为 Kubernetes 集群内部和外部提供高可用和负载均衡的开源项目,在 Vmware 的 Tanzu 项目中已经使用 kube-vip 替换了用于 vSphere 部署的 HAProxy 负载均衡器,本文我们将先来了解 kube-v原创 2021-06-25 17:37:02 · 1093 阅读 · 0 评论 -
RocketMQ第一讲
RocketMQ第一讲消息中间件应用场景异步通信 有些业务不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。解耦 降低工程间的强依赖程度,针对异构系统进行适配。在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。通过消息系统在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口,当应用发生变化时,可以独立的扩展或修改两边的处理过程,只要确保它们遵守原创 2021-06-24 14:04:08 · 113 阅读 · 0 评论 -
RocketMQ 基础概念梳理
RocketMQ 基础概念梳理RocketMQ 基础概念梳理RocketMQ 基础概念梳理RocketMQ 基础概念梳理模型概念组件概念消息发送消息消费注意事项1. 重复消息2. 如何重新消费消息模型概念Topic: 是用于存储逻辑的地址的Consumer Group: 是代表两个Consumer可共享相互之间的订阅Message Queue: 消息队列CommitLog: 是消息主体以及元数据的存储主体(也可在Consume Queue数据丢失时转载 2021-06-24 14:03:19 · 88 阅读 · 0 评论 -
redis架构设计
redis架构设计一、 简介高性能(目前已知性能最快)读速度:110000 次 /s写速度:81000 次 /skey-value(单个value的最大限制是1GB)类型的内存数据库数据库在内存中进行操作支持数据持久化定期异步操作将数据库数据flush到硬盘上支持string,list,set,sorted set,hash操作都是原子性支持事务对数据的更改要么全部执行,要么全部不执行事务中任意命令执行失败,其余命令依然被执行(Redis 事务不保证原子性,也不支持原创 2021-06-24 14:02:30 · 190 阅读 · 0 评论 -
使用 kube-vip 搭建高可用 Kubernetes 集群
使用 kube-vip 搭建高可用 Kubernetes 集群kube-vip 可以在你的控制平面节点上提供一个 Kubernetes 原生的 HA 负载均衡,我们不需要再在外部设置 HAProxy 和 Keepalived 来实现集群的高可用了。kube-vip 是一个为 Kubernetes 集群内部和外部提供高可用和负载均衡的开源项目,在 Vmware 的 Tanzu 项目中已经使用 kube-vip 替换了用于 vSphere 部署的 HAProxy 负载均衡器,本文我们将先来了解 kube-v原创 2021-06-22 15:33:15 · 393 阅读 · 0 评论 -
一次DB2分页语句的优化,带你拨开分页SQL优化的外衣
一次DB2分页语句的优化,带你拨开分页SQL优化的外衣1 前言:最近,项目中的一个 DB2分页查询很慢 ,组长将此分页的优化分派给了我;然后一顿优化(乱操作)后,将DB2分页查询耗时降到了比较满意的情况,[ 开森 ];然后马上将结果报告了组长,组长查看我的演示后,发现分页查询确实快了很多,可以达到让人“接受的程度”,比优化之前的 页面一直转圈等待 相当可以了呀;注:优化后的演示环境与发现分页查询慢时的环境基本一致,包括库中数据量、DB2的配置、服务器的配置等。首先通过查看执行计划发现,SQL语句中原创 2021-06-22 15:32:26 · 182 阅读 · 0 评论 -
【Spring源码分析】Bean加载流程概览
【Spring源码分析】Bean加载流程概览代码入口之前写文章都会啰啰嗦嗦一大堆再开始,进入【Spring源码分析】这个板块就直接切入正题了。很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事的都是Java Web的工作,对于程序员来说,一个Web项目用到Spring,只是配置一下配置文件而已,Spring的加载过程相对是不太透明的,不太好去找加载的代码入口。下面有很简单的一段代码可以作为Spring代码加载的入口: 1 ApplicationCon原创 2021-06-22 15:31:40 · 80 阅读 · 0 评论