概述最近一段时间重新深入研究了一遍MySQL的内容,今天主要分享分析MySQL索引原理,后续会输出一些关于MySQL方面的干货,希望各位小伙伴喜欢。一、什么是索引、为什么要建立索引?关于索引的理解,个人更加喜欢将其比喻为字典里面的目录,根据字典来进行查询的速度远大于每一页逐个逐个字排查的速度。索引主要用于快速找出在某个列中有特定值的行,倘若不使用索引,MySQL必须从第一条记录开始读完整个表,直到
很多小伙伴从一踏上JAVA程序员这条路开始,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!整日深陷在创造Bug和修改Bug的无限循环中,上班来得最早的是你,下班走得最晚的还是你,经常回家之后还得继续加班,偶尔遇上赶项目的时候还要在公司打地铺。但是过了几年之后却发现自己依然奋斗在开发的第一线,依然是开发团队中可有可无的一角。相信很多人都听说过一万小时定律
近十年国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像618、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系统架构走向分布式已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并不像开发单体应用一样把框架一堆就能搞定,因此各大互联网公司都在投
概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。一、spring的整体架构Spring框架是一个分层架构,它包含一系列的功能
做Java开发,没有人敢小觑SpringBoot的重要性,现在出去面试,无论多小的公司or项目,都要跟你扯一扯SpringBoot,扯一扯微服务,不会?没用过?Sorry,我们不合适!今天就给大家整理了15道高频SpringBoot面试题,希望能够帮助到刚刚走出校门的小伙伴以及准备寻找新的工作机会的小伙伴。一、什么是SpringBoot?传统的SSM/SSH框架组合配置繁琐臃肿,不同项目有很多重复
1-3年Java程序员学习的非常重要的年份将影响你的职业生涯和工资水平的方向,这几年是至关重要的,如何从初级阶段转向高级阶段,这是一种技巧、一个难点、一个方向。但我们绝大部分工作的时间都是增删改查,开始前几年就是在为了达成增删改查而努力,大部分的程序员具备这种能力之后就开始相对安逸的状态了,开始觉得这项工作没什么技术含量,增删改查的功能如果对于简单的工程代码来讲就是比较简单,如果是涉及到大总量的数
在Java代码界有些陷阱外表看起来是个青铜实际上是王者据说97%工程师会被“秒杀”不信?这有五道“基础题”堪称5个温柔的陷阱似是而非,雾里看花考验真功夫的时候到了!01这段代码输出的结果是:A:trueB:falseC:由硬件指令决定02这段代码输出的结果是:A:trueB:falseC:编译出错03下列哪种说法是正确的:A:nullB:抛出异常C:default04下列哪种说法是正确的:A:两种
【准备】首先我们要考虑的是为什么要解决高并发,高并发瓶颈出现在哪里,有了解过的朋友肯定知道是在数据库,因为在大量请求去操作数据库时会出现数据的错乱,超卖,系统崩溃,mysql死锁等现象。【思路】(一)、页面静态化:就是将整个页面存储到redis中,下次访问时去读取redis中的页面值(二)、主要对整个网站的静态资源文件进行加速,如图片,css,js等(三)、数学验证码:用户在计算验证码结果时可以减
边工作边迷茫这可能是我们大多数职场人的常态。一边觉得这份工作不适合自己,另一边又不知道能去做什么。喜欢的工作,却又不知道如何提升。长此以往,内心难免产生焦躁,尤其随着年龄的增长,内心更是希望能够在事业上有所发展。很多互联网人都喜欢说,程序员就是吃青春饭的,HR在招聘时非常在意程序员的年龄,稍微大龄点的程序员直接都会pass。所以大龄程序员一旦离职找工作就会变得艰难,面对年龄很多程序员都表示束手无策
责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写。主要从下面3个框架中的代码中介绍。servlet中的filterdubbo中的filtermybatis中的plug×××ervlet中的Filterservlet中分别
为什么要使用分布式系统?容错减少延迟/提高性能可用性负载均衡总而言之,其实目的只有一个,”用户体验“。什么是分布式系统?分布式系统是由使用分发中间件连接的自治计算机组成的网络。它们有助于共享不同的资源和功能,为用户提供单一且集成的连贯网络。搭建一个简单的分布式系统一、在服务器(虚拟机)上安装Zookeeper(我这里使用Docker安装)(一)、去docker-cn.com获取镜像加速地址(二)、
本篇文章一共分为三个部分,分别是微服务架构的演进过程、具体实践微服务的应用技术和领域驱动设计的意识转变。微服务架构已经渗透到互联网应用的方方面面,而领域驱动设计也逐渐被业界所接收。微服务架构几乎都是从ALLINONE的单体架构演进而来,中间又经历了分布式架构、面向服务架构的演进过程。单体架构往往以烟筒式方式发展,往往存在两个主要问题:中心化和耦合度高。所谓中心化,就是数据集中存储在单个数据库中,业
目录:一、什么是分布式系统?二、为什么要走分布式系统架构?三、系统如何进行拆分?四、分布式之后带来的技术挑战?一、什么是分布式系统?在谈分布式系统架构前,我们先来看看,什么是分布式系统?假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系统,每个小系统1万多行代码。原本代码之间都是直接基于Spring框架走JVM内存调用,现在拆开来,将20个小系统部署在不同的机器上,然后基于分布式服务框
目前公司使用的SpringCloud整个技术组件,基本包含了上面图中所包含的,不得不说,SpringCloud整个生态真的很强大,使用起来也很方便有效。后面有时间再针对每个组件进行使用解读,这篇文章主要说下SpringCloud架构的链路图,顺便把自己的思路整理下来,以备查阅。阅读目录:一、网关请求流程二、Eureka服务治理三、Config配置中心四、Hystrix监控五、服务调用链路六、ELK
现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。线程是现代操作系统调度的最小单元,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计算器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。今天主要以两个方面让大家更快的了解并发编程!一、基本概念与方法二、线
现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。那什么是分布式系统?分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文
RabbitMQ分布式集群架构和高可用性(HA)(一)功能和原理设计集群的目的允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行通过增加更多的节点来扩展消息通信的吞吐量1集群配置方式RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovelcluster:不支持跨网段,用于同一个网段内的局域网可以随意的动态增加或者减少节点之间需要运行
事务的具体定义:事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚。简单地说,事务提供一种“要么什么都不做,要么做全套(AllorNothing)”机制。举例:不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重
Hashtable注意是Hashtable不是HashTable(t为小写),这不是违背了驼峰定理了嘛?这还得从Hashtable的出生说起,Hashtable是在Java1.0的时候创建的,而集合的统一规范命名是在后来的Java2开始约定的,而当时又发布了新的集合代替它,所以这个命名也一直使用到现在,所以Hashtable是一个过时的集合了,不推崇大家使用这个类,虽说Hashtable是过时的了
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号