自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

盛夏温暖流年

要善良,要勇敢,要像星星一样努力发光。

  • 博客(125)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 【裸辞转行】是告别,也是新的开始

一年多了没有更新,是因为去年身体加心理因素辞职了,并且大概率不会再做程序员了,嗯,想了想,还是来做个告别吧,任何事情都该有始有终才对。

2023-07-19 21:00:38 1264 2

原创 【MongoDB 学习专题(日常篇)】MongoDB 常用命令

查看所有集合:show collections创建集合:db.createCollection('user')删除集合:db.collection_name.drop()给集合中插入对应数据:db.user.insert([{name:'jcy',phone:'15646464867'},{name:'cam',phone:'13845769584'}])查看集合数据:// 简单查询db.user.find()// 美化后的查询db.user.find().pretty()

2022-03-20 18:39:31 578 1

原创 【MongoDB 学习专题(基础篇)】MongoDB 入门

一. MongoDB 介绍MongoDB 是一个基于分布式文件存储的的开源数据库系统,由 C++ 语言编写,旨在为 WEB 应用提供一个可扩展的、高性数据存储解决方案。它是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最接近于关系数据库的。MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。MongoDB 中的文档类似于 JSON 对象,字段值可以包含其他文档,数组及文档数组。二. MongoDB 概念SQL 术语/概念和 Mo

2022-02-03 21:06:00 1250

原创 【日常学习分享】Docker 常规操作流程

最近学习总结了很多东西,分享一下笔记记录,希望可以帮助到有需要的小伙伴们。下载镜像// 从 Docker Hub 仓库下载镜像docker pull ubuntu:12.04// 从其他仓库下载镜像docker pull daocloud.io/ubuntu:12.04操作镜像// 编写 DockerFile 文件后构建镜像,这里这个 ".",是用来指定构建镜像上下文的路径docker build -t test:v1 .// 构建后删除镜像docker image rm f0f569

2022-01-22 19:47:11 1005

原创 【日常学习分享】Git 操作流程和命令

入职培训了一段时间,笔记里总结了不少知识点,分享给大家,希望可以一起学习进步。日常操作流程生成 ssh 公私钥:ssh-keygen查看复制公钥:cat ~/.ssh/id_rsa.pub克隆所需项目:git clone git@xxxxx:name/training.git查看当前分支:git branch配置默认分支:在【Settings】>【Repository】>【Default Branch】中设置。创建分支并切换:git ch

2022-01-22 19:34:18 592

原创 2021总结:万千热爱,初心不负,三餐烟火暖,四季皆安然。

2021 年发生了很多事情,分手,独自搬家,裸辞,离开生活九年的城市,面试找工作,我把这一年的关键词定义为:“悲壮”。年初,当大家都在计划着新的一年要如何大展宏图的时候,我在忙着分手和搬家·······

2022-01-09 18:08:47 8928 9

原创 【裸辞记录之入职篇】不要怂,我们都是最棒的打工人(内附详细入职注意事项)

入职感觉很简单,其实还是有很多细节需要注意,我把它们总结为以下几个方面:入职材料准备、租房小策略、新公司路线考察、入职的自我介绍准备、入职后的环境适应。

2022-01-03 14:26:55 894 4

原创 【裸辞记录之面试篇】准备好了就出发,面试官不会吃人(内附详细常用面试回复和注意事项)

这篇博客主要包括了面试前的准备,如何筛选理想公司,面试中的常用回复,面试注意事项,也有个人的一些感悟和想法,希望能够给小伙伴们更多的力量和勇气去面对面试。

2022-01-02 00:41:06 1247 2

原创 Dubbo 专题(基础篇):Dubbo 介绍、环境搭建与实践

本篇博客属于 Dubbo 的入门基础篇,内容主要包括 Dubbo 概念,Dubbo 特点,Dubbo 基本工作原理,Dubbo 环境搭建,Dubbo Demo 实践,一起来学习下吧。

2021-12-12 17:34:48 652

原创 消息队列专题(架构篇):RabbitMQ 的集群架构模式

RabbitMQ 的集群架构模式主要有四种,分别是主备模式、远程模式、多活模式和镜像模式,本篇博客将依次介绍这四种架构模式,其中的镜像模式使用范围最广,我们将对其进行重点介绍。

2021-12-10 20:57:56 4331

原创 消息队列专题(高级特性篇):RabbitMQ 如何保证消息的可靠性投递、传输和消费

我们使用 RabbitMQ 进行消息处理一般都需要保证消息的可靠性,而消息的可靠性又可以根据消息的不同处理阶段分为可靠性投递、传输和消费。本篇博客将针对这三种情况介绍相应的设计方案,首先来看一下消息的可靠性投递。消息的可靠性投递1. 消息投递模式消息可靠性投递,是指保证生产者能够把消息 100% 发送到消息队列中,生产者 Producer 为我们提供了两种消息投递模式:Confirm 确认模式 和 Return 退回模式 ,这两种模式是保障消息可靠性投递的核心,先来了解下这两种模式。Confir

2021-12-04 19:01:01 1231

原创 消息队列专题(实战篇):SpringBoot 集成 RabbitMQ 入门级实战

最近的学习劲头越来越足了,昨晚刚写完了 RabbitMQ 介绍与环境搭建篇,今天就开始更新实战篇了,想起原来同事对我的形容:生产队的驴都没你勤快,哈哈哈哈哈哈,说得可真对!言归正传,本篇博客参考了慕课网的 RabbitMQ 课程,在此基础上进行了简化,提供了一个最简单的无存储功能的消息队列实现,课程链接如下,感兴趣的小伙伴可自行进行学习:https://www.imooc.com/video/17845配置消息队列打开并登录消息队列的管理界面,首先来配置 exchange:图中有三个参数,分别

2021-11-26 22:48:31 2038

原创 消息队列专题(进阶篇):RabbitMQ 介绍与环境搭建

之前写过一篇博客简单介绍了消息队列的基础知识,当时立下了 Flag,说好下次会专门介绍 RabbitMQ,说到做到,前来填坑。消息队列入门基础篇博客链接如下:https://blog.csdn.net/j1231230/article/details/119180550什么是 RabbitMQRabbitMQ 是实现了高级消息队列协议(AMQP)的面向消息的中间件。RabbitMQ 服务器使用 Erlang 语言编写,是一种应用程序之间的通信方法,在分布式系统开发中应用非常广泛。上面提到了高级消

2021-11-25 22:02:44 1918

原创 Redis 的脑裂现象和解决方案

Redis 中的脑裂是什么?从名字分析,脑裂现象就是大脑裂开了,一个人如果有两个大脑,就出现了两个决策者,此时身体就不知道该听谁的了,势必会造成混乱。对应到 Redis 上,就是指在主从集群中,同时有两个主节点,它们都能接收写请求,那么什么时候会出现这种情况呢?就是如果当前主库突然出现暂时性 “失联”,而并不是真的发生了故障,此时监听的哨兵会自动启动主从切换机制。当这个原始的主库从假故障中恢复后,又开始处理请求,但是哨兵已经选出了新的主库,这样一来,旧的主库和新主库就会同时存在,这就是脑裂现象。脑裂

2021-11-23 19:48:53 11022 2

原创 【日常学习分享】JVM 分代垃圾回收是如何进行的?

JVM 的垃圾收集算法主要包括 4 种:标记-清除算法,标记-整理算法,复制算法,分代收集算法,相比而言,分代收集算法是最常用的,也相对复杂一点,所以在此整理记录一下,加深记忆。垃圾收集的是哪里?首先抛出一个问题,垃圾收集,收集的到底是哪里?我们来看一下 Java 的内存区(又叫做运行时数据区),如下图所示:可以看出,按照线程共享和线程私有可以分为两大块,各自的组成如下:线程共享:堆,方法区(HotSpot 的永久代);线程私有:程序计数器,Java 虚拟机栈,本地方法栈;在内存结构中

2021-11-18 22:47:07 913

原创 【裸辞记录之感受篇】裸辞后的反焦虑生活,相信一切都会有最好的安排

焦虑期碎碎念八月份裸辞,到现在不知不觉快三个月了。刚辞职其实是有点焦虑的,回老家呆了几周,一直在高强度学习和复习面试题,生怕自己把学会的东西忘了。渐渐的感觉很心累,越学越感觉自己不会的东西好多,还又做不到完全的躺平,就陷入了自己和自己较劲的局面。实在想不明白了,就开始尝试用心理学学的知识开导自己:当感觉到焦虑的时候,可以脱离开自己的情绪,以旁人的角度去观察自己。于是想象自己站在旁边,看到了一个其实已经很努力的小姑娘因为没学完当天几乎不可能完成的任务而沮丧到炸毛,突然感觉有点搞笑,干什么啊这是,非要今

2021-11-11 20:32:52 1724 4

原创 【面试常备知识】前端本地存储机制浅析

浏览器的本地存储共分为五种,包括 Local Storage、Session Storage、IndexedDB、Web SQL、Cookies,本篇博客主要对常用的 Cookie、LocalStorage、SessionStorage 存储机制进行介绍,如有不正之处,欢迎指出。

2021-10-29 22:38:24 907

原创 【日常学习记录】Java 常用线程并发类的应用实例

之前复习线程并发的时候曾经写过博客,对 ReentrantLock 的实现原理进行了详细的介绍,链接如下:https://blog.csdn.net/j1231230/article/details/120572008常用常新,趁着还没忘再回顾一下相关知识,保持学习的好习惯非常重要。可以知道,ReentrantLock 实现的前提是 AbstractQueuedSynchronizer(抽象队列同步器),简称 AQS,是 java.util.concurrent 的核心,常用的线程并发类 CountD

2021-10-25 17:44:00 532

原创 【HTTP 协议的前世今生】HTTP 1.0、HTTP 1.1 和 HTTP 2.0

本篇博客将从 HTTP 协议的概念出发,分别介绍 HTTP 协议各个版本的特点,以及对 HTTP 协议状态码和 HTTPS 协议进行说明。首先,我们先来了解下 HTTP 协议的概念。

2021-10-20 19:35:05 1528

原创 动画详解十大经典排序算法【Java版实现】(下)

上篇博客介绍了五种排序算法,分别为:冒泡排序,选择排序,插入排序,希尔排序,归并排序,博客地址如下:动画详解十大经典排序算法【Java版实现】(上)本篇博客针对剩下的五种排序算法展开介绍:快速排序,堆排序,计数排序,桶排序,基数排序。1. 快速排序算法介绍通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录均比另一部分记录小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的效果。动画演示步骤描述 从数列中挑出一个元素,称为 “基准”; 重新排序数.

2021-10-19 20:56:28 935

原创 动画详解十大经典排序算法【Java版实现】(上)

经典排序算法可以说是面试必考题,然而大学毕业之后基本都忘光了,正好趁这个机会拿出来好好总结复习下,也算不辜负当年老师的一片苦心了。十大经典排序算法包括:冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序,堆排序,计数排序,桶排序,基数排序。本来准备一口气把十种都介绍一遍,然而整理完前五种后大脑就宕机了(亲测熬夜会使人变傻······),那干脆就分为上下两部分好了,正好也方便记忆。接下来我们用动画的方式,先来分析前五种算法:冒泡排序,选择排序,插入排序,希尔排序,归并排序。1. 冒泡排

2021-10-09 18:57:05 722

原创 ReentrantLock的实现原理

ReentrantLock 简介ReentrantLock 实现了 Lock 接口,是一种可重入的独占锁。相比于 synchronized 同步锁,ReentrantLock 更加灵活,拥有更加强大的功能,比如可以实现公平锁机制。首先,先来了解一下什么是公平锁机制。ReentrantLock 的公平锁机制我们知道,ReentrantLock 分为公平锁和非公平锁,可以通过构造方法来指定具体类型://默认非公平锁public ReentrantLock() { sync =

2021-09-30 23:11:20 4174

原创 Java中synchronized关键字的使用和原理

synchronized关键字的使用synchronized 关键字是 Java 中一个独占式的悲观锁,可以用来修饰方法块和方法,根据锁定对象的类型进行分类,可以分为对象锁和类锁。对象锁修饰同步代码块:锁定对象为 this 或者实例对象;public class Sync{ private int a = 0; public void add(){ // 锁定对象为 this synchronized(this){

2021-09-29 15:48:20 947

原创 乐观锁实现之CAS算法分析

在介绍 CAS 之前,先来了解下什么是乐观锁。乐观锁(Optimistic Lock)是指对于数据冲突保持一种乐观态度,操作数据时不会对数据加锁,只有到数据提交的时候才通过某种机制来验证数据是否存在冲突。可以通过使用版本号和 CAS 算法进行实现,本篇博客主要介绍CAS 算法的概念,以及对 CAS 算法的实现原理进行分析。什么是 CAS 算法CAS:Compare and Swap,即比较再交换,其算法公式如下:函数公式:CAS(V,E,N)CAS 操作需要我们提供一个期望值,.

2021-09-25 22:06:42 885

原创 CopyOnWriteArrayList 实现原理

CopyOnWriteArrayList 是什么CopyOnWriteArrayList是 Java 并发包 java.util.concurrent 中提供的并发容器,本质上是一个线程安全且读操作无锁的 ArrayList。它在确保线程安全的前提下,通过牺牲写操作的效率来保证读操作的高效。所谓 CopyOnWrite 就是通过复制的方式来完成对数据的修改,在修改时复制一个新的数组,在上面进行修改,不会对旧的数组进行改变,也就没有读写数据不一致的问题了。CopyOnWriteArrayList.

2021-09-22 21:44:34 830

原创 ConcurrentHashMap 实现原理

一.ConcurrentHashMap 是什么在并发编程中,ConcurrentHashMap 是一个经常被使用的数据结构,相比于 Hashtable 以及Collections.synchronizedMap() 来说,ConcurrentHashMap 在线程安全的基础上提供了更好的写并发能力,同时还降低了对读一致性的要求,是 java.util.concurrent包里面提供的一个线程安全并且高效的 HashMap。二.ConcurrentHashMap 的不同版本实现JDK 1.7...

2021-09-19 22:45:22 3258

原创 深入理解 Java 中的反射机制

一. 什么是反射在理解反射这个概念之前,我们先来理解 Java 中的 “正射”。在编写代码时,如果需要使用某一个类,必定先会去了解这是一个什么类,用来做什么,有怎么样的功能。之后才会对这个类进行实例化,以及使用对应的实例化对象进行下一步的操作。而反射则是在代码一开始编写时不知道要初始化的类是什么,自然也无法使用 new 关键字来创建对象。它的定义如下:在运行状态中,对于任意一个类,都能够在运行时知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息

2021-08-28 20:44:21 479

原创 Java 中多态的实现原理

一. 什么是多态多态是面向对象编程里面的概念,一个接口的多种不同的实现方式,即为多态。这里的接口不应理解得太死板,比如在 Java 里面,继承一个类和实现一个接口本质上都是一种继承行为,因此都可以理解为多态的体现。从静态和动态的角度进行划分,多态可以分为编译时多态和运行时多态。编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的方法,编译之后会变成两个不同的方法。而运行时多态是动态的,是通过动态绑定来实现的,也就是大家通常所说的多态性,本篇博客主要讨论运行时多...

2021-08-26 22:14:22 4214 6

原创 深入理解接口幂等性

一. 什么是接口幂等性幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。它是系统服务对外的一种承诺(注意不是一种实现),接口服务提供方承诺只要调用接口成功了,外部多次调用对系统的影响是一致的。举一个最常见的例子,用户购买商品后支付扣款成功,但是此时网络发生了异常,导致返回结果失败。因为没收到返回结果,用户就会再次点击付款按钮,就会多付了一笔钱,一旦用户发现余额少了,开发人员就等着被祭天吧,这就是没有保证接口的幂等性。需要强调一点是,声明为幂

2021-08-22 13:04:43 973 2

原创 HAProxy + Keepalived 配置架构解析

离职后的交接是一件有意思的事,被交接的时候有多头大,交接给别人的时候就有多爽,哈哈哈哈哈,不多说了,接手工作的同事要来打我了(手动狗头保命.jpg)。不过话说回来,交接工作本身真的是学习和提升的好机会,在之前一次次接手同事工作的时候,自己也得到了快速的成长,虽然比较痛苦,但也学到了很多之前没怎么接触过的技能;而当自己辞职把工作交接给同事,也是回顾总结,反省自我和共同提升的好机会。回想工作的 5 年里,一个人前前后后接下了系统的后端代码、架构、部署,从对后端一知半解到能够独立设计开发功能

2021-08-15 18:08:37 2260

原创 【Java 总结思考】Java 答疑解惑之网络通信篇

打破舒适圈,经常对知识进行总结思考,才能保证自己不掉队。系统化重学 Java 第五篇,虽然网络通信不属于 Java 技术领域,但是它是很重要的基础知识,也需要熟练掌握。开头碎碎念终于还是提了离职,在单位待了整整六年,走到最后满心疲惫,最初的热情消耗殆尽。烟台这个城市很美,人很热情,大海也很漂亮,但我终究不属于这里。离职是改变的起点,改变也意味着新的契机,虽然不知道未来在哪里,但是心怀希望,全力去做总是没错的。言归正传,系统化重学 Java 不知不觉更新到第五篇了,越来越发现 “知.

2021-08-08 15:46:02 378 1

原创 消息队列专题(基础篇):消息队列入门

一. 什么是消息队列消息队列就是我们常说的 MQ,英文为 Message Queue,是一个需要独立部署的中间件产品。首先从字面来看,它包含了两个关键词:消息和队列。消息:是指需要传输的数据,可以是普通的字符串类型,也可以是其他的复杂数据类型;队列:用于存放消息的中转站,是一种先进先出的数据结构,元素从队尾入队,从队首出队,如下图所示:二. 消息队列的两种模式消息队列主要分为两种模式:点对点模式和发布订阅模式。点对点模式这种模式类似于单播,生产者发布消息放入队列,如果有.

2021-07-29 12:29:46 1620 1

原创 【详细图解】一个 Java 对象是如何被创建的?

程序员日常最喜欢的自我调侃就是,没有对象很简单啊,自己写代码 new 一个不就好了,说到这里,我们的骄傲就已经尽数体现了。不过一个简简单单的 new 背后,JVM 到底为我们做了些什么呢,Java 的对象具体是怎么被创建的呢,一起来看看吧。

2021-07-20 13:01:42 833 3

原创 【Java 总结思考】Java 答疑解惑之 IO 篇

打破舒适圈,经常对 Java 知识进行总结思考,才能保证自己不掉队。如果在看的小伙伴有关于 IO 方面的问题,欢迎评论区留言,我们一起寻找答案,共同进步~

2021-07-15 15:07:32 375 2

原创 【Java 总结思考】Java 答疑解惑之异常篇

打破舒适圈,经常对 Java 知识进行总结思考,才能保证自己不掉队。系统化重学 Java 第三篇,一起分析下Java 异常中的常见疑问点吧。第一问: 为什么 Java 要引入异常机制?在没有异常处理机制的语言中,比如C语言,在函数调用过程中就只能通过检查函数返回值错误码方式来判断函数调用是否正确执行,这会扰乱正常代码流程,而且事实上高傲的程序员也很少去检查错误码。异常处理让异常无法像错误码一样被忽略,必须写代码去捕获。另外,使用异常代替返回错误码,错误处理代码就能从主路径代码中分离出来..

2021-07-02 17:37:58 390

原创 【Java 总结思考】Java 答疑解惑之集合篇

打破舒适圈,经常对 Java 知识进行总结思考,才能保证自己不掉队。系统化重学 Java 第二篇,来一起分析下Java 集合中的常见疑问点吧

2021-06-27 18:05:30 534 11

原创 【Java 总结思考】Java 答疑解惑之基础篇

凡事多问为什么,寻找背后的答案,是一个优秀程序员最基本的素养。这是第一篇,我会坚持更新下去,大家在评论里提的问题,我都会补充到博客里进行解答。系统化重学 Java 之路,一起出发吧!

2021-06-21 10:00:14 580 3

原创 【毕业季】离开后再没有门禁,但你要记得早点回家

千百万个不同的夏天,相同的只是告别;于是跃入人海,各有风雨灿烂。一转眼,毕业已经整整 5 年了。

2021-06-13 15:16:26 1499 14

原创 Apache DolphinScheduler征稿 — Apache DolphinScheduler 快速入门与部署

目录一.Apache DolphinScheduler 背景二.Apache DolphinScheduler 介绍三.Apache DolphinScheduler 特性四.Apache DolphinScheduler 单机部署流程1.Linux 操作系统版本要求2.服务器建议配置3.基础软件安装4. 下载二进制 tar.gz 包并安装5. 创建部署用户并赋予目录操作权限6. ssh 免密配置7. 数据库初始化8. 修改运行参数9. 一键...

2021-06-10 17:35:07 1671 8

原创 【准备 Java 面试】如何高效复习不焦虑 | 寻找C站宝藏

准备面试的首要任务就是巩固技术知识,但是看着网上各种资料很容易让人感到无从下手而陷入焦虑,文章末尾有我自己复习的学习方法,主要就是按照视频课程结合电子书进行复习,希望能帮到有需要的小伙伴。

2021-06-09 17:48:08 617 7

JavaGuide面试突击版4.0.zip

JavaGuide面试最新版,很全面的面试题

2021-06-09

link_up.zip

Python 连连看,带多线程倒计时版本,在其他项目版本上改的,原博客地址: https://blog.csdn.net/lu_embedded/article/details/86484603

2021-06-01

mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar

mysql安装包(tar)

2021-05-10

mybatis-generator-core-1.3.2.rar

包含mybatis-generator1.3.2的jar包、mysql数据库连接jar包、mybatis.jar

2018-01-24

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

TA关注的人

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