自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HarderXin的专栏

努力做好自己,既然选择了,就风雨兼程!

原创 分享阿里后端p7架构图谱

今天2B哥给大家来一份福利,一位阿里的后端架构师整理的前端架构p7的技能图谱,当然不是最完整、最系统的,所以之后我会一直维护更新这里的内容,欢迎大家关注下我的公众号:Java2B 技术架构整理: 重点是:免费 + 不断更新 + 交流 。 宗旨:从小白到大师,我们慢慢来。 获取:Java2B(公众号...

2020-02-25 13:36:12

阅读数 92

评论数 0

原创 【金三银四】Zookeeper常用场景使用介绍

Zookeeper主要是基于文件系统和监听通知机制,可以用于统一命名服务、分布式配置管理、集群管理、分布式锁、分布式队列、负载均衡等功能。 文件系统结构 Zookeeper维护一个类似文件系统的数据结构: 每一个子目录,如NameService称之为一个znode目录节点,和文件系统一样,我们...

2020-01-14 16:57:35

阅读数 3487

评论数 2

原创 【金三银四】JVM虚拟机栈执行原理深入详解

前言: 你好,早上、中午、下午、晚上好。我是Java2B哥(微信搜Java2B)。一名无缘985,日常996工程师。 2B哥今天继续教大家JVM知识。这次章节为: 【金三银四-JVM系列】CMS收集器与GC日志分析定位问题详解 【金三银四】JVM虚拟机CMS和G1收集器详解 什么是J...

2020-01-10 15:11:11

阅读数 4342

评论数 20

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

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

2020-01-09 17:23:54

阅读数 1277

评论数 1

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

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

2020-01-09 17:22:43

阅读数 553

评论数 1

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

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

2019-12-31 20:05:52

阅读数 355

评论数 0

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

面试被虐 【金三银四】HashMap图解原理与数据结构二【JDK8红黑树】 你好,早上、中午、下午、晚上好。我是狮子王辛巴。一名无缘985,日常996工程师。 作为一名为人民币服务的工程师,学好技术是多么重要的事情。 今天跟各位老铁们详细说说日常的开发中经常用到的HashMap。 怎么可能骗你...

2019-12-25 22:00:51

阅读数 1337

评论数 1

原创 阿里巴巴开源的 Java 诊断工具Arthas【入门篇】

前面: 各位老铁们,好久没和大家见面了,最近2B哥一直躲在家里不敢出来门,过着像猪的生活… 吃喝拉撒睡觉。远程在家办公一段时间也是遇到了比较棘手的问题。所以没有顾得上来和大家分享了,不过大家放心,2B哥从这篇文章起我又会回到正轨了(XXXX,必有后福)哈哈哈同意的点个赞哈~~~~ Arthas简介...

2020-02-24 15:22:52

阅读数 66

评论数 0

原创 spring5源码编译与下载

下载源码 可以在github上下载 ,也可以下载我课堂的源码(有注释) git clone https://github.com/spring-projects/spring-framework.git 配置gradle 编译环境 Spring源码是通过gradle编译的,所以要先配置gra...

2020-02-09 14:23:35

阅读数 407

评论数 0

原创 2020年并发编程面试题【吐血整理】

1)现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执 行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟 悉。这个多线程问题比较简单,可以用 join 方法实现。 2)在 Java 中 Lock 接口比...

2020-01-23 10:34:08

阅读数 1322

评论数 0

原创 2020年JVM面试题吐血整理【过年必看】

2B哥今天给大家带来点jvm相关的面试题,希望小伙伴们可以在春节这段时间好好复习下。看完这篇JVM面试基本没问题。95%内容都在在,更多的面试题可以关注公众号(微信搜:java2b) 1、内存模型以及分区,需要详细到每个区放什么。 JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用...

2020-01-21 22:33:35

阅读数 1821

评论数 1

原创 回家过年(必看)2020年Java工程师成神之路

时间不愿意停留,岁月不喜欢等待。不知不觉中, 春节临近,回家的脚步也越来越近。我的家乡,无意间变成了一家客栈,一家我求学和工作路上的客栈。几乎一年才回家一次,甚至更久。每次与家人的相聚,短之又短!‍ 停停停停停停停停停停停停停停停停!!!!!!!!!!!!!!! “2B哥能别说了,我要泪奔了,就...

2020-01-20 11:07:16

阅读数 620

评论数 0

原创 【吐血整理】Java Collections你必须知道的13件事情

开始: 你好,早上、中午、下午、晚上好。我是Java2B哥(微信搜Java2B)。一名无缘985,日常996工程师。 Java Collections Framework是Java编程语言的核心部分之一。集合几乎用于每种编程语言中。大多数编程语言都支持各种类型的集合,例如列表,集合,队列,...

2020-01-14 13:58:22

阅读数 3194

评论数 0

原创 Java工作4年来应聘要16K最后没要,细节如下。。。

前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、 熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、 熟悉常...

2020-01-14 13:23:39

阅读数 50742

评论数 78

原创 北漂女程序员工作6年面试JD要价28K

写在开头: 上周面试了一位女程序员,上午10::30来我们部门面试,2B哥接待了她. 大家来看看她的简历: 个人简历 个人技能: ● 熟悉spring mvc 、spring、mybatis 等框架 ● 熟悉 redis 、rocketmq、dubbo、zookeeper、ne...

2020-01-13 14:47:01

阅读数 16319

评论数 64

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

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

2020-01-09 17:22:05

阅读数 539

评论数 0

原创 【金三银四】Mysql索引优化实战

**创建test表(测试表) ** CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` varchar(10) DEFAULT NULL, `c2` varchar(10) DEFAULT NULL, `...

2020-01-08 14:48:33

阅读数 533

评论数 0

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

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

2020-01-08 14:47:58

阅读数 336

评论数 0

原创 Mybatis源码分析第一章MyBatis快速入门

MyBatis入门 MyBatis 是一个容易上手的持久层框架,使用者通过简单的学习即可掌握其常用特性的用法,这也是MyBatis 被广泛使用的原因之一。在深入分析MyBatis 源码前,我想先向大家介绍一下MyBatis 的一些基础知识。本章将从三个角度向大家介绍 MyBatis,分别是 MyB...

2020-01-07 13:39:16

阅读数 333

评论数 0

原创 Redis底层通讯原理详解

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

2020-01-06 14:33:17

阅读数 349

评论数 0

原创 Rocketmq源码分析与导入

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

2020-01-05 13:00:59

阅读数 343

评论数 0

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

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

2020-01-03 13:20:04

阅读数 326

评论数 0

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

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

2020-01-02 13:17:21

阅读数 328

评论数 0

原创 2019年我是如何从学渣进大厂的

我已经毕业好多年了,现在也算有一份收入不错的工作—— Java 攻城狮(俗称程序员,对,就是经常被调侃的那个职业)。我是怎么一步步踏上这条攻城之路的呢? 这个要从高考选专业开始说起,说来不怕你们笑话,其实我是稀里糊涂选了计算机应用专业的。那时候并不知道,计算机专业毕业后能干什么,能不能养活自己,只...

2020-01-02 13:16:56

阅读数 457

评论数 1

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

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

2019-12-31 20:06:42

阅读数 330

评论数 0

原创 设计模式之小金的泡妞学(上)

在程序员的世界里,泡妞可真的是一门很大的学问,因为程序员天真单纯腼腆,不懂得套路,嘴巴也不会说,每天都沉浸和陶醉在代码的世界里,不亦乐乎,对于泡妞来说,基本上不怎么会,更不要说屌丝逆袭了,所以跟大家从设计模式的角度分享一下身边一位高人的泡妞绝学,开启小金同学的泡妞之路: 【相遇之观察者模式】 ...

2019-12-12 15:04:05

阅读数 408

评论数 0

原创 AQS运用之ReentrantLock实现

在共享资源同步器AQS详解中讲了AQS的底层实现原理,现在来看一下它的具体运用,我们知道AQS定义了几个空的抛异常的方法让用户自定义实现。自定义同步器实现时主要实现以下几种方法: isHeldExclusively():该线程是否正在独占资源。只有用到condition才需要去实现它。 tryAc...

2019-06-26 18:05:22

阅读数 359

评论数 0

原创 共享资源同步器AQS详解

在ArrayBlockingQueue与LinkedBlockingQueue一文中有提到过一个同步器框架:AbstractQueuedSynchronizer,简称AQS,今天我们来揭开它神秘的面纱。我们知道在ArrayBlockingQueue和LinkedeBlockQueue中,我们间接使...

2019-06-13 17:51:26

阅读数 379

评论数 0

原创 排队买包子之ArrayBlockingQueue与LinkedBlockingQueue

在java集合包中,我们经常用到的两个集合,一个是ArrayList,一个是LinkedList,众所周知,ArrayList是用数组实现的,便于查询,LinkedList是使用链表实现的,便于插入和删除操作,如果我们要通过ArrayList或LinkedList实现一个生产者或者消费者模式,我们...

2019-05-29 18:40:41

阅读数 422

评论数 2

原创 Java面试总结

◆java中实现线程锁有哪些,实现原理是什么? 1、采用Synchronized关键字,实现原理是同步代码块是使用monitorenter和monitorexit指令实现的,同步方法(在这看不出来需要看JVM底层实现)依靠的是方法修饰符上的ACC_SYNCHRONIZED实现,jdk1.6对锁的...

2018-09-11 11:35:01

阅读数 519

评论数 0

原创 slf4j与log4j、log4j2

    最近公司项目系统需要将日志从log4j+slf4j升级为log4j2,然后彻彻底底的把它们研究了一遍,在网上查找相关资源,发现并没有一篇文章能够很完整的把它们之间的关联和区别写出来,所以我在这里做一个总结。log4j    如果在我们系统中单独使用log4j的话,我们只需要引入log4j的...

2018-05-23 17:12:27

阅读数 12345

评论数 0

原创 困惑

      最近有一个问题时常困惑着我,就是现在做一件觉得很重要却不怎么感兴趣的事情为什么会这么难,为什么总是不能坚持,比如喜欢写作的你是不是很久没有好好写过一篇文章了,热爱运动的你是不是也有很久没有好好锻炼一下了,以前时常看书的你是不是有许久没有去好好翻一翻书本了.....感觉每天只要抽出一点时...

2018-04-28 09:03:10

阅读数 517

评论数 0

原创 使用Daemon将java程序运行为后台service

我们有时候可能需要将java程序运行成为后台service,我们可以使用apache daemon来实现,借助里面的函数,编写我们的bat脚本,然后运行该脚本,即可将我们的程序运行为一个service apache daemon下载地址和文档参考:http://commons.apache.org...

2018-01-26 15:02:56

阅读数 2625

评论数 0

原创 解决TailerdirSource读取rotate文件无法重命名问题

系统中有一个新的需求,通过flume的TaildirSource去读取rotate文件数据,所谓的rotate文件就是指文件中的数据在达到我们指定大小的时候,系统会自动重命名将历史记录文件备份为一个新的文件,例如指定log文件大小为1M,系统在log文件中不断生成日志信息,如果该文件达到1M,那么...

2017-12-12 16:48:37

阅读数 745

评论数 0

原创 java获取windows Active Directory信息

通过java原生态的api就可以获取到windows AD信息,想要了解windows Active Directory是个什么东东,自己可以查阅相关资料,一般来说windows系统安装完后可能不会自带AD查看器,我们需要通过下载软件进行update,下载地址:https://www.techni...

2017-10-24 11:07:19

阅读数 1561

评论数 0

原创 maven解压zip包将jar包copy到指定目录

系统中使用maven构建项目的时候,依赖另一个工程项目,在进行构建的时候需要将另一个工程的zip包解压到本地目录,然后复制到lib目录下面,步骤如下: 1、添加zip包的依赖,需要指定type类型为zip,默认为jar文件 <dependency> <grou...

2017-09-07 13:51:19

阅读数 2777

评论数 0

原创 使用Sigar包获取操作系统信息

项目中的一个需求是获取操作系统的相关信息,可以收集的信息包括: 1, CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait) 2, 文件系统信息,包括Filesystem、Size、Used、Avail、Use%...

2017-08-07 16:16:15

阅读数 1937

评论数 0

原创 java-grok通过正则表达式解析日志

项目中有一个新的需求,就是需要解析日志,将日志中的部分数据分析获取出来供系统使用,通俗的讲就是抓取日志中的部分有用的信息,比如下面的apache日志信息,我需要解析每行日志,获取每行日志的IP地址、用户、创建时间、请求方式、地址....如果我们单纯使用java的方式,可能会想到通过文件流读取日志信...

2017-08-07 15:16:23

阅读数 4489

评论数 11

原创 flume自定义sink

用户不仅可以自定义flume的source,还可以自定义flume的sink,用户自定义sink在flume中只需要继承一个基类:AbstractSink,然后实现其中的方法就可以了,例如我现在的需求是只要用户使用我自定义的sink,那么它需要提供一个文件名称,该名称如果有具体路径的话,需要填写路...

2017-07-12 17:31:05

阅读数 6067

评论数 0

原创 flume自定义source

我们了解到了flume的底层实现原理之后,我们不仅可以根据flume自身提供的API,实现Source的定义,还可以根据项目的实际需求,编写我们自己的Source,比如Source可以是从网络上下载一个文件,亦或者是从数据库中查询数据,总之都能灵活实现我们自己的需求! 一、新建java工程项目,在...

2017-07-03 17:01:41

阅读数 6264

评论数 0

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