自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java2B

一名无缘985,日常996工程师 微信搜:Java2b

原创 【金三银四-JVM系列】CMS收集器与GC日志分析定位问题详解

开头: 今天2B哥要和大家分享一篇硬货,为什么呀?因为有两个好事情: 一、哥升级了LV2了 哈哈心情倍爽。 二、拿到了公司给的2千股 在公司呆了2年了,终于成为了东哥的好兄弟。 CMS收集器实战: 实战开始,准备好了没 构建Spring Boot项目: 模拟业务场景代码: @RestCo...

2020-01-09 14:35:59

阅读数 3869

评论数 7

原创 【金三银四】JVM虚拟机CMS和G1收集器详解

前言: 今天2B哥跟各位牛人分享JVM相关的知识点,今天重点介绍CMS和G1收集器,某些小哥哥就问为什么不讲讲其他收集器?按面试经验来说,这两种收集器问的最多,当然优先讲这两种呀,但是,我说但是,如果你关注我还能看到更多关于JVM的知识,保证让你收获满满,废话不多说,直接上干货。 ...

2020-01-08 13:44:10

阅读数 1756

评论数 4

原创 面试官:说说事务的ACID,什么是脏读、幻读?

一、事务 事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。–摘自百科 在MySQL里,事务是在引擎层面实现,比如MyIsam不支持,InnoDB支持 二、ACID 提到事务,肯定会想到 ACID 是吧,自行感受一下概念,然后我们来讲讲隔离性的问题。 原子性:事务的...

2020-01-07 13:28:01

阅读数 331

评论数 0

原创 【金三银四】深入理解Mysql索引底层数据结构解密

索引优化面试题 案例 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名...

2020-01-02 13:15:09

阅读数 152

评论数 2

原创 【金三银四】ArrayList图解存储原理与数据结构揭秘

前言: 你好,早上、中午、下午、晚上好。我是辛巴哥。一名无缘985,日常996工程师。 今天我辛巴哥来教娜娜学ArrayList 开始快速 import java.util.ArrayList; /**** * 求关注 微信搜:Java大型网站架构 */ public class Array...

2019-12-28 13:42:35

阅读数 206

评论数 1

原创 【金三银四】HashMap图解原理与数据结构二【JDK8红黑树】

约会被拒 上次给娜娜教完【金三银四】《HashMap图解原理与数据结构》之后,娜娜自信满满的去面试了。 今天我约娜娜出来看电影。娜娜没心情。 娜娜面试又被虐了,辛巴哥哥很难受,因为周末没人陪我去看电影了,我决定要帮帮娜娜小姐姐。 回到过去 让我们来回忆下上篇我们介绍的hashmap。 JDK...

2019-12-25 21:32:16

阅读数 1996

评论数 6

原创 【金三银四】HashMap图解原理与数据结构一【JDK7】

面试被虐 你好,早上、中午、下午、晚上好。我是狮子王辛巴。一名无缘985,日常996工程师。 作为一名为人民币服务的工程师,学好技术是多么重要的事情。 今天跟各位老铁们详细说说日常的开发中经常用到的HashMap。 怎么可能骗你,真的哦,无论我们在开发中还是在面试的时候HashMap比问好不好...

2019-12-19 12:22:33

阅读数 768

评论数 1

原创 互联网数据库分库分表思路和分法详解附带国内开源中间件

一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核...

2019-06-18 11:07:02

阅读数 718

评论数 0

原创 互联网电商后端架构高并发分布式演变之路

1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的...

2019-06-05 13:40:21

阅读数 2682

评论数 16

原创 Spring源码编译下载

下载源码 2B哥在家远程办公,心血来潮,整理点spring源码玩玩。 可以在github上下载 ,也可以下载我课堂的源码(有注释) git clone https://github.com/spring-projects/spring-framework.git 配置gradle 编译环境 ...

2020-02-04 13:23:36

阅读数 139

评论数 0

原创 一致性Hash算法实现原理详解

Hash环 我们把232次方想成一个环,比如钟表上有60个分针点组成一个圆,那么hash环就是由232个点组成的圆。第一个点是0,最后一个点是232-1,我们把这232个点组成的环称之为HASH环。 ![图片](https://uploader.shimo.im/f/FcmwzbmsdosBR1Q...

2020-01-10 16:14:37

阅读数 2243

评论数 0

原创 【金三银四】Redis面试热点之底层实现篇

0.前言 最近一周没有技术文章产出,主要是Q4马上结束各种业务都在冲量,笔者一直都在疯狂工作甚至还有些焦虑到偶尔失眠,由于没有成块的时间研究新东西,所以就把之前看过的东西抽时间总结了下。 计划分三篇来梳理Redis的相关热点问题,本次为开山底层实现篇,通过本文你将了解到以下内容: ...

2020-01-06 14:02:22

阅读数 329

评论数 0

原创 2020年Java工程师成神之路

一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象...

2020-01-05 15:41:50

阅读数 162

评论数 1

原创 Idea调试Rocketmq源码编译运行

Rocketmq源码编译运行 下载 从github下载源码,比较慢,也可以从gitee下载 源码目录结构 名称 作用 broker broker模块:c和p端消息存储逻辑 client 客户端api:produce、consumer端 接受与发送api common 公共组...

2020-01-05 12:58:37

阅读数 87

评论数 0

原创 分库分表知识详解与分库分表中间件介绍

为什么需要分库分表: 如果一个网站业务快速发展,那这个网站的流量也会增加。数据的压力也会随着而来。 比如电商系统来说双十一大促对订单数据库的压力很大。TPS十几万并发量, 如果是传统的架构(一主多从),主库容量肯定无法满足这么高的TPS。 业务越来越大,单表数据超出了数据库支持的容量。 持久化磁盘...

2020-01-03 13:14:10

阅读数 84

评论数 1

原创 【金三银四】深入理解Mysql索引底层数据结构解密

索引优化面试题 案例 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名...

2020-01-02 13:21:31

阅读数 70

评论数 1

原创 2019年18家大厂Java面试题整理了350道(分布式+微服务+高并发)

前言 2019年还有不到2个月的时间就结束了,这一你,你收获了多少? 前段时间一直有粉丝问我,有没有今年一些大厂Java面试题总结?最新抽时间整理了一些,分享给大家,大家一起共享学习!   一、性能调优系列 1.Tomcat性能调优 JVM参数调优: -Xms<size> ...

2019-12-31 21:43:52

阅读数 79

评论数 0

原创 Mybatis源码分析第三章-映射⽂件解析过程

本章,我们来分析一下映射文件解析的过程。与配置文件不同,映射文件用于配置 SQL 语句,字段映射关系等。映射文件中包含、、、、 <select|insert|update|delete>等二级节点,这些节点将在接下来内容中进行分析。本章除了分析常规的 XML 解析过程外,还会向大家介...

2019-12-29 14:55:17

阅读数 69

评论数 1

原创 Mybatis源码分析第二章-配置⽂件解析过程

从本章开始,正式进入源码分析阶段。按照 MyBatis 启动流程,本章将会对 MyBatis 解析配置文件的过程进行分析。我们在使用 MyBatis 框架时,通常会进行一定的设置,使其能更好的满足我们的需求。对于一个框架来说,提供较为丰富的配置文件,也是其灵活性的体现。本章将会介绍 MyBatis...

2019-12-29 14:51:18

阅读数 67

评论数 0

原创 分布式缓存开源框架Flasher介绍

写在前面 今天给大家推荐款国内某一线电商平台Redis分布式缓存框架。 推荐理由: 日均访问量100亿.QPS:157W。包含57项业务。 也是工作3-5年以上的程序员必看的源码资料,千万别错过。 Flasher特点 1、基于Jedis Cluster开发的客户端支持Redis Cluster集...

2019-06-18 19:40:24

阅读数 446

评论数 0

原创 Redis缓存穿透、缓存雪崩、并发问题分析与解决方案

把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下: 1、缓存和数据库间数据一致性问题 分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性...

2019-06-12 10:52:10

阅读数 3053

评论数 1

原创 自己动手实现一个简单的JSON解析器

1、背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML,JSON 有着诸多优点。比如易读性更好,占用空间更少等。在 web 应用开发领域内,得益于 JavaScript 对 JSON 提供的良好支持,JSON 要比 ...

2019-05-14 22:04:43

阅读数 2163

评论数 11

原创 Dubbo 源码分析 - SPI 机制

1.简介 SPI 全称为 Service Provider Interface,是 Java 提供的一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为...

2019-05-14 21:51:13

阅读数 627

评论数 8

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