自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

四维大脑的博客

分享学习旅程

  • 博客(79)
  • 收藏
  • 关注

原创 多线程进阶学习12------ConcurrentHashMap详解

hashmap 在多线程下的进阶类 ConcurrentHashMap详解

2023-04-03 21:04:52 690 1

原创 多线程进阶学习11------CountDownLatch、CyclicBarrier、Semaphore详解

CountDownLatch、CyclicBarrier、Semaphore详解

2023-04-03 19:36:22 448

原创 多线程进阶学习10------AQS详解

AbstractQueuedSynchronizer,来自于JDK1.5,位于JUC包,由并发编程大师Doug Lea编写,字面翻译就是“抽象队列同步器”,简称为AQS。AQS作为一个抽象类,是构建JUC包中的锁(比如ReentrantLock)或者其他同步组件(比如CountDownLatch)的底层基础框架。

2023-03-30 16:58:08 536

原创 多线程进阶学习09------ThreadLocal详解

ThreadLocal:提供线程的局部变量,对于线程共享变量如果使用ThreadLocal则无需加锁,更省事省心。

2023-03-27 21:32:21 682

原创 多线程进阶学习08------CAS与原子类详解

CAS的全称是:比较并交换(Compare And Swap)

2023-03-27 20:05:05 386

原创 多线程进阶学习07------线程中断与等待唤醒

线程的中断协商机制、等待唤醒之生产者与消费者

2023-03-22 21:27:03 347

原创 多线程进阶学习06------ReentrantLock、ReentrantReadWriteLock、StampedLock详解

无锁->独占锁->读写锁->邮戳锁

2023-03-22 20:54:20 491

原创 多线程进阶学习05------Volatile详解

本篇介绍了JMM、三大特性、指令重排序、happens-before、内存屏障、volatile、单例模式

2023-03-21 16:42:03 425

原创 多线程进阶学习04------Synchronized详解

本篇从底层为大家讲解synchronized

2023-03-21 15:55:48 296

原创 多线程进阶学习03------锁概念详解

要保障共享变量的线程安全,最熟知的解决办法就是加锁,但是锁在使用上很简单就是加一个关键字Synchronized,但是这个锁性能太差了。为了降低加锁带来的性能损耗,锁被分为了各种各样的分类,根据业务场景不同选用合适的锁,增加系统吞吐量。

2023-03-21 14:29:54 376

原创 多线程进阶学习02------Future异步任务

原有的FutureTask类,get()方法会导致阻塞,isDone()轮询也占用cpu,并且能用的api较少,对于以上缺点,jdk8推出了CompletableFuture。

2023-03-20 14:17:06 370

原创 多线程进阶学习01------基础回顾

实事求是地讲,对于绝大多数研发人员,平时用到多线程的场景并不多。但多线程在我们的日常开发中却无处不在,只不过很多时候,框架已经帮你实现了。比如 web 开发,容器已经帮你实现了多线程;再比如大数据开发,框架也已帮你实现了多线程,甚至分布式计算。那促使你学习多线程的原因是什么呢?我想很大可能你是为了面试打基础、做准备。没错,这真的很现实!

2023-03-20 13:36:08 388

原创 Ubuntu18.04.6安装远程桌面

Ubuntu18.04.6安装远程桌面

2023-02-09 15:59:44 611

原创 Ubuntu18.04.6 mysql5.7更换数据目录

Ubuntu18.04.6 mysql5.7更换数据目录

2023-02-09 15:50:37 143

原创 Ubuntu18.04.6 离线安装mysql5.7

在没有网络的时候如何安装mysql,参考本篇:Ubuntu18.04.6 离线安装mysql5.7

2023-02-01 22:23:56 268

原创 Ubuntu18.04.6 通过自编译的方式指定mysql5.7安装目录(有网络)

Ubuntu18.04.6 通过自编译的方式指定mysql5.7安装目录(有网络)

2023-02-01 22:11:01 271

原创 Ubuntu18.04.6安装mysql5.7

本文介绍了Ubuntu18.04.6有网络的情况下安装mysql5.7

2023-02-01 21:21:51 742

原创 Ubuntu18.04.6 配置固定ip、ssh登录、root账号

Ubuntu18.04.6 配置固定ip、ssh登录、root账号

2023-02-01 21:04:22 1058

原创 Ubuntu18.04.6镜像下载及虚拟机安装

本文介绍了如何下载ubuntu18.04.6镜像,并创建虚拟机

2023-02-01 20:19:04 3669

原创 VM虚拟机三种网络配置详解(桥接、NAT、仅主机)

什么是ip,子网掩码,网段,网关?vm中桥接、NAT、仅主机网络配置有什么区别?本篇会带给你答案。

2022-11-29 21:51:10 2462

原创 CentOS7.9集群部署(配置hosts、集群免密、时间同步)

在上一篇我们介绍了如何在windows下安装虚拟机,在虚拟机上安装CentOS7.9,并且在系统安装完成后配置了固定ip和系统时间。但是在分布式、大数据体系下,为了提高程序的高可用,单机是远远不够的,这里就需要搭建多台机器组成集群,那么本篇就给大家打来CentOS7.9集群部署,包括配置hosts、免密登录、时间同步。

2022-11-28 22:07:16 1911

原创 windows安装VMware虚拟机(附带CentOS7部署)

windows安装VMware虚拟机,附带CentOS7.9安装部署,CentOS设置固定ip,设置系统时间,全程图文保姆级教学,内附下载链接。

2022-11-26 12:32:49 1365

原创 Canal1.1.6安装部署

阿里巴巴 B2B 公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了同步杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。Canal 是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前。Canal 主要支持了 MySQL 的 Binlog 解析,解析完成后才利用 Canal Client 来处理获得的相关数据。(数据库同步需要阿里的 Otter 中间件,

2022-11-21 17:10:29 1877

转载 quartz定时任务(05)—— 运行流程源码解析

可了解Quartz框架中的正式开始运行部分源码

2022-10-21 11:50:52 778

转载 quartz定时任务(04)—— Scheduler源码解析

有了需要运行的任务Job,和确定运行时间的Trigger之后,目前可以说这两部分是分开的,互补关联,这时候需要有一只手来操控这一切,那就是Scheduler。

2022-10-21 11:37:42 745

转载 quartz定时任务(03)——Trigger源码解析

Job源码看过之后,今天要分析的源码在架构上是与Job隔离的,那就是Trigger。Trigger英文翻译是触发器的意思,这也很符合它的实际作用。

2022-10-21 11:26:15 440

转载 quartz定时任务(02)——Job源码解析

人之初,专门找软柿子捏,所以我就又忍不住先拿Job进行开刀,作为一个敲门砖进行源码分析。

2022-10-21 11:22:56 371

转载 quartz定时任务(01)—— 入门

quartz是一个由java编写的任务调度库。简单来说,其实就是我们在业务中需要使用的定时任务器。相信很多人可能没有看到过Quartz这个框架,但很多人使用过定时任务业务的人却间接的使用到了。比如,当当网的Elastic-job,又比如Spring中自带的定时任务框架,其实都是对Quartz的一次封装。

2022-10-21 11:17:41 875

原创 Elasticsearch面试题(查漏补缺)

为什么要使用 Elasticsearch? Elasticsearch 的 master 选举流程?Elasticsearch 集群脑裂问题?Elasticsearch 索引文档的流程?Elasticsearch 更新和删除文档的流程? Elasticsearch 搜索的流程?Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?GC 方面,在使用 Elasticsearch 时要注意什么?Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?...

2022-08-02 15:45:46 158

原创 Elasticsearch分布式模式下读写流程

Elasticsearch分布式模式下各种操作流程

2022-08-02 14:48:16 241

原创 Flink-cdc 同步mysql数据

flink-cdc读取mysql

2022-08-01 16:26:18 2896 2

原创 Datax及Datax-web 下载使用

datax部署,datax连接mysql8,datax-web部署

2022-08-01 16:09:50 2754

原创 Elasticsearch-Java操作篇

通常情况下,都是使用编程语言来操作es,本篇带来如何用elasticsearch-rest-high-level-client操作es。

2022-07-17 15:28:47 2567 1

原创 Elasticsearch插件管理(ik分词器、附件文本抽取插件)

Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。见其名,知其意,有倒排索引,肯定会对应有正向索引。正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。所谓的正向索引,就是搜索引擎会将待搜索的文件都对应一个文件 ID,搜索时将这个ID 和搜索关键字进行对应,形成 K-V 对,然后对关键字进行统计计数。但是互联网上收录在搜索引擎中的文档的数目是个天文数字,这样的索引结构根本无法满足实时返回排名结果的要求。所以,搜索引擎会将正向索

2022-07-11 20:10:24 1257

原创 Elasticsearch之Restful操作

Elasticsearch之索引、文档、映射、查询操作

2022-07-11 19:49:37 253

原创 Elasticsearch7.17.5之Kibana安装部署

Kibana 安装部署

2022-07-11 19:43:02 1037

原创 Elasticsearch基本概念讲解

对Elasticsearch中索引、类型、文档、字段、映射、分片、副本、分配进行介绍

2022-07-11 19:37:20 297

原创 Elasticsearch7.17.5 Linux安装部署

Elasticsearch7.xx版本,基于centos7.9安装部署,包含单机以及集群模式。

2022-07-11 17:43:32 1312

原创 Flink之多流转换(分流、合流)

无论是基本的简单转换和聚合,还是基于窗口的计算,我们都是针对一条流上的数据进行处理的。而在实际应用中,可能需要将不同来源的数据连接合并在一起处理,也有可能需要将一条流拆分开,所以经常会有对多条流进行处理的场景。本章我们就来讨论 Flink 中对多条流进行转换的操作。简单划分的话,多流转换可以分为“分流”和“合流”两大类。目前分流的操作一般是通过侧输出流(side output)来实现,而合流的算子比较丰富,根据不同的需求可以调用 union、connect、join 以及 coGroup 等接口进行连接

2022-05-08 11:23:16 2815

原创 设计模式之命令模式

在软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存在紧密的耦合关系,这不利于软件功能的扩展与维护。例如,想对方法进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与实现者解耦?”变得很重要,命令模式就能很好地解决这个问题。

2022-04-28 09:59:53 135

空空如也

空空如也

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

TA关注的人

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