自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(333)
  • 收藏
  • 关注

原创 NVIDIA下一代Hopper架构曝光,采用5nm工艺 晶体管超1400亿

据媒体报道,NVIDIA下一代主要面向高性能计算、人工智能等Hopper架构,将会采用5nm工艺制程,晶体管多达1400亿个,面积核心达到了900平方毫米,是有史以来最大的GPU。作为参考,NVIDIA自家旗舰Ampere架构的A100为542亿个晶体管(每平方毫米约为6560万个晶体管),AMD阵营中采用Aldebaran架构的Instinct MI200系列为582亿个晶体管(每平方米约为7360万个晶体管),GH100是它们的2.5倍左右。Hopper架构的GH100在5nm的加持下,能够在.

2022-02-08 13:50:50 6216

原创 微服务架构学习SpringBoot集成Druid

微服务架构学习SpringBoot集成DruidDruid简介 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。 Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛..

2022-02-08 13:43:33 1179

原创 使用 UnionFind 判断他到底是不是你的远房表亲

不晓得大家晓不晓得并查集这个算法,我之前是没怎么听过(孤陋寡闻),其实这个算法是非常常见的一个算法,也是能用固定的套路去解决某一类问题,最为经典的就是亲戚问题。并查集(UnionFind)常常用于处理一些不相交集合的合并及查询问题。并查集(UnionFind)具有Union和Find两个功能合并(Union):将两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中(确定是否具有亲属关系,通过find可以获取其祖先)。两棵树:Union(1,5)之...

2022-02-07 20:37:38 2391

原创 MySql之写入Binary Log的流程

前言前面介绍了《Mysql之Binary Log》其中提到了一些参数的配置,其实参数的配置就涉及到一些底层的流程,下面我们主要讲Binary Log的sync_binlog会涉及到Binary Log的写入流程。《Mysql之Binary Log》还涉及到的binlog_format后续还会继续补充敬请期待。Binary Log写入流程我们首先还是先看看官方文档对sync_binlog配置的描述。sync_binlog 命令行格式 --sync-binlog=#

2022-02-07 19:39:11 2433

原创 DispatcherServlet浅析

介绍​ DispatcherServlet是一个Servlet,在springmvc中被称为前端控制器,根据请求的路径、类型等进行请求的分发。分析DispatcherServlet类图​ 上图中的红色部分为Servlet接口,在Springmvc中实现并扩展了该Servlet接口。在我最早学javaweb开发时,并不是上来就使用各种MVC框架,而是从编写简单的Servlet开始,就是继承HttpServlet后,重写它的service方法。而Springmvc的设计同理,它也继承...

2022-02-07 16:36:17 6064

原创 破案现场:记一次压测异常排查--Redisson锁失效的场景

异常现场回顾7月7日对小驴班级推送视频任务功能进行压测。 压测过程中发现有一部分接口请求失败。 小驴端上报推送失败异常如下:这个异常日志是小驴端收到的。 异常内容是网校网关返回的异常页面, 如何看出来是网校网关的呢? 看回到首页前面有一个url,这个跳转到的url正是网校的主页班级任务推送主要是to B的,老师们使用, 并发量并不大,10并发,25次, 一共250个任务。 并发量并不大,到底为什么异常,怎么出的异常呢?首先,我们来看ELK日志监控。先来查询网关日志,搜索对内网关,查询

2022-02-07 16:34:20 4380

原创 花式破解斐波那契数列

斐波那契数列想必大家都听过,如果感觉斐波那契数列有点陌生的同学,肯定是没有好好学算法。一般在讲解递归的时候,我们都会拿出斐波那契数列这个例子来,因为它实在太经典了,今天我们就来深入研究一下斐波那契数列的解法。什么是斐波那契数列?数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。他当时是这样提出的:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,问:一对刚出生的...

2022-02-07 16:32:28 2123 1

原创 使用MyBatis拦截器后,摸鱼时间又长了

这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战场景在后端服务开发时,现在很流行的框架组合就是SSM(SpringBoot + Spring + MyBatis),在我们进行一些业务系统开发时,会有很多的业务数据表,而表中的信息从新插入开始,整个生命周期过程中可能会进行很多次的操作。比如,我们在某网站购买一件商品,会生成一条订单记录,在支付完金额后订单状态会变为已支付,等最后我们收到订单商品,这个订单状态会变成已完成等。假设我们的订单表t_order结果如下:..

2022-02-07 16:31:13 3248 7

原创 RocketMQ4.9.1源码解析-(HA模块)主从Slave上报与消息处理

接着上一篇RocketMQv4.9.1源码分析-HA主从 Master读写处理解答了Master相关的问题,这篇文章围绕Slave相关的一些问题继续看代码。对于slave,我们有如下一些疑惑:slave如何获取master的路由信息 slave如何向master报告offset的 slave如何处理master同步的数据在整体的类图布局中,slave相关的代码都在HAClient类中HAClientHAClient部分是Slave处理的核心,其中包括三部分:slave与...

2022-01-25 19:41:35 260 1

原创 RocketMQ4.9.1源码解析-(HA模块)主从Slave上报与消息处理

接着上一篇 RocketMQv4.9.1源码分析-HA主从 Master读写处理 解答了Master相关的问题,这篇文章围绕Slave相关的一些问题继续看代码。对于slave,我们有如下一些疑惑:slave如何获取master的路由信息 slave如何向master报告offset的 slave如何处理master同步的数据在整体的类图布局中,slave相关的代码都在HAClient类中HAClientHAClient部分是Slave处理的核心,其中包括三部分:slave与ma

2022-01-25 19:27:04 1317

原创 你知道 “双亲委派模型“ 的“企业级应用“吗?

前言在JVM专栏的第一篇:我们讲了什么是双亲委派模型,以及为什么需要双亲委派模型。还没看过的大佬,有钱没钱都捧个人场,点它: 你能说出jvm的类加载是什么吗同时还了解到这样设计是为了保持JVM整个体系的稳定。但在某些场景下,稳定恰恰是一种掣肘,我们需要的是打破这种模型(好像有点标题党了)。接下来我们就来一一简单介绍下打破双亲委派模型的多个企业级应用。JDBC-SPI打破背景为了更加灵活的连接数据库,我们的JDK定义了Driver接口,需要与数据库进行连接的包必须实现该接口。例如:My

2022-01-25 16:15:56 2540

原创 记一次使用time.Duration类型踩过的坑

今天跟大家聊聊time. Duration类型及其使用。为什么要讲这个呢,是因为最近在写代码时踩到了一个坑,为了避免大家在今后也踩同样的坑,就跟大家聊聊该类型的使用。01 踩到的坑先来说说在项目中踩到的使用time.Duration类型的坑。我们的背景是要做一个延时任务。延时任务就是指将一个任务延迟到一定的时间后再执行,所以就需要根据延时时间计算出该任务要执行的时间。我们这里的延时时间以毫秒为单位,当时我们定义的是500毫秒。即设置了一个全局的变量interval time.Duration...

2022-01-25 14:26:09 5098

原创 Spring BeanPostProcessor执行顺序问题

BeanPostProcessor 在Spring框架中举足轻重,还有很多继承的类。作用:管理Bean的生命周期:Bean实例化--->Bean初始化--->Bean使用中--->Bean销毁在Spring 容器初始化的时候就会存在这些类执行的一个先后的问题,今天我们就把这些类的执行先后顺序进行梳理。1. BeanPostProcessor的分类BeanPostProcessor 作为顶层接口会有很多的继承接口和实现类,下图就是分类:如上图所示包括 BeanPost

2022-01-24 14:47:34 1994

转载 JavaWeb详解之Servlet基础简介

1、Serlvet概述Servlet是运行在Web服务器或应用服务器上的java程序,它是一个中间层,负责连接来自web浏览器或其他HTTP客户程序和HTTP服务器上应用程序。是sun公司提供的一门用于开发动态web资源的技术。Servlet执行下面的任务:1)读取客户发送的显示数据。如:html表单数据2)读取由浏览器发送的隐式请求数据。如:http请求头3)生成结果。4)向客户端发送显示数据(即文档)。servlet和jsp最重要的任务就是将结果包装在文本(html)、二进制(图

2022-01-24 13:47:55 3769 1

原创 Kafka的监听地址配置

本文就用Kafka 2.8.有时我们会碰到网络是通畅的,但却连不上Kafka,特别是在多网卡环境或者云环境上很容易出现。这个其实和Kafka的监听配置有关系。本文介绍监听相关的配置。目前监听相关的参数主要有下面几个:listeners advertised.listeners listener.security.protocol.map inter.broker.listener.name security.inter.broker.protocol advertised.host.nam

2022-01-23 15:13:30 7337

原创 8 个令人惊叹的 Vue.js UI 组件,说不定用得上.

在 Web 应用程序开发方面,Vue.js 正迅速成为开发人员的最爱。这个现代、新鲜的 JavaScript 库它在 GitHub 上有超过 123,000 颗星,对于开发人员来说是一个引人注目的选择,因为它很容易集成到现有项目中。它的速度很快,它非常强大。你可以用它从头开始建立一个动态的、可扩展的、可维护的单页面应用程序。作为一个 JavaScript 框架,Vue.js 允许您轻松地将动态数据渲染到 DOM,将数据绑定到 DOM 元素,以及管理/维护应用程序的状态(本地存储),而无需用户重新加载浏览

2022-01-23 14:52:57 624

原创 Spring Security OAuth 认证流程浅析:授权码模式

上一篇(Spring Security OAuth 认证流程浅析:密码模式),简单分析了 Spring Security OAuth 密码模式授权流程的源码,这篇来试着分析 OAuth 中最具代表性的授权码模式。由于内容的连贯性,建议读之前,先阅读上一篇分析密码模式的文章(Spring Security OAuth 认证流程浅析:密码模式)。同时,阅读以下内容需要你了解 OAuth 的原理,可以阅读这篇文章回顾一下。授权码模式的流程先简单回顾一下授权码模式的流程。看下图:A ...

2022-01-22 13:28:30 2451

原创 Oracle前首席工程师离职,怒喷MySQL是“糟糕的数据库”……

在这位工程师看来,PostgreSQL 才是开源 RDBMS 的更好选择。数据库工程师在离职的时候会干些什么?拿张贺卡、收起纪念礼品,没准还有一瓶践行酒——但今天故事的主角还发了个帖子,对自己研究了五年的技术好好发泄了一番。Oracle 前首席软件工程师兼 MySQL 优化器团队成员 Steinar Gunderson 在帖子中表示自己离职的原因比较复杂,但想在这里聊几句“憋了五年的真心话”——“MySQL 是款超烂的数据库,强烈建议大家认真考虑转用 PostgreSQL。”看看 MySQL 之

2022-01-21 14:29:21 256

原创 深入理解Redis集群主从复制原理

一、首先思考一个问题,为什么redis性能这么高还需要分布式方案?1、实现更高性能:高并发应用,单机性能会有影响,需要更多redis服务器分担压力,实现负载均衡2、实现高可用:如果单机,防止宕机/硬件故障3、实现可扩展:单机内存和硬件有限制,实现横向扩展冗余或者分片存储实现如上特性。二、主从复制-replication配置和Kafka,Mysql,Rocketmq一样,redis支持集群部署,集群节点有master和slave之分,主节点是master,从节点是slave(最新叫..

2022-01-21 14:09:42 598

原创 简单的线程池实现多线程对大文件的读取

上代码package ThreadLearning;import java.io.*;import java.util.ArrayList;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @author kyojurorengoku * @date 2022/1/20 * @Description */public class LstFileAnaly

2022-01-20 21:14:07 1550

原创 一个PHPer眼中的Go语言

Go语言是二十一世纪的C语言,具有接近C/C++等编译语言的性能,又像脚本语言(PHP,Javascript,Python)一样容易上手学习,背靠Google,有强大的开发团队和活跃的社区。Go语言的特性语法简单 语言层面支持并发编程 跨平台编译 自带垃圾回收机制Go语言语句不需要加分号package main import "fmt"func main(){ s := "hello world" fmt.Println(s)}复制代码

2022-01-20 21:10:17 732

原创 消息中间件的6大高频问题和答案

《Java面试必知必会系列》继续更新ing,今天给大家分享一些消息中间件相关的面试问题,希望你在面试中遇到后,可以回答的上来。当然关于消息中间件的内容其实是非常非常多的,这里只是列举出来一些高频的问题,需要更多消息中间件的问题和答案。消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。这里给出6个非常高频问题,问题答案均来自网络。消息队列的使用场景? 消息队列的优缺点? Kafka、ActiveMQ、RabbitMQ、Rock..

2022-01-20 15:46:33 1987

原创 2021-2022软件架构与设计趋势报告

本文属译文,原文来源如下。作者:Thomas Betts、Holly Cummins 原文链接:Software Architecture and Design Trends ReportKey TakeawaysIn a cloud-native world, architects are reprioritizing the -ilities they consider most important. Innovative architects are designing for re...

2022-01-19 21:18:24 594

原创 Springboot之登录模块探索(含Token,验证码,网络安全等知识)

简介登录模块很简单,前端发送账号密码的表单,后端接收验证后即可~淦!可是我想多了,于是有了以下几个问题(里面还包含网络安全问题):1.登录时的验证码2.自动登录的实现3.怎么维护前后端登录状态在这和大家分享下我实现此功能的过程,包括一些技术和心得1.登录时的验证码为什么要验证码,原因很简单,防止脚本无限次重复登录,来暴力破解用户密码或者攻击服务器验证码的出现,使得每次登录都有个动态变量需要输入,无法用脚本写死代码具体可以参考:滑动验证码的设计和理解:www.cnblo

2022-01-19 21:15:26 489

原创 还在一条条数据创建Excel数据报表?使用Python自动化生成数据报表提供效率

前言不要在用手敲生成Excel数据报表了,用Python自动生成Excel数据报表!废话不多说让我们愉快地开始吧~开发工具Python版本: 3.6.4相关模块:pandasxlwingsmatplotlib模块;xlwingsmatplotlib模块;matplotlib模块;以及一些Python自带的模块。环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。原始数据如下,主要有水果蔬菜名称、销售日期、销售数量、平均价格、平均成本、总收入

2022-01-18 20:20:03 250 1

原创 快丢掉BeanUtils吧,MapStruct才是YYDS

这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战场景通常,在后端项目开发中,因为有项目分层的设计,例如MVC架构,以及最近很火热的DDD架构中,会在不同的层级,有对应的DO,BO,VO,DTO等各种各样的POJO类,而我们在层级之间进行调用的数据传递时,通常要进行对象属性之间的映射。对于一些简单的对象,可能会直接使用get,set方法完成,或者使用BeanUtils工具类来完成属性之间的映射。这些代码往往是枯燥、无聊的,并且在不同的业务处理类中可能需要重复地对两个对..

2022-01-18 20:18:52 1834 3

原创 为你的SpringBoot服务赋一个高大上的线上日志系统(ELK)

PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛前言日志是一个完整系统必不可少的组件,你会将日志输出到什么地方呢?控制台 or 文件?这些都是比较简单直接的方式,但恐怕都不是好的办法。因为日志数据量巨大,后期问题排查就要抓耳挠腮了。还有,每次抓取日志都远程要到服务器上,既不方便也不符合码农极客精神的追求。所以我们需要的是一个既可以高效搜索又可以随时随地抓取的日志系统,目前业界比较流行的方案是 ELK(Elasticsearch + Logstash + Kibana)。..

2022-01-18 15:12:40 196

原创 一文带你从不同的视角认识 JVM

概述一说到 JVM 三个字母,你脑子里首先蹦出来的是什么?我分析一般有以下三种人:第一种:JVM 三个字母,分开我是认识的,一组合,我不知道是啥 第二种:他不就是 Java 虚拟机么,跑 Java 程序的 第三种:分为堆内存,方法区,老年代,新生代.....巴拉巴拉...,可以跟你说几个小时的经过我的日常观察,一般第一种人是程序猿的家属,第二种人是程序猿的同事(非 Java 工作的同事),第三种人就是程序猿本猿了,而本文的适合读者是第三种人,我试图从不同的视角出发,带领程序猿们站在另外一个高度

2022-01-18 14:38:37 399

原创 Spring从懵逼到精通——Spring做了啥

关于SpringSpring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。学习Spring是基础课程。但是大多数同学都只知其然但是不知其所以然。在这里我们就系统的来说一下Spring的点点滴滴吧。今天作为第一讲,就来聊聊Spring到底做了啥。让大家从懵逼的状态下开始我们的Spring之旅。Spring能够激发POJO的潜能很多框架通过强迫应用继承他们的类或者实现它们

2022-01-15 19:48:04 400

转载 手机查看电脑的视频,基于springboot制作的一个简易个人视频网站

简介为什么突然想起来做这个呢,还是因为手机内存些许有些少,电脑上的学习资料直接用电脑看不是很方便,还是想直接用手机看,这就萌生了这个想法,毕竟作为新时代的新青年,俺还是很爱学习的实现思路这一次实现就比较简单了,不需要数据库等方面的使用,主要使用的就是基础的java文件操作查看固定文件夹下所有的视频文件这里可以直接使用java的文件操作就可以,直接根据文件夹的路径,扫描文件夹下的所有文件,把这些文件的名称返回,后期需要使用这些文件名称与访问文件的映射地址进行拼接,从而实现对文件的读取

2022-01-15 15:52:18 1149

原创 延时消息常见实现方案

前言延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费。延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基础服务。本文旨在探讨常见延时消息的实现方案以及方案设计的优缺点。实现方案1. 基于外部存储实现的方案这里讨论的外部存储指的是在 MQ 本身自带的存储以外又引入的其他的存储系统。基于外部存储的方案本质上都是一..

2022-01-15 13:49:58 163

原创 Java 中台技术盘点,这些技术你了解还远远不够

「2022 年什么会火?什么该学?本文正在参与“聊聊 2022 技术趋势”征文活动」对于中台(业务中台)技术开发来说主要是对基础技术栈的使用,还有就是对抽象能力的提升,因为我们是底层服务不能出错,需要不断的去做兼容性。需要具备一些 Java 技术功底,掌握设计模式,深入掌握最常用的技术原理。我们今天就一起来盘点一下 Java 业务中台常用的技术框架与一些将来可能会用到的技术。SpringSpring Framework 是 Spring 里面的一个基础开源框架,主要用于 JavaEE 的企...

2022-01-15 13:48:54 1397 1

原创 聊聊Netty那些事儿之Reactor在Netty中的实现(创建篇)

本系列Netty源码解析文章基于4.1.56.Final版本在上篇文章《聊聊Netty那些事儿之从内核角度看IO模型》中我们花了大量的篇幅来从内核角度详细讲述了五种IO模型的演进过程以及ReactorIO线程模型的底层基石IO多路复用技术在内核中的实现原理。最后我们引出了netty中使用的主从Reactor IO线程模型。通过上篇文章的介绍,我们已经清楚了在IO调用的过程中内核帮我们搞了哪些事情,那么俗话说的好内核领进门,修行在netty,netty在用户空间又帮我们搞了哪些事情?...

2022-01-14 13:47:02 292

原创 Spring Boot Admin,贼好使

Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然后就可以实现对 Spring Boot 项目的可视化管理和查看了。Spring Boot Admin 可以监控 Spring Boot 单机或集群项目,它提供详细的健康 (Health)信息、内存信息、JVM 系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、Spring Bo..

2022-01-14 13:30:08 1621 1

原创 面渣逆袭:Java并发六十问,快来看看你会多少道

基础1.并行跟并发有什么区别?从操作系统的角度来看,线程是CPU分配的最小单位。并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。 并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。并发的实现依赖于CPU切换线程,因为切换的时间特别短,所以基本对于用户是无感知的。就好像我们去食堂打饭,并行就是我们在多个窗口排队,几个阿姨同时打菜;并发就是我们挤在一个窗口,阿姨给这个打一勺,又手忙脚乱地给那个打一勺。2.说说什么是进程和线程?要说线程

2022-01-13 14:56:07 280

原创 基于java+springboot+layui的流浪动物交流信息平台设计实现

​前言介绍: 漫步校园中,偶尔会看到几只猫,或是晃做在小道上,或是蜷作一团躺在花坛边上,就像是无家可归的可怜的孩子,真叫人心疼!其实,它们就是一些被人遗弃的流浪宠物。 流浪宠物是指无主、长期在野外生存的宠物。与野猫(狗)不同,流浪宠物特指那些曾被人们收养过,后来因为某些原因、被抛弃的宠物。某些原因,可能是因为主人的乔迁,可能是经济跟不上,也可能只是主人不喜欢了,就遗弃了。事实上,在全国社会各地,还有许许多多同他们一样遭遇被遗弃的命运的可怜的猫儿狗儿。 校园里的这些猫儿,算是比...

2022-01-13 13:38:43 2011 1

原创 Spring Cloud Service Discovery with Netflix Eureka

IntroductionNetflix Eureka is one of the most popular Serice Discovery Framework for micro service system. It's very easy to use based on Spring Cloud. With all the clients registering to the Eureka server, they can talk to each other without hard-coding

2022-01-12 14:49:07 82

原创 新年Java小游戏之「年兽大作战」祝您笑口常开

这个游戏加上编写文章,上班摸鱼时间加上回家的空闲时间,大概花了三天多。java写这玩应真的很痛苦,各种状态位,各种图片和逻辑判断,脑袋都快炸了。而且肯定没有前端的精致,效果一般,偶尔会有卡顿,各位就图一乐,随便捧捧场啊。过程大于结果。源码gitee地址:gitee.com/wei_rong_xi…一、玩法介绍进入初始界面,会看到一只大年兽位于正中间,然后是一直小老虎,也就是我们的玩家,点击【空格】即可开始游戏:敲击空格,将进入游戏。从上至下分别是:年兽的血量【NIAN'S HP

2022-01-12 14:39:34 12466 4

原创 Java开发之SpringBoot实现自动执行代码

前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,java培训我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现。当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里整理一下,在这些位置执行的区别以及加载顺序。​java自身的启动时加载方式static代

2022-01-12 14:18:14 243

原创 不会一致性hash算法,劝你简历别写搞过负载均衡

这两天看到技术群里,有小伙伴在讨论一致性hash算法的问题,正愁没啥写的题目就来了,那就简单介绍下它的原理。下边我们以分布式缓存中经典场景举例,面试中也是经常提及的一些话题,看看什么是一致性hash算法以及它有那些过人之处。构建场景假如我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢?我们可能首先想到的方案,是取模算法hash(key)% N,对key进行hash运算后取模,N是机器的数..

2022-01-12 13:27:23 75

空空如也

空空如也

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

TA关注的人

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