自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发相关工具

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友我们在并发编程中,经常会使用到一些工具来帮助我们控制线程。本章节就会对CountDownLatch、CyclicBa...

2020-12-17 09:00:00 315 1

原创 Java中的原子类

送你小心心记得关注我哦!在前面的内容中,我们已经学习了CAS的原理,所以对于学习本节来说会非常容易。本节介绍Java中的原子类是java.util.concurrent.atomic包下...

2020-12-11 09:00:00 2335

原创 并发容器和队列

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友2.9.1 Java中的并发容器在我们开发中,经常会使用到容器来存储对象或数据,容器的作用非常大,合理使用各个容器的...

2020-12-10 09:00:00 386

原创 线程池

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友2.8线程池在实际开发中,我们的项目里是杜绝在某些业务中直接继承Thread类或者实现Runnalbe接口等方式创...

2020-12-03 09:00:00 209

原创 Java中的锁

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友本章节介绍Lock接口的应用,以及Lock最核心的队列同步器AbstractQueuedSynchronizer(A...

2020-12-02 09:00:00 267

原创 synchronized

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友Synchronized是同步中的鼻祖,很多人叫他重量级锁,也是最基本的同步互斥手段。随着Java版本不断提高,尤其...

2020-12-01 09:00:00 186

原创 CAS

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友在此部分讲解CAS概念是因为后面部分章节将会有很多地方使用到他,因为CAS是并发框架的基石,所以相当重要,读者需提前...

2020-11-26 09:00:00 290 4

原创 volatile

送你小心心记得关注我哦!!不知朋友们在编写多线程代码时,对于共享内存变量是否很好的处理呢,接下来我们将介绍volatile语义、特性、和使用。2.4.1 volatile的特性Java提...

2020-11-25 09:00:00 197

原创 简述Java内存模型

本章节主要介绍Java内存模型的设计原理,让我们更清晰的认识数据在内存中的表现,使我们能够可以更好的使用他们,也能让我们在开发中避开很多问题。学知识并非翻翻书那么简单,况且即使学会了,不...

2020-11-24 09:12:00 295

原创 并发与并行

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友2.2.1认识并发与并行我们理解了什么是线程,以及线程与进程对关系,那么我们现在可以简单理解为,并发就是在同一时刻多...

2020-11-23 09:12:25 162

原创 线程

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友并发编程在开发一般的项目确实接触很少,也导致平时学习的机会也不多,基本上都是碰到相关问题时会查一些相关资料去解决,所...

2020-11-20 10:12:24 154 2

原创 类加载机制

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友1.6类加载机制1.6.1概述学习本章前我们要对类文件结构有一个简单的认识,而学习类文件结构没有任何难度,更多的是参...

2020-11-19 09:00:00 178

原创 垃圾收集器

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友1.5垃圾收集器HotSpot按照分代收集,所以在不同代上产生了多种不同的收集器,随着时间的推移,有些已经弃用,有些...

2020-11-17 09:00:00 336

原创 垃圾收集算法及细节

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友1.4垃圾收集算法及细节1.4.1 分代收集这是我们一贯认为的垃圾收集方式,在大多的商业虚拟机中几乎都遵循着分代收...

2020-11-16 09:00:00 156

原创 HotSpot中的对象

点击上方“晏霖”,选择“置顶或者星标”曾经有人关注了我后来他有了女朋友1.3 HotSpot中的对象Java是一门面向对象的编程语言,Java程序运行无时无刻都要依赖着对象,我们可以把J...

2020-11-13 09:29:06 265

原创 Java运行时数据区

1.2.Java运行时数据区Java虚拟机在执行编译器编译后的字节码文件时会将自己划分多个内存区域,这些区域各执其责,用来存放程序执行顺序、变量、对象等。我们《Java虚拟机规范》规范中把Java虚拟机在运行时划分以下几个区域,如图 1-2所示。这里我们需要注意的是JDK8之后把方法区改名为Metaspace,Metaspace的叫法其实是 HotSpot的规定,并不是《Java虚拟机规范》的规定,因此我们要区分两者的关系。还有一点,JVM运行时数据区分为五块,不少网友看到的资料有说六块的,那是因为多了

2020-11-11 11:11:58 200 1

原创 初识Java虚拟机

你有一辆车,你每天开着它,车上功能充满了科技感,你很喜欢它,但后来你不满足它本身的样子,而且有时会出现莫名其妙的问题,可是你只会开车,你真的了解它吗?于是你开始探索它,你会发现有时候能成功,有时候会失败,但是你没有放弃,终于有一天,你可以控制它向你预期发展的方向进行,你会豁然开朗。有人总问,我是Java程序员,我学习JVM能干嘛?工作中用不到,难道就为了和面试官多聊几句吗?我的回答是,学习什么都是为了自己,面试也是其中的一小部分,事物的发展都是有规律的,如果你想在Java这条路多走几年,学习JVM是必经

2020-11-10 15:06:07 1015

原创 Linux搭建FastDFS单机版

前言使用FastDFS文件服务器主要分为两大步。第一步·FastDFS系统环境搭建第二部·配置 Nginx 模块及访问测试在本文你可以一站式从搭建到使用一一了解到。正文介绍FastDFS特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。FastDFS 系统有三个角色,跟踪服务器(Tracker Serve...

2019-10-11 17:12:44 685

原创 为什么HotSpot有‘对象’,因为他会垃圾分类和回收

前言想和HotSpot一样吗?安全的管理众多的对象,掌握着对象的生与死。前文我们了解了对象在内存中的整个生命周期的是什么样的,程序运行就要无限的创建对象,我们Java 虚拟机一定要对对象进行控制,不能让其泛滥,所以Java 虚拟机有一个特别重要的功能就是垃圾回收,把没用的对象进行回收,释放内存,这样程序才能稳定的在虚拟机上运行。正文人有英年早逝、长命百岁,对...

2019-07-31 14:37:55 215

原创 面试官:简历上说精通垃圾收集器?来吧,挨个给我说一遍

前言上文已经讲解垃圾收集的各种算法,算法可以理解为方法,如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。正文目录前言正文Serial收集器ParNew收集器ParallelScavenge收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器 面试官:你认识到的...

2019-07-16 16:47:45 452

原创 HotSpot-为什么你没有女朋友,因为你不了解‘对象’

前言Java是一门面向对象的编程语言,Java程序运行无时无刻都要依赖着对象,我们java虚拟机要创建她、养育她、管理她最后还要销毁她,HotSpot可以说对对象无微不至的照顾,想成为HotSpot一样吗?管理着成千上万的‘女朋友’,胖虎带着你们一探究竟。正文无中生有不可能,对象是活活存在的,所以第一步我们要创建她。对象的创建首先我们虚拟机在碰到n...

2019-07-03 15:29:37 331

原创 详细讲解JVM(Hotspot)运行时数据区

前言很多人对于学习jvm都有些抵触,枯燥的概念很难理解,工作中也用不到…等等原因,一些人从入门到放弃,或半途而废。做一件事一定要有目的,否则就失去了意义,无论为了什么最终目的是做好它。我当初学习jvm就是为了面试,我发誓我不会再让虚拟机的问题难住,我要让那些面试官看看,于是我拿着周志明的《深入理解Java虚拟机》一遍一遍的看,半年的时间,80%的内容我至少看4遍。东西学了不用就...

2019-07-02 16:16:35 614

原创 SpringBoot整合Elastic-Job实战(分片处理数据)

前言笔者上篇文章一文搞懂Elastic-Job(内附源码解析)是简单的介绍了Elastic-Job的使用,可以说是一个基础版,demo的写法在我们生产可不能直接拿过来用哦。我们知道Elastic-Job强大之处在于分片机制 ,如果用了Elastic-Job,而不用他分片的能力可以说杀鸡用牛刀,本文结合Elastic-Job强大的分片能力做一个简单的实战,利用分片高效处理数据,并且本文Demo...

2019-07-01 15:59:54 4346 2

原创 将博客搬至CSDN

系统要求

2019-06-30 18:08:20 162

原创 Spring Cloud Config 拉取GitHub读取配置

前言最近自己想搞一个项目,涉及到了配置文件集中管理这块,所以简单的就把案例分享给大家,因为懒,并没有实现热部署,等项目发展需要后在搞。文章内容比较简单正文我们把配置拿出去集中管理的好处有很多,比如实现配置不会冗余在项目中、众多个服务重复性的配置可以集中在一个文件管理,项目中个性化的项目还可以留在项目中写、项目稳定后这些配置可以交给运维单独管理了。在贴代码之前我们要知道几件...

2019-06-25 16:50:08 3375

原创 【RabbitMq 篇六】-消息确认(发送确认与接收确认)

前言消息确认是保证消息传递可靠性的重要步骤,上一节我们说到持久化,持久化只能保证消息不丢失,但是如果消息如果投递失败我们怎么进行补偿操作呢?解决办法就是实现回调函数进行操作,在消息的发送和消息的消费都可以进行补偿操作,下面我们就要讲解消息确认。正文目录前言正文消息确认种类消息发送确认ConfirmCallbackReturnCallback...

2019-06-21 16:56:00 15946 3

原创 【RabbitMq 篇五】-要点概念(优先级、顺序性、消息分发、持久化)

前言本文介绍RabbitMq几个重要的概念。分别是优先级队列、消息顺序性、消息分发、持久化。正文目录前言正文优先级队列消息顺序性消息分发持久化优先级队列顾名思义,优先级高的具备优先消费的特权。设置方式是在声明队列的时候设置参数:x-max-priority,代表最大优先级,如果参数设置10,如代码所示:@Bean publi...

2019-06-19 17:45:51 4440 2

原创 【RabbitMq 篇四】-延迟队列(DLX+TTL)

前言延迟消费在 RabbitMq 没有属性可以设置,只能通过 死信交换器(DLX)和设置过期时间(TTL)结合起来达到延迟的效果,所以我要介绍DLX和TTL以及实现延迟队列。正文使用所有框架和中间件的版本环境 框架 版本 Spring Boot 2.1.5.RELEASE RabbitMq 3.7.15...

2019-06-17 10:44:53 923

原创 【RabbitMq 篇三】-备份交换器

前言备份交换器也叫备胎交换器,顾名思义就是,替代现任的,分手后可以及时上位,让你的爱情持续下去,原理就是我爱你换不来你爱我,那我就去找备胎了。回到消息里就很好理解了,生产者发送消息,由于路由错误不能到达指定队列,所以就路由到备胎队列消费,这样做可以保证未被路由的消息不会丢失,其实保证消息不会丢失还可以通过消息的回调方法,添加ReturnListener的编程逻辑,但是这样做生产者的代码会...

2019-06-16 16:17:45 576

原创 【RabbitMq 篇二】-RabbitMq 发送与消费

前言本文介绍RabbitMq各个消息类型,以及用使用Fanout 类型进行消息的发送和消费,让大家对RabbitMq有一个简单的认识。正文使用所有框架和中间件的版本环境 框架 版本 Spring Boot 2.1.5.RELEASE RabbitMq 3.7.15 JDK 1.8.0_144...

2019-06-14 16:03:58 1050

原创 【RabbitMq 篇一】-RabbitMq下载与安装

前言在2017年的时候我第一次接触RabbitMq,我就爱上了他,后来接触了RocketMq,看名字来说,兔子永远追不上火箭,虽然rocket比rabbit吞吐量、可靠性、功能性都要强一些,但是我还是觉得初恋的味道是好的。笔者也是跟着 朱忠华《RabbitMQ实战指南》 日夜奋战。文章会连载,记得关注哦!正文安装Erlang如果你不知道自己是不是安装了就在终...

2019-06-13 17:52:00 10380

原创 SpringBoot配置文件敏感信息加密

前言SpringBoot配置文件中的内容通常情况下是明文显示,安全性就比较低一些。在application.properties或application.yml,比如mysql登陆密码,redis登陆密码以及第三方的密钥等等一览无余,这次是公安部和一些其他安全部门扫描我们代码前我们自己做整改,这里介绍一个加解密组件,提高一些属性配置的安全性。jasypt由一个国外大神写了一个springboo...

2019-06-12 16:27:03 7370 2

原创 一文搞懂Elastic-Job(内附源码解析)

前言Elastic-Job是当当基于Zookepper,Quartz开发并且开源的Java分布式定时任务,解决Quartz不支持分布式的弊端。它由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。题外话,当当的Sharding-JDBC已经加入Apache管理了,而这个Elastic-Job没有。还有一句题外话,私下和好友交流,当初要使用el...

2019-06-05 14:40:26 2923 4

原创 ShardingSphere 读写分离-代码零入侵

前言上文我们介绍Sharding-JDBC 分库分表(ShardingSphere 数据分片||链接:https://blog.csdn.net/weixin_38003389/article/details/90518112),我是用的是 java的配置方式,缺点就是有代码入侵性,其实我也完全可以用配置实现的。本文就给大家介绍一下 Sharding-JDBC 基于 配置进行读写分离。...

2019-06-03 12:56:15 4836

原创 Linux配置Mysql5.7主从配置

前言主从配置其实蛮简单的,主从配置也叫热备,热备就是在数据库启动的情况下实时对数据进行备份,相反对概念叫冷备,就是在数据库停止对时候对数据进行备份。我们使用数据库对主从配置主要是解决数据库对读写压力,一般的,写操作主库,读操作从库。远离就是从库读取主库对binlog日志实现诗句同步,同步是有延迟对,一般指的是两台机器的网络延迟,减少延迟的办法是尽量使用带宽较大的服务器做从库。正文...

2019-05-31 16:45:35 5913 2

原创 Linux安装mysql5.7.26 --(傻瓜版3分钟搞定)

前言在这之前的一天时间里,我全网搜mysql 的各种安装方式,还有版本不同带来的问题,会发现在 Mac 或者 在linux上安装5.7 一下版本时,出现的问题会少很多,尤其是 拿着 dmg文件在Mac 安装 就是1分钟的事,但是在linux 安装 5.7时出现了不少的问题,出现的问题各式各样,大家安装时碰到问题了,一定要找你当前版本下的解决方式。严格按照本文步骤可以顺利安装,这也是我连续在 三...

2019-05-30 15:26:28 70107 35

原创 ShardingSphere 数据分片

前言其实很多人对分库分表多少都有点恐惧,其实我也是,总觉得这玩意是运维干的、数据量上来了或者sql过于复杂、一些数据分片的中间件支持的也不是很友好、配置繁琐等多种问题。我们今天用ShardingSphere 给大家演示数据分片,包括分库分表、只分表不分库进行说明。下一节有时间的话在讲讲读写分离吧。github地址:https://github.com/362460453/boot-...

2019-05-24 17:25:37 7295 6

原创 Spring Boot2.0 使用Lettuce 连接Redis

前言上一文我们介绍了响应式编程/反应式编程到底是什么,通过案例连接了Redis,但是我们的操作都是返回 Mono 或者 Flux,那么很多小伙伴不习惯这种方式,所以本文就是一个比较贴合之前我们使用Jedis 连接 Redis ,只不过换成了Lettuce。当你看到我这篇文章的时候我想你不是第一次查找怎么使用Lettuce 连接Redis 吧,可能我写的Demo无法满足你们项目需求,那就取各...

2019-05-15 18:29:25 1989

原创 Reactive的方式访问Redis

前言本文主要大概介绍一下响应式/反应式编程方式访问 redis,不能解决很多生产问题,只是帮助大家对响应式编程有一个认识。本文是以Reactive 对方式访问 Redis ,当然也可以访问mongodb,以及部分关系型数据库,例如 Postgres,H2,Microsoft SQL Sever,目前只支持这些,持续更新请关注(https://spring.io/projects/sprin...

2019-05-15 17:57:43 20016 3

原创 Redis集群实现布隆过滤器

前言其实,在这之前我还真的不知道布隆过滤器是个啥,感谢群里一位大神网友,提供了相关代码和资料,至此我才知道什么叫布隆过滤器,本文就是为了指导很多像我一样的人,初识布隆过滤器,并可以结合 redis 及代码实现。正文本文分两部分讲解第一部分让读者知道什么是布隆过滤器,以及适用的场景。第二部分我们结合 redis集群实现一个简单布隆过滤器,并测试达到过滤的效果,本文的封装的代码可以...

2019-05-07 13:52:50 7069 3

空空如也

空空如也

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

TA关注的人

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