自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员小奎的博客

努力学习 只为遇到更好的自己!

  • 博客(174)
  • 资源 (2)
  • 收藏
  • 关注

原创 让媳妇瞬间搞懂Spring 多数据源操作(SpringBoot + Durid)

最近在调研 Spring 如何配置多数据源的操作,结果被媳妇吐槽,整天就坐在那打电脑,啥都不干。于是我灵光一现,跟我媳妇说了一下调研结果,第一版本原话如下:Spring 提供了一套多数据源的解决方案,通过继承抽象 AbstractRoutingDataSource 定义动态路由数据源,然后可以通过AOP, 动态切换配置好的路由Key,来跳转不同的数据源。

2020-06-20 11:14:30 984 4

原创 不搞虚的!快速把你拉入Docker 的门里

前言学习一门东西你要先搞懂怎么使用它。以及使用它的一些操作用语。就好比你去驾校学车,教练首先给你讲这个是方向盘、这个是油门、这个是刹车一定要记住,关键时刻可以保命。然后开始教你怎么让车启动并慢慢跑起来。本文通过 Docker 部署 SpringBoot 带你快速了解 Docker 简单使用 Demo 级别操作。谨以此文献给刚入门的小白,大牛勿喷。通过本文你将了解到如下内容:Docker 是...

2020-02-12 11:32:16 1457

原创 带你入门SpringCloud统一配置 | SpringCloud Config

前言在微服务中众多服务的配置必然会出现相同的配置,如果配置发生变化需要修改,一个个去修改然后重启项目的方案是绝对不可取的。而 SpringCloud Config 就是一个可以帮助你实现统一配置选择之一。如果你不懂 SpringCloud Config 环境搭建,那么该篇博客将会帮助到你,文中通过具体操作带你了解 SpringCloud Config 环境搭建入门操作。阅读本文需要你熟悉Sp...

2019-09-21 10:24:20 7768

原创 Git 天天用 但是 Git 原理你了解吗?

Git 原理做技术一定要知其然知其所以然,意思就是:知道它是这样的,更知道它为什么是这样的。我主要通过4块内容来简单介绍 Git 是原理是什么样的。这4块内容如下:Git 存储目录结构介绍Git 是如何存储的Git 的对象Git引用当然 Git 原理不仅仅包含这些,想要更深入了解请查看官方教程 https://git-scm.com/book/zh/v2/。本文内容是我在 Git...

2019-09-20 17:27:28 117785 20

原创 带你入门SpringCloud服务发现 | Eurka搭建和使用

前言服务注册与发现是微服务中最为基础的环节,而 Eureka 就是一个可以帮助你实现服务注册与发现的选择之一。如果你对 Eureka 和服务发现了解甚少,那么该篇博客将会帮助到你。文中通过具体操作带你了解如下内容:什么是服务注册与发现什么是 EurekaSpringCloud Eureka 单台环境搭建SpringCloud Eureka 高可用环境搭建SpringCloud E...

2019-08-31 23:16:57 1870

原创 SpringBoot 2 快速集成 Jedis客户端(自动配置版)

<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>

2019-06-22 18:46:08 5996 2

原创 不会部署并调试SpringBoot源码?一看必会IDEA操作

SpringBoot 现在这么火几乎是面试必问,如果你能说出点源码是如果实现的,那么面试官跟定对你刮目相看。但是好多同学往往在部署SpringBoot源码的时候,由于找不到门路而选择放弃。本篇博客通过简单方式教你如果将SpringBoot源码导入IDEA并对其进行调试,对核心的代码添加自己注释内容。

2019-02-27 19:14:17 5717 1

原创 玩转SpringBoot 2.x 解析BeanPostProcessor原理篇

专题系列分类:玩转SpringBoot2.x系列教程1 demo 版本说明开发工具:Spring Tool Suite (STS)springboot版本:2.0.5.RELEASEjdk版本:1.8.0_144在阅读该博客前建议大家一定要把demo写下来 在自己的环境下,根据操作静下心来一步步看。阅读源码本身是一个比较费神的操作,建议大家一定要多看 看明白后自己在把大体思路捋...

2018-10-23 17:15:44 3339

原创 再也不怕面试官问 OOM了,一次生产环境 Metaspace OOM 排查流程实操!

这样会导致每次使用此拷贝方式的时候都会动态重新创建一个映射类,因为每天会有大量的mq 消息消费调用到上述代码逻辑,导致会创建大量的映射类的元数据存储到元空间中,将元空间的内存打爆。MetaSpace 内存管理: 类和其元数据的生命周期与其对应的类加载器相同,只要类的类加载器是存活的,在 Metaspace 中的类元数据也是存活的,不能被回收。目前我们公司监控告警最近刚搞起来,目前还不是很完善,内存使用率在很高的情况下没有进行告警,后期要把 JVM 相关的告警配置完善起来。

2024-04-10 22:26:07 613

原创 简历上写这个短地址服务,面试直接通过了!

大量相同的长链接生成短链接请求:缓存长链接和自增号,当大量同一个长链接过来,直接从缓存服务器里返回短网址,这样就无法耗光我们的自增号了。短地址项目核心就是将长链接转换成短链接,并保证每个长链接对应唯一的短链接。:活动秒杀链接高频访问性能问题:对于可能被高频访问短链接,通过增加缓存来提高自增号对应长链接的查找速度。这个方式绕开了短链接转换成长链接,但是没有解决长链接转成短链接重复的问题。攻击的形式有2中:大量相同的长链接生成短链接请求、和大量不同的长链接生成短链接的请求。缺点是会增加服务器的压力。

2024-04-07 09:58:08 664 1

原创 为何你的 Git 分支总是引发问题?揭开代码协作的秘密!

在软件开发的世界里,Git 分支管理就像是一场精心编排的舞蹈,每个舞步都至关重要。但是,你是否经常遇到分支混乱、合并冲突,甚至是丢失重要代码的情况?这些问题可能让你的团队协作变得困难重重。今天,就由小奎来揭开高效代码协作的秘密,让你的 Git 分支流程变得清晰有序。

2024-04-03 17:53:16 328

原创 Java Jar 包还不知道怎么反编译,赶紧看看这个 IDEA 插件!

当我们使用 Java 开发时,经常会遇到一种情况:我们拿到了一个 JAR 文件,但是却没有源代码。这时候,我们就需要使用反编译工具来帮助我们还原出源代码。反编译工具可以将编译后的 JAR 文件转换回可读的 Java 源代码。这样,我们就可以看到原始的代码,理解它的逻辑和实现细节。比较成熟的反编译插件有:jd-gui、jadx、FernFlower、IDEA Java Bytecode Decompiler 小奎尝试了几个虽然可以反编译但是操作都有点复杂。

2023-11-05 21:15:58 2347

原创 不会JVM调优,但是领导让你优化一下 JVM 参数,这个工具快速搞定!

他是 JVM 参数配置小白的好帮手,同时也是合理配置 JVM 参数的利器。

2023-09-11 15:20:07 169

原创 数据结构与算法-数组

数组是比较常见的基本数据结构,在不同的开发编程语言中都有数组这种数据类型。例如:Java 语言中 Vector、ArrayList (底层使用可变数组)。本文通过通俗易通的案例带你快速了解数组的庐山真面目。数组介绍我们平常看电影购买的电影票都会显示你观看电影的位置坐标,如下图所示:​![image.png](https://img-blog.csdnimg.cn/img_convert/e7d19cd268328fe2b145bbc094b7151e.png#clientId=ue1e1cd3c-2e

2021-11-07 01:37:05 434

原创 数据结构与算法的时间空间复杂度

提到数据结构与算法就不得不提时间复杂度和空间复杂度,本人看大部分文章介绍都比较晦涩难懂,就想着用简单的代码示例快速让你理解数据结构与算法的时间空间复杂度。首先,时间复杂度表示的是使用某个数据结构或者某种算法程序执行所耗费的时间,其次,空间复杂度是使用某个数据结构或者某种算法程序执行需要占用多少内存空间。通过时间复杂度和空间复杂度其实是衡量数据结构和算法执行效率好坏标准。时间复杂度常见的时间复杂度如下:● O(1) 常数阶复杂度● O(log n) O(nlogn) 对数阶复杂度● O(n) 线

2021-10-31 18:43:36 532

原创 Mac 系统安装 ElasticSearch

前言本文主要介绍如何在 Mac 系统安装 ElasticSearch 环境,本地环境安装 ElasticSearch 前需要先安装 Java 环境,关于安装Java 环境这里就不在进行过多的阐述。 闲话少说,直接开整!安装操作流程第一步,下载 ElasticSearch 安装想包。首先访问 ElasticSearch 官网 https://www.elastic.co/cn/elasticsearch/ 进行下载。第二步,启动 ElasticSearch解压 ElasticSearch

2020-12-26 18:09:54 1061

原创 HTTP 协议深入理解(一)

前言在 聊聊 HTTP 协议的知识点中介绍了 HTTP 协议主要负责服务端和客户端数据传输操作,数据传输操作主要分为2 块:一是请求数据:客户端向服务端请求数据;二是响应数据:服务端向客户端响应数据,然而请求和响应都是通过请求报文和响应报文来完成的。今天我将带大家了解 HTTP 协议请求报文和响应报文组成部分有哪些。HTTP 报文在 【HTTP 图解】中将请求报文和响应报文主要分为 2 块:报文首部和报文主题,具体如下图所示:为了方便理解我将 HTTP 请求报文和响应报文做了如下拆分:HTTP

2020-10-31 18:38:32 818

原创 聊聊 HTTP 协议的知识点

最近刚入手了一本 【图解HTTP】,阅读的同时写点总结笔记,一来方便对学习后的加深理解,同时也分享给大家。本文主要分享一些关于 HTTP 协议的核心知识点,方便大家可以快速对HTTP 协议有一个简单的了解。我将通过如下三块内容带你快速了解 HTTP 协议什么是HTTP 协议HTTP 协议知识点与介绍各个知识点之间的关系什么是 HTTP 协议HTTP 协议中文名:超文本传输协议,英文名:HyperText Transfer Protocol 简称 HTTP。关于HTTP 中文名叫超文本传输协议

2020-10-24 18:18:14 450

原创 SpringBoot 集成 layering-cache 实现两级缓存调研与实践

前言

2020-08-23 20:21:36 1576 2

原创 聊聊互联网那些事

聊聊互联网那些事人类历史上出现过许许多多伟大的发明,而论及我们这个时代,最伟大的发明恐怕当推互联网。—— 摘自中国网信网http://www.cac.gov.cn/2014-11/13/c_1113234106.htm话说互联网的诞生是由一个名来自 CERN (欧洲核子研究组织)的蒂姆·伯纳斯-李 博士发明的,李博士的最初想法是如何让全国各地实验室研究者能够共享知识成果。1989年 3月 李博士(这里暂且这么进行简称)为实现这个想法提出了3项技术 HTML、HT...

2020-07-26 20:06:42 435

原创 自律不熬夜真的那么难吗?

熬夜是为了自由的滋味 ——【我执】都靓Amber 视频号号主在介绍关于很难做到自律不熬夜的问题原因这样说道:不熬夜已经成为了这个时代最难的自律,梁文道在【我执】中说:“熬夜是为了自由的滋味” 。为了追剧熬到深夜、为了吃鸡通宵达旦、即使朋友圈不在有新消息也不愿放下手机。好像就这么睡过去对不起自己的灵魂,但也就是在无数熬夜的日子里,我们扛过了焦虑,获得了快感,掌控了时间,获得了自由。在这一段偷来的时光里,我们可以摘下面具自由的呼吸。不必掩饰在茫茫人海中打拼的疲惫和困顿,安心做自己.

2020-05-24 10:33:38 2942 9

原创 Intelli IDEA 快捷键操作,咱来点不一样的

前言本文并不打算简单罗列 IntelliJ IDEA 快捷键,而是教你如何通过刻意的练习,来掌握IntelliJ IDEA 快捷键的操作。需要注意的是本文操作均使用Mac进行演示。文中会介绍如何查看 Windows 快捷键。为什么要熟练使用你的开发工具「程序员修炼之道」中有一段关于使用编辑器的内容如下:❝要用好你的编辑器,在你开发时将其操作变成你的本能反应,使编辑器变成你双手的延伸。❞这样做的好处是:可以大大提高我们的开发效率。而一名优秀的程序员必备的特性之一就是:开发效率高。..

2020-05-10 15:23:16 1533

原创 快速入门 Nacos 作为配置中心操作

目前比较成熟的配置中心有:SpringCloud Config、Apollo、Nacos。本文主要介绍通过 Nacos 作为配置中心的操作。通过本文你将了解如下内容: - 在本地环境搭建单机版 Nacos 配置服务端 - 通过Alibaba Initializr 生成 SpringBoot 配置项目客户端 - 以及搭建过程中需要注意的事项

2020-05-01 23:00:01 1530

原创 后台定时统计任务太耗时如何优化一下

最近公司开发了一个新功能:统计有关联课程的学习信息,数据是每天晚上12点开始统计。由于数据量有点大,所以每次统计当天的任务需要差不多10个小时。运营人员需要第二天就看到数据,但是每天10点后才能看到确实有点不合理。于是组长让我把代码统计任务程序时间缩短一下。

2020-04-19 12:00:58 3344

原创 看完这篇学不会 Vim 定位操作我跟你姓!

前言Linux 有一款编辑神器 Vim,熟练使用它的小伙伴对它爱不释手。但是 Vim 入手的门槛有点高,需要记住各种快捷键。尤其是 Vim 的各种定位操作例如:光标切换到第7行、光标移动到行尾或行首等等。本文通过练习加测验的模式带你快速玩溜 Vim 定位操作。需要注意的是:本文适合有Linux 基础并了解Vim ,但是不熟悉其定位操作的同学。接下来就来开始介绍 Vim 中常用的定位操作,本文...

2020-03-14 14:03:42 2832 7

原创 推荐一门免费提升开发效率的课程,非广告。

最近看了慕课网上闪电侠老师的免费课程:IntelliJ IDEA神器使用技巧,看完后瞬间觉得醍醐灌顶。看完后深刻理解了工欲善其事必先利其器,用好开发工具以及它的快捷键绝对可以大大提高你的开发效率。在此非常建议入门不久和不太擅长使用 IntelliJ IDEA 快捷键的小伙伴。观看视频教程前需要注意如下事项:1)该教程非常适合使用 Mac 小伙伴进行观看,当然使用Windows 系统的小伙伴也不...

2020-02-29 22:42:06 1736

原创 玩转SpringBoot2.x之缓存对象

提到Redis 大部分的人首先想到的可能就是缓存,那么在 Java 项目中如何把对象缓存起来呢?这就是本文接下来要介绍的内容:缓存对象。本文通过SpringBoot 项目带你快速了解通过Jedis 把对象缓存到Redis中。

2020-02-27 08:23:35 2981

原创 带你学 Redis: 基本命令 String 操作(三)

前言Redis 常用的数据结构有: String (字符串)、 List(列表)、Set(集合)、HashMap(哈希)、Sorted sets(有序集合)。不常用的有:Bitmaps(位图)、Hyperloglogs 、Geospatial。本文主要介绍如何Redis 中 String 的操作介绍 。Redis 所有的数据结构和Java 中的HashMap 一样key 是唯一的并且这个ke...

2020-02-25 18:14:32 2037

原创 玩转 SpringBoot 2.x 之 RedisTemplate 操作

Spring 专门提供了进行 Redis 操作的抽象 RedisTemplate,底层依然使用 Jedis 或 lettuce。SpringBoot 2 默认使用 lettuce。

2020-02-25 16:30:02 3582

原创 记录一次 Win10 通过 VirtualBox安装CentOS7 的辛酸史

https://www.virtualbox.org/VirtualBox 6.1.4访问 https://mirrors.aliyun.com 下载 centos 镜像。6.0.2https://www.cnblogs.com/sbman/p/7346333.htmlhttps://www.jianshu.com/p/f9ffa8369673https://www.cn...

2020-02-24 12:42:44 3769 1

原创 Win10 通过 VirtualBox安装CentOS7操作手册

下载并安装 VirtualBox访问 VirtualBox 官网 https://www.virtualbox.org/ 下载 Windows 安装包,然后傻瓜式安装即可。Win10 系统建议下载 6.0.2 版本,亲测没有问题。下载 CentOS 镜像访问 https://mirrors.aliyun.com 下载 centos 镜像,如下图所示选择centos,然后在最下面的相关链接 ...

2020-02-24 12:33:35 2649 2

原创 SpringCloud 服务网关 Zuul 自定义路由和排除路由配置

自定义和排除路由配置zuul.routes.zqmyUser.path=/zqmyUser/**zuul.routes.zqmyUser.service-id=user接受cookie的信息zuul.routes.sensitiveHeaders=自定义前置过滤器和后置过滤器内部调用使用多个Zuul 注册到Eureka Server外部调用可以使用nginx+Zuu...

2020-02-23 11:10:36 3203

原创 玩转 SpringBoot 2.x 之 快速集成 Jedis客户端(普通版)

前言Java 开发 一般会选择 Jedis 客户端来进行 Redis 相关的操作,本文通过SpringBoot 项目带你快速上手 Jedis 相关的操作。代码案例基础配置操作引入 jedis 客户端的依赖,具体代码如下:<dependency> <groupId>redis.clients</groupId> <artifactId>j...

2020-02-22 19:59:54 2863

原创 带你学 Redis:Redis安装(二)

Windows 安装请参考 Win10下使用Docker运行Redis并进行端口映射和持久化MAC安装Docker 安装安装 Docker拉取Redis 镜像根据Redis 镜像运行一个redis 容器docker run -itd --name redis-test -p 6379:6379 redisdocker run -d --name my_redis -p 6379:6...

2020-02-21 11:49:39 2012

原创 带你学 Redis:Redis简介(一)

Redis 是什么?Redis 是一个高性能 key-value 的非关系型内存数据库,这里 key-value 可以理解成Java中的 Map。Redis 的 value 支持各种数据结构类型,不仅有常用的 string,还有 list、set、hashmap、sorted sets、bitmaps、hyperloglogs 、geospatial。Redis 通过 master-slave...

2020-02-21 11:38:30 861

原创 手把手带你入门 Docker Compose

通过本文你将了解到如下内容:什么是 Docker Compose、Docker Compose 运行 SpringBoot 项目、Docker Compose 运行 SpringBoot + 数据库项目、Docker Compose 启动 2个SprignBoot 项目并互相调用。

2020-02-15 17:33:11 1362 1

原创 你修改了样式,却要我手动清除游览器缓存,这是BUG!

1. 事件背景公司网站首页的样式进行了大量改版,但是上测试线后,测试同事对我们开发说:怎么还是原来的效果,没有任何变化啊。听到这样的问题,我们第一反应是游览器缓存。你清除一下游览器缓存,或者换一个游览器。手动清除游览器缓存虽然可以解决问题,但是用户根本不知道啥是缓存,也不会手动清楚游览器缓存。我不管!这个是BUG,不解决这个BUG 不能上线。嗯… 你说的有道理,我马上去修改!2. 解决方案...

2020-01-09 18:21:22 16204 19

原创 代码刚提交暂存区,组长突然要我把新增代码 Commit另一分支怎么办?

1. 背景最近刚换公司,上家公司使用 svn 进行代码的版本控制,而现在公司使用的是git 方式。因为自己平常也有使用 git,所以基本使用操作还是没有问题的。最近需要做的新功能需求讨论了一周,这期间我提前在 master 分支上编写大量基础代码。在正式开始开发时,领导跟我说你切换到xx分支上进行开发吧。咱们采用的是 Git Flow 的方式进行代码版本控制的,分支我已经建好了。 于是我就跟...

2020-01-04 17:50:19 4460 3

原创 带你入门SpringCloud 之 服务网关 Zuul

1代的zuul 性能比较差,2代还可以。9000 是zuul的项目直接是服务名称+api自定义路由:添加配置后可以访问所有的路由规则禁止访问某个地址配置 排除某些路由Zuul:Cookie和动态路由敏感头的过滤配置置空即可如果做到动态路由,就是改了配置后直接生效。将如下下配置放到GIt 上添加入下代码配置就可以了zull 高可用...

2019-12-08 20:07:19 4443 1

原创 玩转 SpringBoot 2.x 之使用 SpringDataJpa 篇

前言JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。–以上内容摘抄自百度百科JPA Hibernate Spri...

2019-11-30 14:12:19 4513

spring3集成swagger的jar包

Spring 3.2.2.RELEASE 集成 swagger需要的jar包 集成博客:https://blog.csdn.net/ljk126wy/article/details/89083426

2019-04-09

java和java虚拟机发展史思维导图

java和java虚拟机发展史思维导图,用于自己java虚拟机总结

2019-03-07

空空如也

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

TA关注的人

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