自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sout

静心学习

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mycat--安装启动及配置读写分离、分库分表

一、Mycat简介Mycat是个数据库中间件,前身是阿里的cobar。利用Mycat可以对数据库集群进行管理。可以进行1.读写分离2.数据分片垂直拆分(分库)水平拆分(分表)垂直+水平拆分(分库分表)3.多数据源整合Mycat的原理:拦截。它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将...

2019-12-29 17:46:00 208

原创 MySQL--主从复制搭建

一、主从复制的原理1 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave将master的binary log events拷贝到它的中继日志(relay log);3 slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的这里与Redis主从复制的数据...

2019-12-29 11:29:19 128

原创 MySQL优化--关联查询、子查询、排序分组的优化

一、关联查询的优化在做join的时候,原理为驱动表(主表)做全表扫描,对子表(被驱动表)可以利用索引进行优化,而驱动表的全表扫描是必须存在的。建表sql CREATE TABLE IF NOT EXISTS `class` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NUL...

2019-12-25 15:44:01 1430

原创 MySQL优化---单表索引失效原因及优化策略

一、数据准备往表里插50W数据以测试我们的SQL建表语句 CREATE TABLE `dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, ceo INT NULL , PRIMARY KEY...

2019-12-24 18:40:50 442

原创 MySQL优化---常见的性能瓶颈以及Explain详解

一、MySQL常见性能瓶颈CPU方面:SQL中对大量数据进行比较、关联、排序、分组。IO方面:实际内存满足不了缓存数据或排序等需要,导致产生大量的物理I/O操作。锁:不适宜的锁设置,导致线程阻塞性能下降。死锁,线程之间交叉调用资源导致死锁,程序卡住。服务器硬件的性能瓶颈:可以通过top free iostat 和 vmstat来查看系统的性能状态。二、Explain1.Ex...

2019-12-23 21:23:23 1866

原创 Mysql优化---基于索引优化(B-Tree与B+Tree)

一、索引是什么?1.MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,即索引的本质是一种数据结构。可以简单理解为:排好序的快速查找数据结构详解:在数据之外,数据库系统还维护着满足特定查找算法的数据结构---索引,这些数据结构是以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级的查找算法。左边是数据表,一共有两列七行数据,最左边存...

2019-12-21 16:01:46 492

原创 MySQL优化---可能导致性能下降的几个原因以及常用Join查询

1.SQL执行慢,执行时间长,等待时间长的原因1.1查询数据过多1.2关联了太多表,用了太多的join:join查询的原理,是用A表的每一条数据都去扫描B表的每一条数据。1.3没有利用到索引索引分为单值索引和复合索引单值索引创建:create index idx_user_id on user(id)复合索引创建:create index idx_user_id...

2019-12-19 22:08:26 482

原创 MySQL优化--逻辑架构介绍及其存储引擎

1.逻辑架构介绍和其他数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上。插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离。这种架构可以根据业务需求和实际需要选择合适的存储引擎。1.1连接层最上层是一些客户端和连接服务,包含本地socket通信和大多数基于客户端/服务端工具(Navicat等)实现...

2019-12-19 18:20:27 243

原创 Mysql优化---Linux下配置文件详解

1.Mysql主要配置文件1.1 二进制日志 log-bin:用于主从复制及备份恢复,存放了所有的操作记录,相当于redis中的AOF。my.cnf中的log-bin配置(默认关闭)1.2错误日志 log-error:默认关闭,记录了严重的警告和错误信息,以及每次启动和关闭的详细日志信息。1.3慢查询日志log:默认关闭,记录查询的sql语句,如果开启会降低Mysql的整体性能...

2019-12-19 14:43:44 822

原创 Linux(centos下)进行Mysql的详细安装和配置步骤

官网下载地址:http://dev.mysql.com/downloads/mysql/1.拷贝并解压缩,得到安装的rpm文件2.检查当前系统是否安装过Mysqlrpm -qa | grep mysql如果存在mysql-libs的旧版本包如下:请先执行卸载命令:rpm -e --nodeps mysql-libs3.由于mysql安装过程中,会通过mysql...

2019-12-18 21:29:24 329

原创 ActiveMQ面试专讲--高级特性

一、引入消息队列后,如何保证其高可用性持久化、事务、签收、 以及带复制的 Leavel DB + zookeeper 主从集群搭建二、异步投递(Async send)对于一个慢消费者,使用同步有可能造成堵塞,消息消费较慢时适合用异步发送消息activemq 支持同步异步 发送的消息,默认异步。当你主动设定同步发送的方式和 未使用事务的情况下发持久化消息,这时是同步的。如果没...

2019-12-16 14:21:11 161

原创 ActiveMQ--使用集群搭建来解决单点故障,实现高可用。

一、ActiveMQ集群搭建想保证ActiveMQ为高可用,需要通过搭建集群的方式来实现。搭建集群是通过Zookeeper+LevelDB持久化方式来实现。要注意的是:在集群模式下,客户端只可以访问Master,不可以访问Slave。当Master宕机后,Zookeeper检测到没有心跳信号,则通过选举机制从剩下的Slave中选出一个新的Master,当故障服务器恢复后会以Slave的...

2019-12-16 09:30:12 482

原创 ActiveMQ--可持久化(对持久化几种方式的总结)

消息的持久化将MQ 收到的消息存储到文件、硬盘、数据库 等、 则叫MQ 的持久化,这样即使服务器宕机,消息在本地还是有,仍就可以访问到。官网 : http://activemq.apache.org/persistence之前介绍过保证消息的可靠性的四个因素:1.消息的持久化 2.事务 3.签收 4.集群高可用ActiveMQ支持的消息持久化机制:AMQ、LevelDB、kahaD...

2019-12-11 20:20:52 622

原创 ActiveMQ--传输协议的介绍及对ActiveMQ的优化

1. ActiveMQ 支持的协议有 TCP 、 UDP、NIO、SSL、HTTP(S) 、VM这是activemq的activemq.xml配置文件中配置协议的地方<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFr...

2019-12-11 19:40:08 222

原创 ActiveMQ--与Spring和Springboot的整合

一、整合Spring首先导入pom文件<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.ou...

2019-12-11 10:55:39 164

原创 面试题:聊一下Spring中的IOC/DI?

IoC  首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。Spring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给...

2019-12-10 15:07:35 768

原创 ActiveMQ--JMS的点对点模式于发布订阅模式的总结

一、点对点模型(peer-to-peer)点对点模型是基于队列的,生产者发送消息到队列,消费者从队列中接收消息,队列的存在使消息可以进行异步传输。类似于用手机发短信,不必双方手机都开机。1.在非事务状态下,当session关闭时如果有消息收到但还没有被签收(acknowledged),那当消费者下次连接到相同的队列时,这些消息还会被再次接收。2.队列可以长久的保存消息直到消费者收到...

2019-12-10 13:28:09 229

原创 ActiveMQ--JMS规范如何确保消息的可靠性

一、JMS规范JavaEE 是一套使用 Java进行企业级开发的13个核心规范工业标准,包括:JDBC 数据库连接JNDI Java的命名和目录接口EJB Enterprise java beanRMI 远程方法调用 一般使用TCP/IP协议Java IDL 接口定义语言JspServletXMLJMS Java消息服务JTAJTSJavaMa...

2019-12-10 11:38:11 415

原创 当面试官问起:谈一下你对数据库事务的理解,你这么回答就对了。

在回答这个问题的时候首先要考虑的是这里面包含了哪些知识点是我们要回答的,第一个要点:什么是事务;第二个要点:数据库的基本特性是什么?第三个要点:什么是事务隔离,有哪些事务隔离级别?什么是事务数据库中的事务是作为单个逻辑工作单元执行的一系列操作。(多条 SQL 语句,要么全部执行成功,要么全部执行失败。)数据库要支持事务操作必须满足四个特性,也就是常说的ACID:A:原子性(Ato...

2019-12-10 10:21:43 996

原创 ActiveMQ--Topic与queue传递方式的demo

在点对点的消息传递时,目的地称为 队列 queue在发布订阅消息传递中,目的地称为 主题 topic一、简介JMS规范JMS : Java 消息中间件的服务接口规范,activemq 之上是 mq , 而 mq 之上是JMS 定义的消息规范 。 activemq 是mq 技术的一种理论实现(与之相类似的实现还有 Kafka RabbitMQ RockitMQ ),而 JMS 是更上一级...

2019-12-09 19:34:02 224

原创 ActiveMQ--初步介绍及linux下环境搭建

一、什么是MQ消息中间件消息中间件可以利用高效可靠的消息传递机制进行与平台无关的消息交流,并基于数据通信来进行分布式系统的集成。通过消息传递和消息排队模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通讯、数据同步等功能大致流程如下:发送者把消息发送给消息服务器(MQ),消息服务器将消息存放在若干队列/主题中,在核实的时候,消息服务器会将消息转发给接收者。在这个过程...

2019-12-09 19:12:19 267

原创 分析Mybatis源码,并详解其用到的设计模式---日志模块

一、下载Mybatis源码MyBatis 源码下载地址:https://github.com/MyBatis/MyBatis-3源码包导入过程: 1. 下载 MyBatis 的源码2. 检查 maven 的版本,必须是 3.25 以上,建议使用 maven 的最新版本3. MyBatis 的工程是 maven 工程,在开发工具中导入,工程必须使用 jdk1.8 以上版本;4....

2019-12-06 11:06:35 449

原创 设计模式之六大设计原则

六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 单一职责 概念:对功能进行分类,代码进行解耦 栗子:一个网络请求框架大致分为:请求类,缓存类,配置类;不能把这三个功能混合在一起,必须分成三个类分别去实现不同的功能 里氏替换 概念:在继承类时,除了扩展一些新的功能之外,尽量不...

2019-12-06 09:52:06 99

原创 详解网络编程基础及同步异步、阻塞非阻塞

一、网络编程基础原理1.网络编程(Socket)的概念首先注意, Socket不是Java中独有的概念,而是一个语言无关标准。 任何可以实现网络编程的编程语言都有 Socket网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket。建立网络通信连接至少要一个端口号。socket 本质是编程接口(API),对 TCP/IP 的封装, TCP/IP ...

2019-12-05 10:12:32 315

原创 Tcp/ip协议的三握、四挥以及与http协议的区别

一、Tcp/ip协议与http协议的区别TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如...

2019-12-05 09:41:11 1519

原创 Mybatis源码中涉及到的设计模式

通过学习Mybatis源码,在其中用到的两个设计模式:适配器模式和代理模式适配器模式在Mybatis中的日志操作类源码中使用,在市面上有很多的日志扩展实现,但每个实现(如Log4j,logback,jdk自带的日志包等)的日志级别都不一样,这些是有差异的,而在Mybatis中定义了一些日志规范肯定与这些实现有差异,所以无法直接去调用,所以Mybatis需要一个适配器作为Mybatis规定接口的实...

2019-12-05 08:47:54 310

原创 Zookeeper---内部原理及常见应用场景(重要,面试必问)

下面谈一下Zookeeper的内部原理及应用场景,面试只要问到Zookeeper,下面就是重点。一、内部原理1.谈一谈Zookeeper集群的选举机制1)半数机制:集群中半数以上机器存活,集群可用。所以zookeeper适合装在奇数台机器上。2)Zookeeper虽然在配置文件中并没有指定master和slave。但是,zookeeper工作时,是有一个节点为leader,其他则...

2019-12-01 12:00:47 420 1

原创 Zookeeper---集群的操作、案例实战

启动Zookeeper集群:bin/zkServer.sh start查看当前服务器为集群中的哪个角色:bin/zkServer.sh status一、客户端操作1.启动客户端:bin/zkCli.sh2.显示所有操作命令 help3.查看当前 znode 中所包含的内容 ls /4.查看当前节点详细数据:ls2 /5.创建普通节点:create /sanguo "...

2019-12-01 11:18:54 217

原创 Zookeeper---安装及集群配置

单机模式配置在此就不多提了,与集群配置相同。一、Zookeeper配置(搭建zookeeper服务器集群) 1.1 结构:一共三个节点 (zk服务器集群规模不小于3个节点),要求服务器之间系统时间保持一致。 1.2 上传zk 进行解压: tar -zxvf zookeep...

2019-12-01 10:36:59 723

原创 Zookeeper---带你三分钟了解Zookeeper

一、Zookeeper是什么?Zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目。Zookeeper 从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实...

2019-12-01 10:26:46 97

security实验.zip

学习用到的模板,供大家免费下载。

2020-01-28

空空如也

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

TA关注的人

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