自定义博客皮肤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)
  • 收藏
  • 关注

原创 太详细了,Spring Boot 核心知识及源码分析手册笔记,阿里高工内产

Spring Boot 核心知识及源码分析手册笔记

2022-09-03 14:33:26 409 1

原创 10+ 张图解|高并发分布式架构演进

章在介绍一些基本概念后,按照以下过程阐述了整个架构的演进过程:单机架构第一次演进:Tomcat 与数据库分开部署第二次演进:引入本地缓存和分布式缓存第三次演进:引入反向代理实现负载均衡第四次演进:数据库读写分离第五次演进:数据库按业务分库第六次演进:把大表拆分为小表第七次演进:使用 LVS 或 F5 来使多个 Nginx 负载均衡第八次演进:通过 DNS 轮询实现机房间的负载均衡第九次演进:引入 NoSQL 数据库和搜索引擎等技术第十次演进:大应用拆分为小应用

2022-09-03 14:28:34 2456 1

原创 RabbitMQ 补偿机制、消息幂等性解决方案

RabbitMQ 补偿机制、消息幂等性解决方案

2022-06-14 19:22:16 1388

原创 消息中间件中的王者:Kafka!应付Kafka面试,看这篇就够了

消息中间件中的王者:Kafka!应付Kafka面试,看这篇就够了

2022-06-14 19:15:50 153

原创 面试被问到原题了!百度和腾讯二面问的两道多线程面试题解析

面试被问到原题了!百度和腾讯二面问的两道多线程面试题解析

2022-06-14 16:58:07 152

原创 短期内跳槽的Java程序员必看的八项知识点+两大项目实战

短期内跳槽的Java程序员必看的八项知识点+两大项目实战

2022-06-14 16:54:48 117

原创 Redis Pipeline原来是这么用的

最近项目碰到这么一个技术上的需求:前端通过长轮询的机制(http long polling),获取服务端的消息数据。而服务端是需要订阅所有业务方的业务消息,再通知到给前端。长轮询,其实简单来说,就是前端发起一个http请求,服务端把当前的请求 hang 住,直到超时或者有需要返回的内容,才return。 Apollo 配置中心就是使用这个机制实现配置的更新通知。但有这么一种情况,假如服务端消费到消息,但此时前端与服务端的连接刚好断开了,那这个消息就没法通知到前端。所以,我们得需要把服务端消费

2022-06-13 17:15:50 219

原创 微服务设计指导-让Redis循环写入时提高10倍的技巧

有微服务的架构不代表性能好,而使用微服务的架构必须要求性能好。这句话不矛盾。矛盾在外面很多人认为微服务架构代表高并发,实际上不是。我们有“书面微服务”和“实际微服务”之说。比如说网上大量教人把httpConnection或者是FeignClient的timeout改成30秒就不会超时了?那这要什么微服务呢?微服务解决的到底是什么呢?......

2022-06-13 17:09:39 159

原创 SpringBoot接入轻量级分布式日志框架(GrayLog)

SpringBoot接入轻量级分布式日志框架

2022-06-13 17:06:31 357

原创 Redis+Caffeine两级缓存,让访问速度纵享丝滑

在高性能的服务架构设计中,缓存是一个不可或缺的环节。在实际的项目中,我们通常会将一些热点数据存储到Redis或MemCache这类缓存中间件中,只有当缓存的访问没有命中时再查询数据库。在提升访问速度的同时,也能降低数据库的压力。...

2022-06-13 17:03:13 236

原创 真的是最全的一致性hash环讲解了

一致性 hash 环

2022-06-13 16:56:13 184

原创 Nacos配置中心集群原理及源码分析

Nacos配置中心集群原理及源码分析

2022-06-13 16:54:06 523

原创 一次 Spring 无法启动的问题排查(字节码篇)

一次 Spring 无法启动的问题排查

2022-06-13 16:52:47 117

原创 设计模式学习笔记:观察者模式及应用场景

观察者模式(Observer Design Pattern),也叫做发布订阅模式(Publish-Subscribe Design Pattern)、模型-视图(Model-View)模式、源-监听器(Source-Listener)模式、从属者(Dependents)模式。指在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。...

2022-06-13 16:51:11 106

原创 快速尝鲜:RabbitMQ 搭建完就得用起来

RabbitMQ 搭建完就得用起来

2022-06-13 16:47:42 92

原创 RabbitMQ 补偿机制、消息幂等性解决方案

RabbitMQ 补偿机制、消息幂等性解决方案

2022-06-13 16:43:32 280

原创 Canal Java 入门与使用

在如今时代数据是最关键的,大的数据量势必会影响用户体验,在我的日常开发中遇到了一个类似的问题,由于数据库中数据量过于庞大造成查询效率低,决定采用redis来存取最新的数据,由于系统为其它语言编写本人并不擅长,便采取canal来通过增量的方式更新数据。下面让我们了解一下canal。...

2022-06-10 19:11:24 669

原创 面试官:小伙子我们先来详细的好好聊一聊NIO的三大组件

NIO的三大组件

2022-06-10 17:27:39 86

原创 面试官:小伙子我们先来唠唠并发编程的几大核心知识点

并发编程算是Java的一个难点,经常做业务相关的程序员基本上用不到juc的包,但是这些知识点十分重要,所以不管在哪里,时刻保持学习真的很重要。

2022-06-10 17:23:08 80

原创 阿里二面:说一下Hashmap散列表的三大问题与线程安全问题

很高兴遇见你~ HashMap是一个非常重要的集合,日常使用也非常的频繁,同时也是面试重点。本文并不打算讲解基础的使用api,而是深入HashMap的底层,讲解关于HashMap的重点知识。需要读者对散列表和HashMap有一定的认识。 HashMap本质上是一个散列表,那么就离不开散列表的三大问题: 散列函数、哈希冲突、扩容方案 ;同时作为一个数据结构,必须考虑多线程并发访问的问题,也就是 线程安全 。这四大重点则为学习HashMap的重点,也是HashMap设计的重点。 HashMap属于Map集合体系

2022-06-10 17:16:11 285

原创 CTO问我Pulsar到底能不能取代Kafka

Pulsar到底能不能取代Kafka

2022-06-10 17:11:54 98

原创 榨干服务器:一次惨无人道的性能优化

做过2B类系统的同学都知道,2B系统最恶心的操作就是什么都喜欢批量,这不,我最近就遇到了一个恶心的需求——50个用户同时每人导入1万条单据,每个单据七八十个字段,请给我优化。

2022-06-10 17:10:12 78

原创 SpringBoot自动装配加载过程全梳理!你能get多少

首先对于一个SpringBoot工程来说,最明显的标志的就是 @SpringBootApplication它标记了这是一个SpringBoot工程,所以今天的 SpringBoot自动装配原理也就是从它开始说起。

2022-06-10 17:07:48 129

原创 灵魂一问:一个Java文件的执行全部过程你确定都清楚吗?

Java文件的执行全部过程

2022-06-10 17:04:23 192

原创 为何每次用完ThreadLocal都要调用remove()?

为何每次用完ThreadLocal都要调用remove()?

2022-06-10 16:52:10 210

原创 京东最新Java后端面试题ZK+Dubbo+Es+MYSQL

京东最新Java后端面试题ZK+Dubbo+Es+MYSQL

2022-06-09 16:12:57 164

原创 ElasticSearch新版Java客户端ElasticClient快速上手

ElasticSearch新版Java客户端ElasticClient快速上手

2022-06-09 16:03:09 1115

原创 Java后端系统学习路线--白卷项目优化(二)

Java后端系统学习路线--白卷项目优化

2022-06-09 16:01:25 545

原创 Java 自动释放锁的几种实现

Java 自动释放锁的几种实现

2022-06-09 15:57:56 2077

原创 Java8流List转Map

Java8流List转Map

2022-06-09 15:54:33 1252

原创 Java网络编程指南

网络编程在我们的日常开发中是最为常见的,尤其是在通信这一块显得更加的突出,比如我们最为常见的微信和QQ其基本原理就是网络编程。本文详细介绍网络编程的相关知识。首先介绍的就是网络编程的相关概念。...

2022-06-08 14:12:44 84

原创 Java并发编程系列之三JUC概述

Java并发编程系列之三JUC概述

2022-06-08 14:08:39 108

原创 Java并发编程-Android的UI框架为什么是单线程的?

众所周知,Android 会在ViewRootImpl中调用checkThread方法检测是否是在 UI 线程中更新

2022-06-08 14:00:33 198

原创 详解Java的交互式编程环境:jshell

什么是交互式编程环境?重点词交互,在这样的编程环境中,你每输入一行代码,环境都会给你一个反馈,这就是交互式的编程环境。这种编程环境并不太适合工程化的复杂性需求,但在一些快速验证、简单计算之类的场景下还是非常好用的。其实交互式编程环境在其他高级语言中很早就有了,而Java直到Java 9才正式推出了这样的工具。...

2022-06-08 13:58:48 1196 1

原创 Java并发编程 | 局部变量为什么是线程安全的

本篇文章说一个比较简单的东西,就是局部变量为什么是线程安全的,对于熟悉JVM的开发者来说这个问题可以忽略不计。所以本篇文章作为知识回顾和扩展。

2022-06-08 13:55:53 111

原创 Java并发编程 | Lock和Condition(1)

我们回顾下前面文章所说的Java并发编程的万能钥匙:管程,管程是把共享变量和对共享变量的操作给封装起来实现互斥,然后管程内部的条件变量以及条件变量的等待队列实现了线程的同步。同时Java语言的synchronized是管程的一种实现,只不过只有一个条件变量的管程模型;那Java并发包为什么还给出其他的管程实现呢就比如本篇内容就是通过Lock和Condition这俩个接口来实现管程,其中Lock用于解决互斥问题,Condition用于解决同步问题。所以理解为什么Java并发包要开发这俩个工具很关键

2022-06-08 13:53:58 124

原创 【JUC并发编程 】 详解Java关键字之 volatile

详解Java关键字之 volatile

2022-06-08 13:49:56 124

原创 Java面向对象编程的特征—封装、继承、多态详细介绍

Java面向对象编程的特征—封装、继承、多态详细介绍

2022-06-08 13:44:03 97

原创 java中synchronized关键字基础-1

java中synchronized关键字

2022-06-08 13:40:14 81

原创 Java多线程之常见锁策略与CAS中的ABA问题

Java多线程之常见锁策略与CAS中的ABA问题

2022-06-07 16:38:41 107

空空如也

空空如也

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

TA关注的人

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