自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql索引不会怎么办?6000字长文教会你

MySQL的索引入门真的很难吗MySQL的索引入门真的很难吗索引存在的意义索引的类型哈希索引二叉树跳表B+Tree索引的分类功能上区分普通索引主键索引唯一索引前缀索引全文索引从索引个数上区分联合索引最左前缀从磁盘角度区分聚簇索引,非聚簇索引回表索引下推总结经常在开发中碰到同事说,数据查询好慢,第一个反应就是给表加个索引。从而引发想去探索下我们常说的索引究竟是什么?难道只需要加个索引就能解决数据库查询问题吗?带着这个

2020-05-31 22:29:37 312 1

原创 阿里的OceanBase上天了,但你还不会使用Explain看SQL的查询计划吗?

Mysql性能优化神神器explain。一文通透Mysql性能优化神神器explain。一文通透前言数据准备创建数据表插入数据explain命令使用select_typetyperowsrefextra总结前言SQL语句在不同的人手中会写出不同的语句形式,比如经常遇到的SQL慢查询,这时候往往需要针对SQL进行优化。而Mysql中为保证SQL语句能够高效的运行,提供了一个Explain的命令,用来对SQL语句进行语义分析,供开发者来针对SQL进行优化。数

2020-05-25 21:03:30 1564

原创 一篇文章告诉你,平均负载的来龙去脉

平均负载?没有那么难前言作为一名开发,我们绕不过去的一道坎是在服务器上对系统进行监控,并且当系统出现异常情况,需要快速排查,我们今天了解的平均负载就是监控中重要的一环。在学习平均负载之前,我们需要了解相关指标,根据指标看清楚相关问题。正因为如此,我们从浅入深了解如下知识。常用的相关命令平均负载相关工具了解案例解析常用的相关命令常用的top命令,uptime命令,htop...

2019-09-02 00:05:02 1042

原创 一文看懂Rabbitmq的安装到实战演练

Rabbitmq的初步使用随着微服务概念发展,大应用逐步拆分为小应用,提高开发效率,专门的人做专门的事情,逐渐的流行起来。在微服务上实现通信的方式大部分是采用rpc方式,也有升级版本的grpc。还有另外一种实现就是使用mq来进行解耦。今天初识mq,快速入门先,准备一个环境实现案例,该文涉及以下内容:安装rabbitmqmq能解决的问题实战演练安装rabbitmq的安装我们采用...

2019-06-13 23:19:54 237

原创 各个互联网公司都在用的开源数据库控制器Flyway

开源的数据库控制器在开发中,我们经常会遇到上线数据库表的情况,代码上我们有git,svn这样优秀的版本控制软件,但是数据库的迭代我们不能使用手工的方式迭代吧?或者说每次上线前手工去数据库执行。这样带来的便捷性就会有很大问题,执行者需要跟开发多次核对数据库执行脚本语句确保正确性后才执行。为了更好的管理好各个环境的数据库版本,我们可以在项目中增加Flyway来管理数据表的版本。Flyway是什么...

2019-04-24 00:22:52 278

原创 面试官:MYSQL事务隔离与MVCC多版本并发控制知道吗?

数据库的事务隔离前段时间,公司内部遇到了一个问题,就是我们创建的同一批任务,别分配给了不同的实例去执行,导致线上的结果出现问题。另一个组的leader说没有开启事务,设置下事务就可以。数据库一出现一致性问题,就说开启事务,我就有点疑惑,数据库的事务到底是怎么保证一致性的。在看下面的内容,我们可以先思考几个问题。数据库的隔离级别都有什么?数据库的MVVC视图是怎么实现的?数据库的隔离级别是为了解决什么问题的?看完上面三个问题,自己能回答上来几个呢?不急。我们继续往下看数据库的事务数据库

2020-09-27 07:48:01 358

原创 Linux统计目录下的文件或目录个数

统计个数通过ls,grep,wc来组合实现统计当前目录下文件的个数不包含目录ls -l | grep "^-" | wc -l统计当前目录下文件的个数包含子目录ls -lR | grep "^-" | wc -l查看某目录下的文件夹个数包含子目录ls -lR | grep "^d" | wc -l解释:lR是列出所有文件,包含子目录,l只是列出该目录下的文件信息。grep ^- 是用来过滤保存一般文件,只保留目录采用 ^dwc -l 用来统计输出信息的行数一行信息对应一条记录。.

2020-06-03 12:37:15 280

原创 每日一节:强大的文本搜索命令

ackack是一款比grep更好的文本搜索工具。安装ubuntu上安装使用方式如下:# ubuntu下要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。sudo apt-get install ack-grep使用主要使用如下参数c :用来统计i : 忽略大小写h : 不显示名称l :只显示文件名n : 加行号v : 显示不匹配...

2019-10-21 00:34:29 920

原创 爬知识星球,制作自己的知识仓库

爬虫知识星球我们都知道现在知识星球里面的内容有很多的沉淀,但是我们并不能每次打开从头开始阅读到最后,虽然星主也会每隔一段时间对知识星球内容进行汇总,但还是有一定的遗留内容。为了让自己对知识有个很好的把握,方便自己后期查询整理,今天先使用Java简单的使用爬虫,进行读取数据。环境准备我们使用的语言是Java8,开发工具是Idea,仓库管理使用ggithub,代码会存放到github上。爬...

2019-03-28 00:22:07 1129

原创 【绝对实用】百度网盘下载助手

百度网盘下载插件原先一直使用速盘来下载百度网盘的内容,现在速盘升级之后有些下载内容开始受到限制,并且还有收费版本了,那么是否还有免费下载工具呢?今天正好在刷github,然后碰到个这样开源的工具,百度网盘下载助手-直链加速版本。根据github上介绍,不仅可以下载我们自己百度网盘的内容,还可以下载其他人分享网盘内容。当然大家不用担心,自己不懂脚本应该怎么使用,在github上有专门的文档告...

2019-03-27 00:10:18 1768

原创 Mysql数据的join算法,优美的优化数据库

数据库的链接前几天,小伙伴们在群里面讨论进行优化join语句,大家都很积极的发言讨论,结论是围绕索引与大小表关系来进行操作,重要的是业务进行绑定。部分内容来源于极客时间的Mysql实战45讲。在Mysql的数据库中,我们知道join链接主要使用的有大致三种情况。inner join:内连接left joinL:左链接right join:右链接那这些join我们需要怎么使用呢?并...

2019-03-26 01:09:03 351

原创 知乎上高赞的github中文学习资料

github学习资料群里面有小伙伴问怎么找一些开源的项目学习下别人的编码。出现这个原因是个别公司主要是集中在业务上,对于代码的审核,代码的整洁性等内容要求不高,而又有很多朋友想通过看别人代码提高自己的代码的编码效率与整洁性。AWESOME在资源整理学习上最好的应该就属AWESOME吧,并且在知乎上询问GitHub上有哪些优秀的项目,该回答就是属于第一项。。该项目上内容不局限于某个语言,...

2019-03-19 00:41:27 394

原创 推荐一个软件自动生成接口文档(带实现)

Swagger2上次给大家推荐Swagger2这个神器,自动生成接口文档。不需要自己再专门写文档,对于程序员来说能提高工作效率。但是上篇并没有讲怎么使用Wagger2这个软件,今天就带大家实现下。环境使用的语言是Java,其他语言也有类型的实现。官网链接:swagger2框架是SpringBoot,构建工具是gradle.实现构建组件在微服务开发中,我们会创建多个后端程序,在每个程...

2019-03-13 23:59:11 11645 3

原创 从荣耀V20看技术人怎么销售自己

小米与荣耀小米在今天发布了属于自己双品牌独立之后的小米数字手机-小米9.但是在发布之前小米与荣耀个发生了一波事件,引爆了整个科技圈,真是自带流量的公司。荣耀事件在2月19号,荣耀晒出拍月亮的样张,用来表示科技标杆,就是拍最大最圆月亮,更清晰。使用的手机是荣耀V20,使用的是4800万像素的镜头,并且是它的卖点之一。按理说,这样的技术让人感觉很牛逼,还记得大四的时候自己很胖,那会回家,老爸老...

2019-02-21 00:25:51 619

原创 Web技术:Token与Session究竟是什么呢

前言在web中,我们经常说session,token,cookie。这三个内容,究竟啥区别,为什么会有这三个内容呢?这就是我们今天想要讨论的。故事,美好的开始洋洋: 琪琪,你们原先的开发 权限是怎么认证的?琪琪: 权限?不就是拦截器嘛?通过拦截不同的url,进行拦截,然后进行校验。洋洋: 那你们用过shiro嘛?进行权限校验的。琪琪: 那个倒是没用过,我原先了解是用token做的,然...

2019-02-14 00:56:21 587

原创 大数据文件存储系统HDFS

现在随着企业规模的发展,对于数据存储的要求越来越大,单机存储性能已经成为存储的瓶颈,在这里我们就需要引入分布式存储,通过水平扩展的方式进行容量的扩展,并且提高数据的一致性,安全性,可靠性等关系。大数据也是发展的前景之一,越来越多的开发者开始进入大数据领域,并且很多企业开始关注,逐步发展自己的大数据业务,数据的重要性不言而喻,那么我们应该怎么进行数据保存,扩展呢?这正是分布式文件系统需要解决的问题...

2019-01-15 23:54:01 931 1

原创 大数据基础Hadoop 3.1.1 的高可用HA安装~踩坑记录

最近负责的项目准备上大数据平台存储,主要还是围绕Hadoop平台来实现,虽然打算上cdh版本的hadoop,但是为了前期方便开发还是先使用原声的hadoop进行开发,后期再准备更好的环境进行扩展。环境准备三台服务器系统环境是建立在Centos7.6基础上。并且是建立在root账户上运行的,如果需要使用其他用户操作,注意权限的问题基础机器分配在三台新购买的服务器上进行搭建。服务器规划如下...

2019-01-15 20:44:03 3810 2

原创 容器Docker学习系列十~高级操作

这一篇算是我们Docker容器命令的最后一篇文章了,基础学习好了我们再去学习Docker中更高级的特性,用好容器,让我们更加方便使用在开发上提高软件的性能。ps这个命令是我们经常使用来展示容器信息。 docker ps [OPTIONS]OPTIONS 可选参数: - -a :显示所有的容器,包括未运行的。 - -f :根据条件过滤显示的内容。 - –format...

2018-09-03 22:58:07 653 1

原创 容器Docker学习系列九~生命周期管理命令

我们前面已经学习了本地容器操作以及版本信息管理,复制提交等容器命令。但是对于怎么启动执行或者操作容器还不是很清楚,今天就来学习下整个容器周期的操作从启动,到停止一整圈的命令掌握。当然还是小步快走,一个一个的尝试学习。runrun命令是用来创建一个容器并且启动他。 语法糖 docker run [OPTIONS] IMAGE[tag]OPTIONS[可选的]:在这里列举几个...

2018-09-02 23:20:41 449 1

原创 容器Docker学习系列八~rootfs命令学习

基础是一步一步的get到的。随着自己写基础知识,也发现了很多原先没有注意到的知识点。工作是我们把知识进行应用的地方,但是也不应该不能让工作把我们局限住。继续扩展学习。 我们今天学习下Docker的rootfs相关的命令commit从容器中创建一个新的镜像。 语法糖 docker commit [OPTIONS] CONTAINER ID [新的容器名字与标签] OPT...

2018-09-02 23:19:24 1293

原创 容器Docker学习系列七~系统信息学习

前面了解的Docker学习的本地镜像管理还有镜像仓库的命令学习,怎么说呢其实这些命令已经够我们平常使用的了。但是如果随着发展我们在系统程序调优上可能就需要了解更多的知识。比如Docker系统信息,Docker版本信息,等等。这样才能在程序调优上帮助我们很多。我们今天就来了解下Docker系统信息和版本信息有关的命令。info用来显示系统信息,包含镜像和容器数量 语法糖 Dock...

2018-09-02 23:18:56 189 1

原创 容器Docker学习系列六~命令学习仓库命令

在前面几篇文章中,我们学习了怎么安装Docker,并进行本地Docker的操作,现在我们就学习下Docker仓库的学习,其实Docker很多理念操作也是来自git,比如我们在下载一个镜像的时候,可以看到多个下载hash。 下载的时候已经下载过的就可以不在进行下载。继续下载其他没有下载的就好。我们仓库提供了这个功能的实现,接下来我们来看下镜像仓库有什么命令吧。login/logoutD...

2018-09-02 23:18:07 547 1

原创 容器Docker学习系列五~命令学习history,save, import

随着我们几篇文章Docker的命令学习,关于Docker本地镜像管理的命令学习已经接近尾声。今天我们就学习下本地镜像管理的最后三个命令history,save, import。当然前面命令没有掌握熟练的同学可以先回顾下原先的命令,在学习本章知识。 容器Docker学习系列一 容器Docker学习系列二 容器Docker学习系列三~命令学习 容器Docker学习系列四~源的修改增加效率 那...

2018-08-19 22:25:02 618 1

原创 容器Docker学习系列四~源的修改增加效率

新公司现在开发环境都是在Liunx 下进行开发,系统是Ubuntu 18.4的版本.但是我们经常用Liunx系统的人就知道 我们经常用原生的源下载软件。速度不是很快有时候网络不好的情况下会导致下载几M的软件也需要花费很长的时间,这就给我们带来体验的痛苦,所以我们一般在安装好系统后会先进性Linux系统源的替换。Liunx系统源的替换Ubuntu 系统源的修改...

2018-08-18 23:12:38 255 1

原创 学习Java基础知识,打通面试关~十七了解类的加载过

我们在学习Java的时候总是会学习到很多基础知识,但是不怎么深入到类加载到虚拟机中的过程。今天我们就来了解下整个流程是怎么样的。明白我们所写的类文件是怎么运行在虚拟机中。类的加载在我们Java程序中我们所写的Calss文件最终都会加载到内存当中,再次过程中会进行数据校验,转换解析和初始化的操作。完成后就可以形成我们虚拟机所需要的Java类型,这就是我们所说的虚拟机的类加载机制。...

2018-07-29 22:23:17 167 1

原创 学习Java基础知识,打通面试关~十三接口与抽象类

在我们Java开发的过程中,接口使我们经常使用到。但是我们也会用到抽象类。那么我们在开发的时,具体应该怎么选择呢?这两者有什么区别?我们今天就来学习下。抽象类抽象类顾名思义就是不能实例化的类,我们在创建的时候会使用abstract 来创建。在抽象类中含有无具体实现的方法,所以我们在使用的时候不能使用该类来创建对象。 * 抽象类在表面上普通的类没有区别,可以有多个抽象方法,当然也...

2018-07-08 22:27:40 133

原创 学习Java基础知识,打通面试关~十四锁机制

在java中,我们进行多线程操作的时候,一般都会用到锁的机制。并且在锁中我们一般用到的是synchronized和ReentrantLock两种,当然还有更加细化的读写锁。我们这里api的使用不讲解。在学习锁机制之前,我们需要了解几个概念。 * 原子性:相关操作中,不会被其他线程干扰,安全的运行到结束。一般通过同步操作来实现。 * 可见性:当某个线程修改了共享变量。其状态可以立刻让其他线程了解...

2018-07-08 22:26:49 236

原创 学习Java基础知识,打通面试关~十五线程池学习

最近开始自己找工作了。虽然一直在写这方面的文章,还是有些知识掌握的不牢固,希望看文章的朋友也有自己的总结认真的学习到这些内容。一起共勉。 做java中经常问道的一个问题就是线程池用过吗?通用的有哪些?如果不用通用的我们应该怎么创建线程池?这些问题。今天自己也做下总结。虽然原先也写过。现在再总结下,让自己能弄明白。静态创建线程池我们平常使用的大部分还是依靠java中自带的静态工厂产生的...

2018-07-08 22:26:07 145

原创 Java大数据学习~Hadoop初识二读取与写入流程

今天趁着端午节的最后一天假期,把想看的视频看了下。也走了一遍Hadoop的安装步骤。总的来说流程也明白了很多。这次文章简单的介绍知识点。具体安装步骤大家可以先看网上的。后面有时间的时候在补一篇。 我们的文章是建立在Hadoop已经安装好的情况下。请大家注意再练习的时候首先把环境安装好。HDFS 简介在HDFS的学习中,我们首先应该明白他具体是什么,为什么会有这个系统。优点和缺点是什么...

2018-06-19 23:44:04 323

原创 学习Java基础知识,打通面试关~十二乐观锁与悲观锁

在平常开发中,我们经常会用到多线程的开发,在使用多线程的时候,我们就需要注意线程安全的问题,特别是重要的操作共享变量时,线程安全的问题又是重中之重。我们今天就来了解一下锁中的乐观锁和悲观锁。 在面试中,如果是Java后天研发的工程师,很有可能会考到这一个知识点。所以今天也就来说下这个。两者的概念## 乐观锁 - 根据表面上来看每次去拿数据的时候认为别人都不会修改。所以不会上锁...

2018-06-13 23:19:09 829

原创 分布式管理器~Zookeeper初识

原先写过一篇关于Zookeeper的安装基础,关于安装的基础咱们这里就不说了,可以看上一篇文章。在这里说点关于Zookpeer的基础知识。了解其内部是怎么构造了。方便大家对其操作。分布式协调技术平常大家开发程序,大部分都是关注与逻辑的实现,基本上逻辑实现之后,程序就万册好难过了,但是我们在大型架构下,进程与进程之间的通信是十分有必要的,我们的程序就涉及到了分布式开发。多台服务器提供相同...

2018-06-10 23:06:27 216

原创 学习Java基础知识,打通面试关十一~文件的拷贝

上一篇文章我们说了IO流操作,里面区分了BIO,NIO,AIO,这些方式提高了我们在文件的操作,那么我们使用文件拷贝的时候,IO里面又提供了什么内容呢? 在JDK1.7以前是没有文件的拷贝的方式的。四种方式IO流的拷贝操作使用FileStreams我们使用的是JDK中最直接的方式读取文件,然后写入到文件中。从步骤上来说分为两步,读取,然后写入,追一个十分低效率的方式。增加了系统...

2018-06-09 21:17:53 208

原创 惊心动魄的Hadoop-6小时350T数据恢复

这次文章是记录一下数据恢复。 上周五在调试Spark数据的时候发现了一个问题,就是一直显示No lease的问题,我们的实时处理程序升级之后,处理的数据量在一个小时内暴增1T。我们的小时程序Spark,有的单个key数据重复导致value值增大,程序运行卡住,根据网上查的参数进行调整。Hadoop在调整前,将Hadoop进行关闭 . stop-all.sh 进行关...

2018-06-06 23:36:45 1571

原创 学习Java基础知识,打通面试关十~IO流

在做大数据的时候刚开始把所有数据都存入lhbase中,结果导致hbase每天都有很多数据 而且key设置的是ip虽然散列了,但是随着数据量的增加,用spark查询是越来越慢,因为新学习当时没有了解到Hbase的具体存储模式。在知道之后,就考虑写文件的方式。这个只是暂时想出来的方案。后来改成写Hadoop文件。 我们经常用的IO 大部分都是BIO,但是在我们提高性能的方式上都是AIO,NIO.他们...

2018-06-05 23:49:41 190

原创 学习Java基础知识,打通面试关九~ConcurrentHashMap

在上一篇文章中我们说到了Map集合中的一部分内容,还有并发包中的Map并没有说到,现在我们来说下并发包中的Map~ConcurrentHashMap。Java8之前的ConcurrentHashMap 实现在前期中ConcurrentHashMap的基本实现思路: * ConcurrentHashMap 采用的是分段锁的设计方案,只有在同一个分段内的数据才会存在竞争关系,这就不会造成...

2018-06-03 23:17:28 201

原创 学习Java基础知识,打通面试关八

在上一篇 我们简单的说了下List集合里面的信息,今天我们来说说下Map相关的内容,了解集合,让我们在程序应用中灵活的使用。 在平常程序中我们经常使用的map集合为HashMap,TreeMap,HashTable,ConcurrentHashMap。这几种都有什么区别呢?平常中我们应该注意什么?下面我们一个一个的来看。Map我们经常的使用Map,但是都是使用的Map的子类,然而Ma...

2018-06-02 23:04:21 170

原创 学习Java基础知识,打通面试关七

首先声明下,因为自己原先对于版权的了解的甚少。原先写的文章摘录极客时间的内容比较多,以后写文章虽然还会按照极客时间的目录走。如果我写的太浅显,大家还是去极客时间上看原版。谢谢。 今天我们开始看下反射与代理。希望大家能满意。反射我们都知道反射在Java语言中是一种基础功能,在运行状态中,能够通过反射的方式来知道一个类的所有属性,方法,构造对象甚至是修改类的信息等。总结 ,反射就是把Ja...

2018-05-25 00:04:07 220

原创 我的程序人生:两年的发展路程,与你分享出来共同成长

从毕业进入社会虽然才一年,如果加上自己在大四的时候全部实习时间的话,满打满算快两年了。从刚开始进入一个公司。当时一个菜鸟什么都不会。写一个简单的jsp都写不出来。当时也算很苦,被老大说,自己也加班加点的学习。总算熬出那段痛苦的阶段。这段实习经历给了我很大的触发。开始实习一名java程序员,自己在学习的时候,做项目的机会不是很多。看了很多,但是并没有有很多的机会。进入第一家公司之后,是公...

2018-05-23 23:47:09 205

原创 让入门者也能开明白的区块链讲解三

LuckQI在这里你可以得到不只是技术,关注即可习得新技能 我们前面简单的了解了下什么是区块链,那么我们现在整体来看下具体区块链的定义: 区块链技术是一个保证了最终一致性的数据库 。说是数据库因为在区块链上我们的数据是保存在节点上的,数据存储在数据节点上相当于我们说的数据库。数据保持一直是我们在每个节点的上的数据交换都不会进行篡改,并且每个节点都会同步数据。保证数据的有效性。 从数据结构上来说是基...

2018-05-20 00:27:00 461

原创 Java核心技术讲解学习四

LuckQI在这里你可以得到不只是技术,关注即可习得新技能 上一节我们探讨了垃圾回收算法,简单的了解下垃圾回收在程序虚拟机中是怎样运行的。我们平常在开发中经常用的虚拟机是HotSpot,那么该虚拟机是怎样实现的呢?HotSpot 算法的实现   我们知道在对象创建时候都会形成一条链,我们的可达性分析就是从GC Root节点上找引用的,其中这个节点主要是在全局性的引用于与执行上下文中。由于以下原因导...

2018-05-19 16:08:34 315

空空如也

空空如也

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

TA关注的人

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