自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (8)
  • 收藏
  • 关注

原创 不知道要学什么?不知道怎么学?或许你应该看看这篇

博主的博客索引,1-5年的Java工程师要学的东西都在这里

2020-06-29 22:37:36 3994 4

原创 十分钟就能写个xxl-job插件

单测不想启动xxl-job怎么办

2022-08-30 19:52:03 473

原创 没看过源码,却能找到Seata源码中的BUG

Failed to delete expired undo_log

2022-07-04 17:19:20 795

原创 RocketMQ从入门到放弃

RocketMQ一文全搞定

2020-08-04 23:16:23 1976

原创 面试官:小伙汁,你画的SpringMVC请求处理过程是从网上抄的吧?

Handler参数是怎么绑定的?@ResponseBody注解为什么没有返回视图?

2020-07-23 22:35:33 3528 2

原创 面试官:小伙汁,Spring是怎么解决循环依赖的呢?

Spring有哪些重要的接口呢?Spring循环依赖是怎么解决的呢?三级缓存是什么呢?

2020-07-18 10:52:06 2439 1

原创 面试必问的AQS(AbstractQueuedSynchronizer),一文全搞定

并发编程躲不掉的AQS

2020-06-23 21:37:21 3251 1

原创 MyCAT配置文件详解

MyCAT配置,一文全搞定

2020-06-15 22:02:27 4765 1

原创 手动搭建MySQL高可用架构MHA,小白也能轻松搭建

可能全网最详细的MHA搭建教程

2020-06-10 22:36:27 3085

原创 摆摊也要抽时间学的MySQL主从复制

博主收摊回来了,写了篇MySQL主从复制从原理到实践,了解一下。

2020-06-04 22:57:40 2815

原创 利用zookeeper手动实现分布式锁

zookeeper手动实现分布式锁,了解一下

2020-05-12 21:39:36 3181

原创 利用zookeeper手动实现配置中心

手动实现统一配置中心,了解一下。

2020-05-07 22:53:31 3021

原创 Java操作Zookeeper

Java以阻塞和非阻塞的方式操作zookeeper

2020-05-03 18:19:50 2846

原创 面试官:zookeeper集群的leader挂了怎么办

某天程序员小白参加面试:一阵寒暄之后面试官:我看你简历上写了熟悉zookeeper,你项目里用zookeeper干什么了?小白:主要用来做dubbo的注册中心、分布式锁以及统一配置等面试官:那你熟悉zookeeper集群模型吗?小白:zookeeper集群是一主多从的模型,节点分成三种角色:leader、follower和observer。leader负责写、follower和obser...

2020-05-02 16:25:18 8846 4

原创 zookeeper从入门到放弃

超级简单的zookeeper单机 + 集群搭建教程,整体把握zookeeper。...

2020-04-29 23:10:57 3120

原创 手动搭建高可用的Redis5.0分片集群,从理论到实践,超详细

本文通过理论+实践,图文的方式,详细讲解如何手动搭建一个高可用、易扩展的redis分片集群。看完本文后,你也能搭建一个用于生产的高性能redis集群。

2020-04-25 20:52:43 3299 1

原创 高可用的Redis主从复制集群,从理论到实践

本文主要从理论和实践两方面讲解Redis高可用主从复制集群。让你既能自己搭建出一个redis集群,又能收获其中的理论知识,形成完整的知识结构,而不仅仅是零散的知识点。

2020-04-19 14:45:39 3595

原创 Redis持久化RDB和AOF,看这一篇就够了

前言我们都知道,redis是基于内存的K-V数据库。由于内存是断电易失的,所以redis提供了相应的持久化机制。本篇主要讲解redis提供的RDB和AOF两种持久化方式,以及他们的实现原理。RDBRDB(Redis DataBase)是指把某个时刻内存中的数据生成快照(snapshot),以dump.rdb文件的形式存在磁盘上。RDB每次生成的快照(snapshot)都是redis中的全量...

2020-04-12 18:00:11 2995

原创 Redis:数据类型

前言Redis作为应用最广泛的K-V数据库,包含了丰富的数据类型。这里所说的数据类型,其实是指V的数据类型。Redis的数据类型大致分为以下几类:String、Hash、List、Set、Sorted Set、HyperLogLog、Geo。本篇主要讲解前五种常用的数据类型,在讲解数据类型之前,先看一下Redis相关的帮助命令。学会使用这些命令,能够帮我们快速的了解Redis前置命令启动...

2020-04-10 22:16:56 2750

原创 Redis:I/O模型

前言关于I/O我们可学了不少,java.io包下面的类全是关于I/O的操作。I/O就是Input/Output,是指输入/输出。我们都知道I/O大致可以分为BIO、NIO、AIO。BIO就是Blocking I/O(阻塞IO);NIO就是Non-Blocking I/O(非阻塞IO);AIO就是Asynchronous I/O(异步IO)。说到这里就不得不说一下阻塞/非阻塞、同步/异步了。阻...

2020-04-07 22:09:21 2827

原创 面试前突击Spring,我只需要十分钟

十分钟就能回顾Spring常问的知识点

2020-03-29 22:50:56 3014

原创 强人锁男,MySQL到底有多少锁?

前言读锁写锁意向锁,表锁行锁页面锁。在学习Java并发编程的时候,肯定少不了学习锁。最常见的就是synchronized,锁的概念不是很好理解,有的地方说是锁住了一段代码,有的地方说是锁住了一个对象。弄得初学者都是丈二和尚——摸不着头脑。抛开这些结论性的说法,说一下我对锁的理解(不管是Java中的锁还是数据库中的锁,还是分布式锁)。当我们需要限制某段程序在同一时刻,最多能被1个线程同时执行的...

2020-03-16 23:07:15 2795 5

原创 面试官:MySQL事务是怎么实现的

前言用过MySQL的同学都知道,它的InnoDB存储引擎,是通过事务来保证数据的一致性的。数据库事务通常包含了一个序列的对数据库的读/写操作。包含有以下两个目的:为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。特性说到事务...

2020-03-10 23:03:17 19599 57

原创 零散的MySQL基础总是记不住?看这一篇如何拯救你

前言在日常开发中,一些不常用且又比较基础的知识,过了一段时间之后,总是容易忘记或者变得有点模棱两可。本篇主要记录一些关于MySQL数据库比较基础的知识,以便日后快速查看。SQL命令SQL命令分可以分为四组:DDL、DML、DCL和TCL。四组中包含的命令分别如下(图片来源见水印)DDLDDL是数据定义语言(Data Definition Language)的简称,它处理数据库sche...

2020-03-07 21:57:11 11177 4

原创 MySQL优化:参数

前言MySQl数据库包含的系统变量有好几百个,想要全部熟记于心,大概没这个必要,只有记住一些常用的即可。本篇主要把一些常见的系统变量进行分类处理,分类有助于记忆。系统变量变量的作用范围可以分为global级别和session级别。global级别:服务级别的设定,对整个服务生效,所有回话,当时已经连接不生效,重新连接才生效。session级别:仅对当前会话生效,其他会话和新会话不受影响...

2020-03-06 21:23:34 3069

原创 MySQL优化:join

前言写过SQL的同学对join关键字都不会陌生,join关键字用来对多张表进行连接查询。参考https://dev.mysql.com/doc/refman/5.6/en/outer-join-optimization.html

2020-03-03 22:06:16 3142

原创 设计模式:代理模式

前言代理模式是指为其他对象提供一种代理,以控制对这个对象的访问特点:代理对象在客户端和目标对象之间起到中介的作用代理模式(英语:Proxy Pattern)是程序设计中的一种设计模式。所谓的代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、存储器中的大对象、文件或其它昂贵或无法复制的资源。了解代理模式的同学都知道,根据代理类生成的方式,可以分为静态代理和...

2020-02-26 22:35:41 2891

原创 你写的单例模式,能防止反序列化和反射吗?

前言说起单例模式,相信大家都不会陌生。因为相比其他设计模式,实现一个单例模式是比较简单的。单例模式的意思就是一个类只有一个实例。获取类的实例,我们往往采用new关键字,但是要保证一个类只能有一个实例,所以不能让使用这个类的开发人员利用new关键字来创建实例。也就是不能让外部调用类的构造方法,所以很容易想到类的构造方法私有,这样开发人员就不能在类之外通过new的方法创建该类的对象了。由于外部不...

2020-02-24 19:40:33 3119 1

原创 设计模式:工厂方式模式、抽象工厂模式

前言在面向对象程序设计中,工厂通常是一个用来创建其他对象的对象。工厂是构造方法的抽象,用来实现不同的分配方案。工厂方法模式工厂方法模式(英语:Factory method pattern)是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个...

2020-02-20 22:13:53 2882

原创 MySQL优化:索引

索引是关系型数据库优化时最常见、成本最低的一种优化方式。

2020-02-13 22:05:50 2706

原创 MySQL优化:数据类型

前言MySQL(5.6)的数据类型非常多,大致可以分为四大类:numeric types(数值类型)、date and time types(日期和时间类型)、string (character and byte) types(字符串/字符/字节类型)、spatial types(空间类型)。四大类共有32种,如何选取合适的数据类型,也是一个非常重要的问题。数据量小的时候看不出来,一旦数据量大...

2020-02-09 11:34:44 2721

原创 MySQL优化:explain、show profile和show processlist

MySQL优化的第一步

2020-02-06 15:11:08 6593 1

原创 SQL语句笔试题

前言收集一些SQL面试题(MySQL5.6)第一篇表结构及数据SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for dept-- ----------------------------DROP TABLE IF EXISTS `dep...

2020-01-28 18:59:21 3637 1

原创 ConcurrentHashMap底层结构与实现原理

前言HashMap是一个非常优秀的类,使用也非常频繁。

2020-01-19 13:42:20 4163

原创 ThreadPoolExecutor线程池实现原理与源码解析

ThreadPoolExecutor线程池原理 + 源码,了解一下。

2020-01-10 22:44:18 3001

原创 如何获取子线程的执行结果

前言博主以前面试的时候,真真切切的被问过这样一道题:如何获取子线程的执行结果?总所周知,在单线程情况下,想获取线程执行结果很简单,只需要写类似的代码即可:Object result = xxx.getXxx();但是在多线程的情况下,想要获取子线程的执行结果,恐怕就没这么简单了。剑走偏锋我们都知道开启一个新线程的方式有两种:继承Thread类、实现Runnable接口。可是这两...

2020-01-08 21:59:40 5304 2

原创 并发工具Phaser、Exchanger使用

前言Phaser是JDK1.7提供的一种同步工具,是可重用的同步屏障,其功能类似于CyclicBarrier和CountDownLatch,但支持更灵活的用法。本篇主要讲解Phaser、Exchanger两种工具的用法。其更加灵活的地方就在于:可以阶段性的控制各个线程的行为。举个例子总共六位同学要参加同学聚会,聚会流程有三项:吃饭、K歌、看电影。六位同学都要吃饭,但是吃完饭后只有四位同学想...

2020-01-05 14:27:28 3040

原创 一千万个数高效求和

大厂真实面试题

2020-01-04 11:49:01 4452 3

原创 Thread类、Runnable接口详解

前言Thread类想必都不陌生,第一次学习多线程的时候就一定会接触Thread类。本篇主要从Thread类的定义、使用、注意事项、源码等方面入手,全方位的讲解Thread类。Thread我们经常会被问到这样一个问题:Java开启一个新线程有哪几种方法?答案是两种:继承Thread类、实现Runnable接口。说只有两种,有人可能就不服了,实现Callable接口为什么不算?线程池为...

2019-12-26 23:08:02 5928

原创 深度解析延迟队列DelayQueue

前言有时候,我们有一些任务需要“稍后”来做,比如一些连接需要空闲一段时间后再关闭,session需要空闲一段时间后自动退出。这个时候就需要一些可以延迟执行任务的工具。DelayQueue(延迟队列)就是一个可以实现类似功能的工具。DelayQueueDelayQueue(延迟队列)的标准实现出现在JDK1.5中的J.U.C包中,作为一个工具类,用来管理一些需要延迟处理的任务。先来看下它的类体...

2019-12-23 22:41:41 2734

mha4mysql.zip

mha4mysql-manager-0.57-0.el7.noarch.rpm和mha4mysql-node-0.57-0.el7.noarch.rpm

2020-06-08

LinkedList.java

数据结构始终是计算机科学绕不开的话题,是计算机中存储、组织数据的方式。学习数据结构能让我们明白,如何更高效的存、取数据。编写程序的目的就是为了处理数据,处理数据本质上就是存、取、运算。 本资源是博主利用单链表实现了LinkedList的基本核心功能。

2019-10-17

ArrayList.java

数据结构始终是计算机科学绕不开的话题,是计算机中存储、组织数据的方式。学习数据结构能让我们明白,如何更高效的存、取数据。编写程序的目的就是为了处理数据,处理数据本质上就是存、取、运算。 本资源是博主手动利用数组实现了ArrayList基本功能。

2019-10-16

dynamicTable.html

工作中常常需要动态的添加或者删除表格行或者列,所以稍微整理了一下,实现了一些比较通用的功能。

2019-04-30

北京地铁线路及地铁站信息表_2018年11月10日

于2018年11月10日整理,来源https://map.bjsubway.com/。表构建成功后,根据表id排序,就是各个地铁站之间的顺序。

2018-11-10

DHC,Chrome插件

chrome浏览器插件,用于模拟http请求。chrome浏览器插件,用于模拟http请求。chrome浏览器插件,用于模拟http请求。

2017-09-24

flux护眼神器

非常轻巧的桌面护眼软件

2017-08-15

Java面试宝典2017版本高清.pdf版

这套面试题主要目的是帮助那些还没有java 软件开发实际工作经验,而正在努力寻找java软件开发的朋友在笔试时更好地赢得笔试和面试

2017-08-15

空空如也

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

TA关注的人

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