自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发编程-11线程池详解

线程池大家或多或少在项目中进行使用,可以帮助我们提高系统的性能,另一方面也可以帮我们我们管理系统的线程资源,那么它的核心参数的作用,线程复用的原理也是值得我们去学习的,本篇我们从源码分析去探索线程池的底层奥秘。

2024-07-13 15:22:03 637

原创 并发编程-10阻塞队列BlockingQueue

使用线程池的肯定对阻塞队列的肯定不陌生,阻塞队列的的阻塞功能是如何实现的?常见的阻塞队列和他们的使用场景是哪些?在项目中我们应该如何选择合适的阻塞队列呢?本篇将从源码开始分析各个阻塞队列的底层数据结构和原理,这样更容易让我们在系统中选择合适的阻塞队列!

2024-07-13 15:18:53 471

原创 并发编程-09之ReentrantReadWriteLock

当在读多写少的场景下,我们使用独占锁无疑肯定会对我们的系统QPS有影响,那么JUC提供了一个适用于读多写少的场景,它就是读写锁-ReentrantReadWriteLock,所以本篇将从源码分析它为什么可以实现读读不互斥、读写互斥、写写互斥,以及如何通过积累AQS实现读写状态的保存

2024-07-13 15:12:44 554

原创 并发编程-08之CyclicBarrier

CyclicBarrier字面意思回环栅栏(循环屏障),通过它可以实现让一组线程等待至某个状态(屏障点)之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用,本章会从源码分析它为什么可以让一组线程进行协作,以及重置的原理

2024-07-13 15:08:25 974

原创 并发编程-07之CountDownLatch

当我们在一个需要多线程协作的场景下,比如分批处理数据,数据汇总的场景下,我们可以使用JUC的一个线程协作神器CountDownLatch进行开发,CountDownLatch可以运行一个线程等待其他几个线程执行完毕任务,得到其他线程执行的结果再进行自己的任务,本篇将探讨它的底层原理

2024-07-13 15:04:48 889

原创 并发编程-06之Semaphore

限流是我们系统在上线期间高并发的情况下很常见的场景,JUC包也也有一个限流神器Semaphore,可以控制我们的并发线程是数量,那么它的底层原理是什么?我们一起从这篇文章开始进行探索吧。

2024-07-13 15:00:47 618

原创 并发编程-05AQS原理

juc'包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这些行为的抽象就是基于 AbstractQueuedSynchronizer(简称AQS)实现的,本章就基于AQS来,通过ReentrantLock同步锁讲解AQS的视线原理

2024-07-07 17:16:10 801

原创 并发编程-04synchronized原理

本篇文章主要介绍java同步锁synchronized关键字的使用、底层原理、以及jvm对synchronized关键字的相关优化

2024-06-25 23:58:33 834

原创 并发编程-03CAS原理

本章节主要介绍CAS原理以及常用的原子类的使用

2024-06-25 20:40:49 552

原创 并发编程-02深入理解Java线程

本章主要介绍进程、线程的概念和区别、线程的调度方法、java线程的创建方法和原理等,有了这些基础对于下边并发编程的知识理解起来就更容易

2024-06-25 20:20:19 522

原创 并发编程-01JMM和并发三大特性

本篇主要介绍和大家一块简单认识下多线程的一些术语、以及并发的三大特性的理解、java内存模型的介绍以及volatile关键字的保证线程可见性和有序性的原理

2024-06-25 11:06:07 762

原创 Elasticsearch从入门到精通-08JavaAPI操作ES

本篇主要介绍和大家一块学习一下如何集成java代码去实现索引的增删改查、文档的增删改查、以及在java代码中如何进行精确查询、模糊查询、分页查询、范围查询、聚合统一等。

2024-04-08 14:53:13 1122

原创 Elasticsearch从入门到精通-07ES底层原理学习

本篇主要介绍和大家一块学习一下ES底层原理包括集群原理、路由原理、分配控制、分配原理、文档分析原理、文档并发安全原理以及一些高级ES语法的学习包括SQL使用、模版搜索、建议搜索、嵌套文档、父子文档、地理位置索引等

2024-03-25 09:53:29 1515

原创 Elasticsearch从入门到精通-06ES统计分析语法

ES统计分析语法讲解

2024-03-21 10:05:02 889

原创 Elasticsearch从入门到精通-05ES匹配查询

本篇主要介绍和大家一块学习一下ES各种场景下的匹配查询,有助于我们在项目中进行综合使用,包括短语匹配,多字段匹配,智能推荐,高亮查询等

2024-03-17 17:50:26 1554

原创 Elasticsearch从入门到精通-04ES高级语法

本篇主要介绍ES的高级查询DSL的部分语法,包括模糊查询、分页查询、高亮查询、范围查询等。

2024-03-13 20:29:38 817

原创 Elasticsearch从入门到精通-03基本语法学习

本文主要介绍ES的基本语法,主要包括索引管理、文档管理、映射管理等

2024-03-09 22:13:24 979

原创 Elasticsearch从入门到精通-02环境搭建

本篇主要介绍和大家一块学习一下ES环境搭建,主要包括Elasticsearch、Kibina、IK分词器、ES-Head插件安装

2024-03-06 09:57:55 1195

原创 Elasticsearch从入门到精通-01认识Elasticsearch

ES作为一个知名开源的搜索框架,作为程序员我们是必须要了解的,从这篇开始跟随博主一块去了解ES的运行机制并掌握其使用方法吧

2024-02-22 11:06:08 1135

原创 <leetcode修炼>双指针训练-移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。

2024-01-04 23:58:42 475

原创 <设计模式修炼>模板方法模式的使用场景和注意事项学习

本篇文章重点介绍模板方法模式在日常开发和框架源码中的使用

2024-01-04 23:04:07 1115

原创 给定一个未排序的整数数组 nums ,找出数字连续的最长序列

给定一个未排序的整数数组 nums ,找出数字连续的最长序列

2023-12-20 13:55:06 667

原创 一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表

一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表

2023-12-19 22:12:46 551

原创 leetcode-两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2023-12-18 23:05:29 374

原创 Dubbo源码深入学习-Dubbo服务调用原理

Dubbo作为一款优秀的RPC框架,相信很多公司在分布式环境下,会选择它作为分布式服务框架,那么它底层传输的协议,以及在服务消费端和服务提供端是如何建立网络连接,进行数据传输的呢?还有它的线程模式是如何?如何进行负载均衡的呢?本篇就从Dubbo服务调用的源码开始分析其底层原理。

2023-12-17 12:11:32 1118

原创 Dubbo源码深入学习-Dubbo服务引入原理

我们在平常开发中使用是需要从注册中心拉取服务信息的,然后进行一系列步骤进行远程调用,这一系列操作对于我们来说如同黑盒,所以我们在平时开发之余,也需要对dubbo消费者如何进行有所了解,本篇我们就一块对服务导入的原理进行探索。

2023-12-14 22:31:34 937

原创 Dubbo源码深入学习-Dubbo服务是如何进行导出的?

Dubbo服务使我们像调用本地接口的方法一样远程调用其他应用的服务,那么对于服务提供者而言,它是如何把自己的服务导出,使其他应用消费者去调用的呢?以及是如何把自己的服务信息注册到注册中心的呢?虽然Dubbo的使用是一个黑盒,但是我们也要对其底层原理也要有一番了解。

2023-12-12 21:10:09 1011

原创 Dubbo深入源码学习-与Spring的整合探究

Dubbo接口如何被Spring管理呢?为什么加了@Service注解就可以被Spring识别呢?为什么使用@Reference注解就可以调用Dubbo服务呢?跟随本文章一起探讨Spring和Dubbo整合原理吧

2023-12-10 14:49:44 908

原创 从源码分析Dubbo的SPI机制为什么比JDK的SPI机制扩展性更好

用了那么多年的Dubbo,竟然不知道Dubbo的SPI机制是如何实现的?本文从源码分析Dubbo的SPI机制的强大之处,了解了Dubbo的SPI机制才能知道为什么Dubbo的扩展性为什么那么强大

2023-12-06 20:26:28 911

原创 从操作系统层面分析Java内存模型JMM和三大特性

关于多线程并发,大家肯定对并发的三大特性原子性,有序性,可见性有所了解,但是JVM是如何保证三大特性的呢?一起随着读者探索java内存模型JMM吧

2023-11-10 13:55:13 131

原创 Jvm专讲之垃圾回收算法和垃圾回收器

本章详细讲解常见的垃圾回收算法(复制算法、标记-整理算法、标记-清除算法)、垃圾回收器(Serial、Parallel Scavenge、ParNew、CMS、G1)

2023-07-21 09:05:17 1037 1

原创 jvm专讲之jvm内存结构

本文主要讲解jvm的内存区域,包括本地方法栈、虚拟机栈、程序计数器、堆、方法区、以及常见的jvm内存大小参数。

2023-07-19 09:01:13 104

原创 jvm专讲之对象创建和内存分配机制

本章对java的创建过程以及对象的内存分配机制进行详解

2023-07-12 09:21:06 760 1

原创 Jvm深度学习-类加载全过程探索

本文从源码一起探讨一个类是如何加载到Jvm虚拟机中的

2023-04-14 15:36:58 146

原创 RocketMQ-从入门到精通的4w字教程

本文是RocketMQ的单机搭建、集群搭建、基本原理和架构设计、消息存储、消息分类、常见的生产实践问题、多个MQ产品的对比层面对RocketMQ进行详细的介绍,足足4w字带你们深入理解RocketMQ的使用并运用到实际项目中去。

2022-11-22 22:46:42 5452 4

原创 Zookeeper从入门到实战的一站式文档

Zookeeper的学习文档,从节点类型到监听机制,常用的使用场景比如分布式锁,分布式注册中心等

2022-07-19 09:22:53 1292

原创 MongoDB从入门到高级的实战操作

MongoDB从初级到高级,包括管道集合操作、文档操作、集合操作以及和springboot的整合、索引特性、事务特性、复制集的搭建详细教程

2022-07-13 09:19:12 1736

原创 还不知道Dokcer怎么入门?看这篇文章就够了

从入门到高阶的一篇Docker笔记

2022-06-18 22:58:30 496

原创 还不了解Oauth2协议?这篇文章从入门到入土让你了解Oauth2以及Spring Security OAuth2 的使用

SpringSecurityOAuth2学习和实战1.OAuth2概述1.1 什么是OAuth2OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他 们数据的所有内容。OAuth在全世界得到广泛应用,目前的版本是2.0版。协议特点:简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用;安全:没有涉及到用户密钥等信

2022-05-27 20:06:01 1307

原创 还在使用zkpin进行链路追踪?SkyWalking这款国产中间件也很香

SkyWalking学习和实战1.SkyWalking概述1.1 SkyWaling是什么?对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如:如何串联整个调用链路,快速定位问题?如何理清各个微服务之间的依赖关系?如何进行各个微服务接口的性能分折?如何跟踪整个业务流程的调用处理顺序?skywalking是一个国产开源框架,2015年由吴晟开源 , 2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视工具,

2022-05-24 20:33:04 794

空空如也

空空如也

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

TA关注的人

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