自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 致在校的学弟学妹们:作为一名Java开发程序员,除了编程语言本身,你还必须知道这五点

有不少大学生表示在学校里很迷茫很浮躁,完全静不下心来做事,现在大三了,突然发现身边很多同龄人都考研的考研、进入大厂的进大厂,不少同龄人已经有房有车,月入过万,经济完全独立,有的甚至准备创业自己当老板了。相比较之下就感觉自己一无所成,知道自己该努力奋斗,但是很迷茫,不知道该怎么学习。希望我可以提出一些建议。...

2021-06-16 16:41:25 2036 74

原创 史上最详细Docker部署Mysql主从复制,带每一步骤图!!!

没有夸大标题哈,能够成功的,实测后发文????本文主要讲怎么用Docker部署Mysql的主从复制,看起来很长,实际非常简单的,看一遍,立马就能懂的。直接CV也能搭建起来,莫慌。我们一起加油!!!封面地点:泰山日出一、拉取镜像docker pull mysql:5.7相关命令:查看镜像:docker images二、启动镜像先启动mysql01容器:(即之后的主机)docker run -d -p 3310:3306 -v /home/mysql/node

2021-08-31 13:52:12 746 1

原创 实战:Spring Boot 程序如何做好 Web 层的测试

引言本文将讨论如何针对 Spring Boot 程序的 Web 层进行测试的,借助 MockMvc API 以及常见的测试库实现 Web 层方法的测试覆盖,以及如何定制 MockMvc。准备工作Java 8 Maven 3 Spring Boot 2.x.x新建一个 Spring Boot 工程,并且保证项目有以下Maven 依赖:<dependency> <groupId>org.springframework.boot</groupId&gt

2021-08-30 14:17:28 391

原创 学习设计模式——适配器模式

介绍适配器模式(Adapter Design Pattern) 将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作。在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。比如说我们很多人的手机现在都没有了耳机孔,需要一个转接头来充当适配器,一端连接耳机,一端连接手机的充电口,通过转接就可以正常使用有线耳机了。适配器模式有两种实现方式: 类适配器、 对象适配器原理与实现1. UML类图对象适配器类图:

2021-08-29 20:12:28 1325

原创 设计模式——迭代器模式学习之旅

一、什么是迭代器模式?迭代器模式(Iterator Pattern)又称为游标模式(Cursor Pattern),它提供一种顺序访问集合/容器对象元素的方法,而又无须暴露集合内部表示。迭代器模式可以为不同的容器提供一致的遍历行为,而不用关心容器内容元素组成结构,属于行为型模式。迭代器模式的本质是抽离集合对象迭代行为到迭代器中,提供一致访问接口。二、迭代器模式的应用场景迭代器模式在我们生活中应用的也比较广泛,比如物流系统中的传送带,不管传送的是什么物品,都被打包成一个一个的箱子并且有一个统一

2021-08-28 20:06:45 223

原创 Spring Boot实现多数据源整合Mybatis版

前言本篇博客只讲如何从零到壹地再Spring Boot项目中实现多数据源配置,不谈源码(后续上Spring Boot自动配置等源码)。本篇博客内容基于Spring Boot Version 2.5.1。背景一个项目中需要连接多个数据源,我们需要在 业务 层不同的接口访问不同的数据源,此时我们就需要整合项目适配多数据源,本篇博客由此展开。实现步骤1、配置文件中配置多个数据源参数在datasource之后添加标识对应数据源的字符,如我案例中的action、quotation,下面贴详

2021-08-27 13:55:41 246

原创 Java多线程与并发编程——Condition、Callable&Future

前言每天积累一点点,积跬步至千里。今天学习JUC包中的Condition、Callable&Future。Condition等待与唤醒JUC提供了这么多的工具类,目的是让我们对于程序中多线程环境下,对线程的控制,Conditon对象,用来让指定的线程等待与唤醒,按照我们预期的顺序执行,大白话就是,我们完全掌控线程的执行顺序。注意: 它必须和ReentrantLock重入锁配合使用。 Condition用于替代wait()/notify()方法 notify只能随机唤醒等待的线程

2021-08-26 13:38:37 150

原创 深入浅出Java多线程(十二)之ThreadPool(上)

前言线程,程序执行流的最小执行单位,是行程中的实际运作单位,经常容易和进程这个概念混淆。那么,线程和进程究竟有什么区别呢?首先,进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。ThreadPool线程池原理​ 所谓线程池,通俗的理解就是有一个池子,里面存放着已经创建好的线程,当有任务提交给线程池执行时,池子中的某个线程会主动执行任务。如果池子中的线程数量不够应付数量

2021-08-25 14:22:24 202

原创 程序员人均年薪百万?Java程序员该如何做到高薪?

程序员这个行业到底有什么魅力一度造就"360行,行行转IT”的盛况呢?作为当今最热门的行业之一,关于程序员的讨论多如牛毛。但不论如何,始终绕不过程序员传说中的高薪。网上程序员动辄年薪百万的传说特别耀眼,并且程序员总是给人一种忠厚老实不善于交际的感觉,所以在婚恋市场也特别受欢迎。虽然大部分程序员的收入没有网上传说的那么夸张,但是比传统行业拿的更多确实是存在的,这个行业的投入产出比还行。所以今天,我打算讲讲为什么程序员的工资相对于传统行业,可以做到更高,以及,作为Java程序员,我们如何才能拿.

2021-08-24 19:53:20 708 4

原创 泛型是什么?它在java中又有哪些必要性?

1、什么是泛型?对于大部分同学而言,泛型一词并不陌生,因为在Java开发中经常会用。常用的List、Map都用到过,所以泛型在Java中的重要的地位不言而喻。同时泛型也被广泛应用于面向对象编程和各种设计模式中。那么究竟什么是泛型,我们又为什么要用泛型?下面我们通过一道测试题来为同学们做解释:List<String> l1 = new ArrayList<String>();List<Integer> l2 = new ArrayList<Intege

2021-08-24 13:36:37 325 2

原创 学习设计模式——装饰器模式

概述装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。它是作为现有的类的一个包装。若要扩展一个对象的功能,装饰器模式提供了比继承更有弹性的替代方案。组合优于继承。何时使用:需要扩展一个类的功能,或给一个类增加附加责任。 需要动态的给一个对象增加功能,这些功能可以再动态地撤销。 需要增加一些基本功能的排列组合而产生的非常大量的功能,从而使继承变得不现实。UML 类图:角色组成:抽象构件角色(Component): 定义可以动

2021-08-23 13:40:43 200 3

原创 Spring中常见的设计模式—工厂模式

前言今天来和小伙伴们分享下设计模式中的工厂模式啦​一、工厂模式我们都知道,设计模式有23种,按照功能和使用场景可以分为三大类:创建型模式 结构型模式 行为型模式工厂设计模式(Factory Pattern)呢,就是一种很常见的设计模式,属于创建型模式的,主要作用就是来创建对象的~原理图​先来看一个小栗子二、简单工厂模式(非23种)原理图​例子的话,感觉也挺多的 比如各种品牌的电脑呀,手机呀,家具呀……比如笔记本电脑的例子抽取公共接口

2021-08-22 20:13:07 2978 1

原创 多线程之线程池ThreadPoolExecutor

作用 并发编程的艺术 降低资源消耗 提高响应速度 提高线程的可管理性 码出高效java开发手册 利用线程池管理并复用线、控制最大并发数等 实现任务线程队列缓存策略和拒绝机制 实现某些与时间相关的功能,如定时执行,周期执行等 隔离线程环境。比如,交易服务和搜索服务在同一台服务器上,分别开启两个线程池,交易线程的资源消耗明显要大;因此,通过配置独立的线程池,将搅拌的交易服务与搜索服务隔离开,避免各服务线程相互影响 状态RUNNING:能接受新任务,并处理阻塞队

2021-08-21 20:28:54 243

原创 SpringBoot集成分布式对象存储(分布式文件)MinIO

一、什么是MinIO?一句话:MinIO是高性能、可扩展、云原生支持、操作简单、开源的分布式对象存储产品。你可以把它和FastDFS、HDFS作为类比,但它比其它都更简单,极简是MinIO的设计初衷之一,而且他的性能很好。当然也有很多商用的对象存储服务,如阿里的OSS、腾讯的COS,无需自己维护,但需要付费。自建对象存储还是香。官网上的一句话:在中国:阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品二、如何安装部署?下载地址:w w w.mi

2021-08-20 15:51:50 2028 2

原创 【SpringMVC 从 0 开始】SpringMVC RESTFul 实战案例——实现修改功能

一、回显功能做实际修改操作之前,需要有个回显功能,就是点编辑页后可以看到数据。1.修改操作超链接这里的请求地址跟删除的一样,需要带上 id,因为要回显这个 id 的数据。 <td> <a @click="deleteEmployee" th:href="@{/employee/} + ${employee.id}">删除</a> <a th:href="${/employee/} + ${employee.id}">

2021-08-20 13:48:47 404

原创 设计模式之迭代器模式

迭代器模式的定义是通过提供一种方法顺序访问一个聚合对象中的各个元素,而又不必暴露该聚合对象中的内部表示。迭代器模式是针对聚合对象(数组、集合、链表)的“访问”而来。通过定义不同的遍历策略来遍历聚合对象。应用场景如果希望提供访问一个聚合对象的内容,但又不想暴露它的内部表示的时候可使用迭代器模式 如果希望有多种遍历方式可以访问聚合对象。 如果希望为遍历不同的聚合对象提供一个统一的接口,可以使用迭代器模式(多态迭代)。UML图迭代器模式中涉及的角色:抽象迭代器角色(Iterator):此

2021-08-19 13:53:29 211 6

原创 Java核心基础知识——Java 中的嵌套类

在 Java 中,可以在另一个类中定义一个类,这样的类称为嵌套类。它们使您能够对仅在一个地方使用的类进行逻辑分组,从而增加封装的使用,并创建更具可读性和可维护性的代码。 嵌套类的范围受其封闭类的范围限制。 嵌套类可以访问嵌套类的成员,包括私有成员。然而,反之则不然,即封闭类不能访问嵌套类的成员。 嵌套类也是其封闭类的成员。 作为其封闭类的成员,嵌套类可以声明为private、public、protected或package private(默认)。 嵌套类分为两

2021-08-18 13:44:03 1075 2

原创 【Redis 系列】Redis 学习——数据库的演进及 Nosql 的初步认知

为什么要用 Nosql ?咱们一起来看看数据库的发展过程1、单机的 MYSQL 时代应用访问数据库是 应用 – DAL 数据库访问层 – DB 数据库在单机的 MYSQL 时代,数据都不会太大,而且网页也是静态网页,一般网站的访问量也小,因此单数据库就完全够用了上面这种网站,瓶颈就会很明显:数据量变得大了,一个机器放不下如何处理 数据的索引 (B+ Tree),一个机器的内存放不下了如何处理 读写的访问量,一个服务器承受不了了如何处理随着历史进程的演进,上面这种网站必然会面

2021-08-17 13:44:31 126 2

原创 使用Redis来做缓存,你应该知道的!

一、缓存一些知识1.1、缓存击穿、缓存穿透、缓存雪崩是什么?缓存击穿用户请求的某个key在DB或者缓存中存在,但是可能正好在当这个key在缓存中到达了失效时间而过期,而此时大量访问该数据请求过来,相当于在缓存中凿开一个缺口,一下子全部打在DB上,造成DB压力压垮DB。缓存穿透用户通过请求一些缓存和DB中压根都不存在的数据,致使每次请求都会绕过缓存,请求DB,给DB带来压力缓存雪崩当缓存服务器重启或者大量缓存的keys过期失效,导致客户端过来的请求全部直接请求到DB中,造成DB压

2021-08-16 14:04:24 1717 3

原创 喜闻乐见:之前那个被字节跳动反复鞭尸面试了九次的人后来如何了?

前言前阵子,那个在字节跳动面试了九次的“二本渣渣”火了。这位二本的兄弟在这短短几个月内海投了638份简历,全挑的大厂岗位投的,参加的面试也很多,仅字节跳动前前后后就面了九次,他说:没有撤退可言。刚听说他的故事的时候我是震惊的,于是进行了深入的了解,以下是他写在自己的博客上面的分享。一、海投638份简历的前因我就是普通二本的一个小渣渣吧,家庭也一般般,没什么背景,今年本来是准备考研的,想通过提升学历来提高自己的市场竞争力,但是,那段发生了太多的事情,心态有些崩。大三暑假,父母突然离婚了

2021-08-15 20:46:29 449 8

原创 java并发编程系列——死锁的解决

接下来我会以一个经典的转帐问题,跟大家一起聊聊死锁,以及如何解决这个问题。假如客户 A 需要给客户 B 转账,客户 A 的账户减少 100 元,客户 B 的账户增加 100 元。我们转化为代码描述:有一个账户类 Account,账户类有一个转账方法 transfer() 方法,该方法接收两个参数,转入账户和转账金额。示例:1public class Account { private int balance; public void transfer(Account t

2021-08-13 13:39:04 317 2

原创 Java中三种常见内存溢出错误的处理方法

前言相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识。在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域)、Heap space(堆区域)、Java Stacks(Java栈)。其中永久保存区域主要存放Class(

2021-08-12 13:51:34 4169 2

原创 MySql表的基础命令及数据操作命令

一、MySQL关于表基础命令1.1 表的创建语法: create table if not exists 表名 ( 字段名 数据类型(null | not null,default | auto_increment,primary key,comment,varchar,), 字段名 数据类型 ... ) engine=存储引擎 charset=字符编码数据类型 含义 null,not null 是否为空 default 默认值 auto_increment

2021-08-11 13:50:40 192 3

原创 任职要求中的熟系Redis,你真的熟悉吗?

一、NoSQL1.1、NoSQL引言NoSQL( Not Only SQL ),意即不仅仅是SQL, 泛指非关系型的数据库。Nosql这个技术门类,早期就有人提出,发展至2009年趋势越发高涨。1.2、为什么是NoSQL随着互联网网站的兴起,传统的关系数据库在应付动态网站,特别是超大规模和高并发的纯动态网站已经显得力不从心,暴露了很多难以克服的问题。如商城网站中对商品数据频繁查询、对热搜商品的排行统计、订单超时问题、以及微信朋友圈(音频,视频)存储等相关使用传统的关系型数据库...

2021-08-10 13:46:13 196

原创 你还不懂【JVM垃圾回收及收集器】么?

Serial收集器这个收集器是一个单线程工作的收集器,但它的“ 单线 程”的意义并不仅仅是说明它只会使用一个处理器或一条收集线程去完成垃圾收集工作, 更重要的是强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。ParNew收集器ParNew收集器实质上是Serial收集器的多线程并行版本==收集器中的并发与并行==并行(Parallel):并行????述的是多条垃圾收集器线程之间的关系 说明同一时间有多条这样的线 程在协同工作,通常默认此时用户线程是处于等待状态。

2021-08-09 13:45:19 83 2

原创 Mybatis根据Spring配置文件实现写不同的Sql语句

1. 提问:怎么让一个接口通过不同的开发环境进行不同的sql操作?全文用以区分的配置文件以spring.profiles.active为例首先,mapper层用spring注解@Value读取配置文件是不行的。编译不会错,但是通过注解写入的值必然为空。2. 解决方案把配置文件读到静态参数上面,然后Provider读取静态参数2.1.什么时候才是一个写入静态参数的好时机呢?在main方法的SpringApplication.run()之后,正好合适。细心的同学可能发

2021-08-07 19:50:55 381 2

原创 三分钟快速了解Spring中的工厂模式

前言今天来和小伙伴们分享下设计模式中的工厂模式啦顺便带来了下面三个问题,一起来看看吧一.工厂模式我们都知道,设计模式有23种,按照功能和使用场景可以分为三大类:创建型模式 结构型模式 行为型模式工厂设计模式(Factory Pattern)呢,就是一种很常见的设计模式,属于创建型模式的,主要作用就是来创建对象的~原理图先来看一个小栗子二.简单工厂模式(非23种)原理图例子的话,感觉也挺多的 比如各种品牌的电脑呀,手机呀,家具呀……比如笔记本电脑的

2021-08-05 15:34:18 673 1

原创 SpringBoot+Shiro+Jwt实现登录认证——最干的干货

1. 概述1.1 SpringBoot这个就没什么好说的了,能看到这个教程的,估计都是可以说精通了SpringBoot的使用1.2 Shiro一个安全框架,但不只是一个安全框架。它能实现多种多样的功能。并不只是局限在web层。在国内的市场份额占比高于SpringSecurity,是使用最多的安全框架可以实现用户的认证和授权。比SpringSecurity要简单的多。1.3 Jwt我的理解就是可以进行客户端与服务端之间验证的一种技术,取代了之前使用Session来验证的不安全性

2021-08-04 13:54:13 1415

原创 高并发下常见的限流算法都在这了!

限流简介现在说到高可用系统,都会说到高可用的保护手段:缓存、降级和限流,本博文就主要说说限流。限流是流量限速(Rate Limit)的简称,是指只允许指定的事件进入系统,超过的部分将被拒绝服务、排队或等待、降级等处理。对于server服务而言,限流为了保证一部分的请求流量可以得到正常的响应,总好过全部的请求都不能得到响应,甚至导致系统雪崩。限流与熔断经常被人弄混,博主认为它们最大的区别在于限流主要在server实现,而熔断主要在client实现,当然了,一个服务既可以充当server也可以充当clien

2021-08-03 16:03:15 211

原创 Mysql InnoDB 的内存结构

1、前言我们都熟悉mysql数据库服务架构,也清楚 sql 的执行顺序,mysql的数据在磁盘和内存中的存储结构是采用B+树的数据结构,但是在InnoDB引擎中,数据在内存和磁盘中的展示形式以及怎么和mysql的服务架构建立联系,sql 查询和 InnoDB 引擎之前的联系,可能就不是不清楚了。 mysql 的逻辑架构图如下所示: InnoDB 存储引擎结构InnoDB存储引擎的逻辑存储结构是什么呢,其实所有的数据都被逻辑地放在了一个空间中这个空间中的文件就是实际存在的物理文件,即表空间。默..

2021-08-02 19:49:12 163

原创 JVM:垃圾回收算法、垃圾回收器

垃圾回收算法什么是垃圾?为什么要回收?在java中,当一个对象没有被任何指针指向的时候,他就成为了一个垃圾,也就应该对其进行回收,如果不对其进行回收就会造成内存泄露,甚至是内存溢出。垃圾回收分为两个阶段垃圾标记和垃圾回收。垃圾标记引用计算算法(java并未使用,不存在循环引用造成内存泄露)对每一个对象保存一个整型的引用计数器属性,用于记录对象被引用的情况。当对象被任何一个对象引用就会对计数器加以,引用失效就减一,直到计数器为0,就把该对象视为垃圾,对其进行回收。该算法具有效率高,

2021-08-01 19:45:10 82

原创 原来这就是传说中的跳跃表,不过如此(附:跳跃表的Java实现)

1. 什么是跳跃表?增加了向前指针的链表叫作跳表。跳表全称叫做跳跃表。跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。(摘自百度百科)2. Redis中跳跃表的数据结构//zskiplistNode:跳跃表的一个节点typedef struct zskiplistNode { // 层:每个节点都包含很多层,每一层指向的都是同

2021-07-25 19:44:25 101

原创 聊一聊Redis是如何做到“持久化”的

什么是持久化?对于持久化某度某科的解释是:持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)所以对于持久化狭义的理解就是:“持久化”仅仅指把域对象永久保存到数据库中;可以广义的理解为:“持久化”包括和数据库相关的各种操作(持久化就是将有用的数据以某种技术保存起来,将来可以再次取出来应用,数据库技术,将内存数据一文件的形式保存在永久介质中(磁盘等)都是持久化的例子)。数据持.

2021-07-23 13:58:35 731 4

原创 【微服务理论】API + BFF 不再为兼容和适配烦恼

对于微服务,常见的架构模型就是API网关+服务。API网关实现鉴权、负载均衡、中间件等公共入口逻辑。 服务实现具体的业务功能。那么,API网关设计中又有什么坑呢?1.0版本直接将服务穿透到外网。 API层只是套了壳,加了鉴权、中间件而已。具体返回值由服务定。客户端到微服务直接通信,强耦合。根本不敢重构,一改结构客户端就崩了。 需要多次请求,客户端聚合数据,工作量巨大,延迟高。 如果一个页面由多个服务组成,比如商品、优惠券、相关推荐、评价。客户端要请求多个接口,命名规则还不一样。

2021-07-22 17:22:29 386

原创 Netty的ChannelPipline传播源码解析

一、基础铺垫1. JAVA中的基本位运算符运算符 描述 & 与 | 或 ~ 非 ^ 异或 << 左移 >> 右移 2. 位运算解释与实例&(与)十进制 二进制 3 0 0 1 1 5 0 1 0 1 & 后结果:1 0 0 0 1 即:对应位都为 1 时,才为 1,否则全为 0。|(或)十进制 二进制 3 0 0

2021-07-21 14:03:13 108 2

原创 终于理解Spring Boot 为什么青睐HikariCP了,图解的太透彻了!

前言现在已经有很多公司在使用HikariCP了,HikariCP还成为了SpringBoot默认的连接池,伴随着SpringBoot和微服务,HikariCP 必将迎来广泛的普及。下面博主带大家从源码角度分析一下HikariCP为什么能够被Spring Boot 青睐,文章目录如下:零、类图和流程图开始前先来了解下HikariCP获取一个连接时类间的交互流程,方便下面详细流程的阅读。获取连接时的类间交互:一、主流程1:获取连接流程HikariCP获取连接时的入口是Hika

2021-07-20 14:04:06 125

原创 Redis系列——哨兵挂了,redis 还能正常工作吗?

前言redis 主挂掉了,怎么将请求转移到从上去,如果从是多个,从是怎么进行选举的呢?那么就要看我们今天的主角了,redis哨兵,redis哨兵能够帮助我们自动的完成选主和故障转移操作,这次还是会多画图,来加深大家都这个过程的记忆和理解。redis哨兵都干了什么redis哨兵是一个运行的特殊的redis进程,他主要有三个使命:监控 选主 通知监控的是什么哨兵主要是监听主库和从库是否存活,怎么进行监控? 哨兵会定期的给从库发送PING命令,如果从库没有在设定的时间内回复哨兵,那么

2021-07-19 19:46:28 2325

原创 Redis基于Proxy以及客户端的数据分片和Redis-Cluster分片

一、先谈单节点的 Redis 存在的问题单点故障 数据容量问题 连接数、请求压力问题主从+哨兵架构,解决了单点问题和请求压力问题,但是数据容量仍然是 1:1 的克隆数据,数据容量问题依旧存在,数据并没有分摊到各个节点。二、如何解决单点数据容量问题A:基于客户端的方案1.业务拆分数据从业务的角度不同的模块按约定好的逻辑落入不同的Redis 节点。比如:评论业务用一个redis阶段,商品信息业务用另外一个节点,购物车用另外一个节点。2.通过Hash算法路由2.1 Modul

2021-07-16 16:07:48 553 1

原创 七年Java开发,在工资被新员工倒挂后,32岁的我选择裸辞,闭关三个月后拿到阿里Offer,定级P7!

前言今年32岁,我从公司离职了,是裸辞。前段时间,我有一件事情一直憋在心里很难受,想了很久也没找到合适的人倾诉,就借着今天写出来。我一个十几年开发经验,七年Java经验的职场老人,我慢慢涨上来的工资竟然被一个应届生倒挂了!当我得知这个消息的时候,我的心是拔凉拔凉的。我现在只有一个想法,我想跳槽!可是,我现在已经32岁了,这让我一度陷入了纠结与迷茫。应届生倒挂老员工作为一个在公司待了六年的老员工,我一直兢兢业业,为了公司的项目能够按期上线,每天熬夜,加班加点。除了自己.

2021-07-15 09:35:27 387 29

原创 docker 安装部署MySQL 5.7

拉取MySQL5.7镜像docker pull mysql:5.7 # 拉取 mysql 5.7docker pull mysql # 拉取最新版mysql镜像#查看镜像是否拉取成功docker images构建MySQL数据库容器docker run -d -e \MYSQL_ROOT_PASSWORD=123456 --name mysql-5.7 \-v /bjfc/docker/mysql/data:/var/lib/mysql \-v /etc/l..

2021-07-14 13:50:45 411 2

空空如也

空空如也

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

TA关注的人

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