5 SoWhat1412

我要认证

微信搜索【SoWhat1412】,第一时间阅读原创干货文章。人之患、在好为人师、不实知、谨慎言。点点滴滴、皆是学问、看到了、学到了、便是收获、便是进步。

等级
TA的排名 764

快速搞定并查集

高清思维导图已同步Git:https://github.com/SoWhat1412/xmindfile,关注公众号sowhat1412获取海量资源并查集并查集被很多人认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。比如最小生成图里的克鲁斯卡尔算法就用的此知识点。它管理一系列不相交的集合,并支持两种操作:合并(Union):把两个不相交的集合合并为一个集合。查询(Find):查询两个元素是否在同一个集合中。当然,这样的定义未免太过学术化,看完后恐怕不太能理解它具体有什么用.

2020-10-24 10:03:21

贪心算法讲解

1. 前言随着现在互联网行业的发展,越来越多的框架、中间件、容器等开源技术不断地涌现,更好地来服务于业务,实现业务并解决问题。然而面对众多的技术选择,我们要如何甄别出适合自己团队业务的技...

2020-10-22 07:05:00

SpringCloud 急速入门

1. 学习前言1.1 内容概述学习前提:JavaSE数据库(MySQL + Redis)前端(HTML +CSS + JS)Servlet(Tomcat)HttpMybatis + Spring + SpringMVCSpringbootDubbo + Zookeeper + 分布式基础Maven + GitAjax + Json…这个阶段如何学习?基本的开发思维跟框架模型大致:三层架构 + MVC,后来演变成规范化框架。Spring(轻量级的Java开源框架):解决企

2020-09-25 20:45:33

MySQL 05、MVCC 进阶

前面讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。但是分享行锁的时候又提到,一个事务要更新一行,如果刚好有另外一个事务拥有这一行的行锁,它又不能这么超然了,会被锁住,进入等待状态。问题是,既然进入了等待状态,那么等到这个事务自己获取到行锁要更新数据的时候,它读到的值又是什么呢?我给你举一个例子

2020-09-02 15:17:24

MySQL 06、普通索引和唯一索引如何抉择 为什么有时候选错索引 字符串添加索引建议

普通索引和唯一索引如何抉择 为什么有时候选错索引 字符串添加索引建议

2020-09-01 09:29:20

MySQL 04、全局锁、表锁、行锁

数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。根据加锁的范围,MySQL里面的锁大致可以分成**全局锁、表级锁和行锁**三类。这里需要说明的是,锁的设计比较复杂,本文不会涉及锁的具体实现细节,主要介绍的是碰到锁时的现象和其背后的原理。全局锁顾名思义,全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是Flush tables with read lock (FTWRL

2020-08-31 18:33:39

MySQL 03、深入浅出索引

引言提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个SQL查询比较慢,分析完原因之后,你可能就会说 给某个字段加个索引吧 之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。索引是数据库系统里面最重要的概念之一,一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的目录。索引的常见模

2020-08-31 17:16:42

MySQL 02、高频面试点之事务隔离

引言提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这100块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用到事务这个概念了。简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务

2020-08-31 15:16:47

MySQL 01、一条SQL插入跟更新执行流程以及日志系统原理

查询如何执行平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时:mysql> select * from T where ID=10;我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在MySQL内部的执行过程。如何把这个过程拆解下来看后台部分呢?下面我给出的是MySQL的基本架构示意图,从中你可以清楚地看到SQL语句在MySQL的各个功能模块中的执行过程。大体来说,MySQL可以分为Server层和存储引擎层两部分.

2020-08-31 13:42:29

MyBatisPlus极速入门

MyBatisPlus概述需要的基础:MyBatis、Spring、SpringMVC就可以学习这个了! 为什么要学习它呢?MyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成!JPA 、 tk-mapper、MyBatisPlus,偷懒用的!简介是什么? MyBatis 本来就是简化 JDBC 操作的! 官网:https://baomidou.com/,简化 MyBatis !特性官方描述无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑

2020-08-30 20:34:18

SpringBoot 13、整合Shrio

Shiro什么是 Shiro官网:http://shiro.apache.org/是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。不用第三方框架完全自己开发用Filter也可以,只要你不怕累并且考虑周全。Shiro 就是用来解决安全管理的企业级系统化框架。Shiro 核心组件用户、角色、权限:会给角色赋予权限,给用户赋予角色。1、UsernamePassword

2020-08-30 11:04:45

【急速入门】Spring 极速入门

Spring IOC AOP 急速入门

2020-08-10 14:30:04

MyBatis 极速入门

前情概要环境说明:jdk 8 +MySQL 5.5maven-3.6.1IDEA学习前需要掌握:JDBCMySQLJava 基础MavenJunit什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映.

2020-08-03 09:58:25

9种分布式ID生成方式,总有一款适合你

分布式ID必要性。业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分表分库了,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。那么这个全局唯一ID就叫分布式ID。分布式ID需满足那些条件全局唯一:基本要求就是必须保证ID是全局性唯一的。高性能:高可用低延时,ID生成响应要快。高可用:无限接

2020-07-28 19:11:15

5分钟了解啥是数仓

1. 什么是数据仓库数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。2. 数据仓库能干什么?年度销售目标的指定,需要根据以往的历史报表进行决策,不能拍脑袋。如何优化业务流程例如:一个电商网站订单的完成包括:浏览、下单、支付、物流,其中物流环节可能和中通、申通、韵达等快递公司合作。快递.

2020-07-23 20:39:16

第三天:Flink的State、CheckPoint、Window窗口

5. Flink State管理跟回复Flink 是一个默认就有状态的分析引擎,前面的 WordCount 案例可以做到单词的数量的累加,其实是因为在内存中保证了每个单词的出现的次数,这些数据其实就是状态数据。但是如果一个 Task 在处理过程中挂掉了,那么它在内存中的状态都会丢失,所有的数据都需要重新计算。从容错和消息处理的语义(At -least-once 和 Exactly-once)上来说,Flink 引入了 State 和CheckPoint。State 一般指一个具体的 Task/Oper

2020-07-22 23:03:22

RabbitMQ极速入门

1. 消息队列解决了什么问题1. 异步处理一个用户登陆网址注册,然后系统发短信跟邮件告知注册成功,一般有三种解决方法。串行到依次执行,问题是用户注册后就可以使用了,没必要等验证码跟邮件。注册成功后,邮件跟验证码用并行等方式执行,问题是邮件跟验证码是非重要的任务,系统注册还要等这俩完成么?基于异步MQ的处理,用户注册成功后直接把信息异步发送到MQ中,然后邮件系统跟验证码系统主动去拉取数据。2. 应用解耦比如我们有一个订单系统,还要一个库存系统,用户下订单了就要调用下库存系统来处理,直接调用

2020-07-19 23:12:02

用了这些IDEA 插件后我已经在跟测试妹子聊天了你还在苦逼的 coding

1.Translation翻译插件,现支持Google翻译、有道翻译。2. Free Mybatis plugin平时dao层找对应的xml时候需要很麻烦的去找,有了这个插件就不用了3. Lombok plugin有了这个插件就不用get set方法了4. activate-power-mode是一个装逼神器,敲代码的时候可以旋转跳跃不停歇 看图5. TranslationGoogle集成翻译插件,对于英语不好的同学来说真的爽啊,鼠标选中你要翻译的单词或者语句,右键选择 transl.

2020-07-17 19:29:53

第二天:Flink数据源、Sink、转换算子、函数类 讲解

4. Flink 常用API详解1. 函数阶层Flink 根据抽象程度分层,提供了三种不同的 API 和库。每一种 API 在简洁性和表达 力上有着不同的侧重,并且针对不同的应用场景。1 . ProcessFunctionProcessFunction 是 Flink 所提供最底层接口。ProcessFunction 可以处理一或两条 输入数据流中的单个事件或者归入一个特定窗口内的多个事件。它提供了对于时间和状态的细粒度控制。开发者可以在其中任意地修改状态,也能够注册定时器用以在未来的 某一时刻触发

2020-07-15 18:26:06

第一天:什么是Flink、WordCount入门、Flink安装、并行度

Flink官方依赖文档说明:官方依赖入手Snagit Editor

2020-07-13 18:50:15

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 原力突破
    原力突破
    参与《原力计划【第二季】— 打卡挑战》的文章入选【打卡挑战周榜】的博主,即可获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 1024勋章
    1024勋章
    #1024程序员节#连续参与两年活动升级勋章,当日发布原创博客即可获得
  • 1024达人勋章
    1024达人勋章
    10月24日粉丝/获赞/评论/收藏累计达到1024,即可获得“1024达人”勋章
  • 分享王者
    分享王者
    成功上传51个资源即可获取