自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring IOC 容器注解使用

1、Spring 容器继承图2、控制反转和依赖注入什么是控制反转?我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle ) 什么是依赖倒置原则?...

2020-04-12 15:11:05 283

原创 springboot生成二维码

场景: 通过二维码的扫描的,跳转到指定的请求链接参考了网上的很多资料,最后选择Google的zxing生成需要的二维码:步骤一:导包,导入相关的依赖<!--引入生成二维码的依赖--><!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency> ...

2019-04-27 16:10:24 6489

原创 通过jQuery Ajax使用FormData对象上传文件

今天使用wex5做文件上传,并不使用wex5本身提供的文件上传插件(如图),就采取formData结合Ajax来实现文件的上传。要实现该功能一般有两种方式。第一种:使用<form>表单初始化FormData对象方式上传文件。如下:html代码:<form id="uploadForm" enctype="multipart/form-da...

2019-04-15 15:41:35 1800

原创 springboot整合pdf.js实现在线预览pdf文件

今天在项目中实现pdf在线预览的功能的如图, 通过百度,查询合适的方法,最为简单的的是通过pdf.js的插件在前台展示。本以为是挺容易实现的,但都有莫名其妙的错误。第一步:下载源码https://github.com/mozilla/pdf.js第二步:构建PDF.jsps:其实我们使用pdf.js,只需要构建后的内容,大家可以到我的百度云盘下载:https://pan....

2019-04-13 19:56:58 10070 7

原创 通过git下载下载Spring的源代码

下载spring项目到本机有很多方法从spring官网下载源码到本机,然后解压放到指定目录 通过eclipse的git插件下载 直接通过本机安装的git软件下载总之下载源码和编译源码的方式的各种各样,在这我就使用我自己的方式下载构建。直接通过本机安装的git软件下载源码构建好之后导入eclipse1.本地git的安装(安装过程很容易的,可以自行百度)2.到Spring的G...

2018-12-25 13:40:42 4958

原创 Linux安装mysql-5.7.24

1.在官网上下载好mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz2.通过winscp或者xshell把本地tar包上传到虚拟机上3.mysql 依赖的库shell&gt; yum search libaio # search for info shell&gt; yum install libaio # install library...

2018-12-23 00:02:47 953

原创 Zookeeper基本命令的使用

在学习了 Zookeeper 相关的理论知识后和搭建伪集群后,下面接着学习对 Zookeeper 的相关操作。1.Zookeeper  部署Zookeeper 有三种运行形式:集群模式、单机模式、伪集群模式。2.服务端bin 目录下常用的脚本解释 zkCleanup 清理 Zookeeper 历史数据,包括事务日志文件和快照数据文件 zkCli Zookeeper 的一个简易客户...

2018-12-21 22:08:43 278

原创 Zookeeper伪集群的搭建

Zookeeper伪集群的搭建1.选择自己需要的版本号进行下载wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz注意:Zookeeper是需要依赖jdk的,所以你的主机要安装上jdk2.解压[root@localhost tools]# tar ...

2018-12-21 21:07:41 208

原创 jedis客户端连接redis错误总结

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect    at redis.clients.jedis.Connection.connect(Connection.jav...

2018-12-20 11:36:26 2235 1

原创 redis的集群(伪集群)

一台虚拟机搭建redis的集群(3主3从)1.首先在你自己的redis安装目录下分别创建一个创建集群配置文件夹:mkdir cluster-conf cd cluster-conf2.创建集群端口文件夹:mkdir 7001 7002 7003 7004 7005 70063.进入7001文件夹,复制redis.conf配置文件 ...

2018-12-19 14:51:28 727

原创 redis安装和主从搭建(redis学习笔记2)

redis安装环境   redis是C语言开发,建议在linux上运行。   安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gccyum install gcc-c++2. 下载源码包wget http://download.redis.io/releases/redis-3.2.9.tar.gz(根据需要下载自己版本)3....

2018-12-13 20:50:40 126

原创 mysql 中国省份城市数据库表

学习用到地区的选择,所以总结了一下中国省份-城市-县(区)分布,大概情况如下:部分省份部分市部分县(区)有需要可以通过以下链接直接获取mysql的sql脚本链接:https://pan.baidu.com/s/1ph0YnX_nFnZNXjOR6l1ilQ提取码:hwlc...

2018-12-12 20:25:00 18384 3

原创 redis单机版和集群版特性(学习笔记1)

关系型数据库&amp;nosql1、复杂的查询在传统的关系型数据库中查询一个复杂的业务需要写很复杂的 sql 语句。2、伸缩性在传统的关系型数据库业务增大系统需要扩容只能是纵向的形式扩展.操作性能也与遇到瓶颈3、传统数据库遵循 ACID 规则。而 Nosql 一般为分布式而分布式一般遵循 CAP 定理。ACIDA (Atomicity) 原子性 C (Consistency)...

2018-12-12 15:11:00 2052

原创 spring cloud学习笔记(6)--spring cloud config

config配置中心介绍为什么需要配置中心?1、集中管理配置2、不同环境不同配置3、运行期间动态调整配置4、自动刷新Spring Cloud Config为分布式系统外部化配置提供了服务器端和客户端的支持,它包括Config Server和Config Client两部分Config Server是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用G...

2018-12-03 17:25:51 178

原创 spring cloud学习笔记(5)--统一网关zuul

微服务网关背景及简介不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求。比如一个电影购票的收集APP,可能回调用电影分类微服务,用户微服务,支付微服务等。如果客户端直接和微服务进行通信,会存在一下问题:客户端会多次请求不同微服务,增加客户端的复杂性 存在跨域请求,在一定场景下处理相对复杂 认证复杂,每一个服务都需要独立认证 难以重构,随...

2018-12-02 21:36:31 393

原创 Eureka的高可用(集群)

eureka集群其实eureka的集群是很简单的一个事事情,就是Eureka服务之间的相互注册就可以了。首先我们看一下Eureka高可用的官方给出的架构图,基于集群配置的eureka 在这就不解析图的各种关系了,可以参考一下本人的微服务学习笔记(2)-- Eureka,里面有详细的解析。那接下下我们看看怎么搭建Eureka的高可用,首先Eureka的依赖必不可以少吧(具体的使用...

2018-12-02 14:09:52 474

原创 spirng cloud学习笔记(4)--Hystrix服务的降级限流和熔断

分布式系统中,会出现哪些问题?分布式系统中一定会遇到的一个问题:服务雪崩效应 或者叫级联效应那么什么是服务雪崩效应呢?在一个高度服务化的系统中,我们实现的一个业务逻辑通常会依赖多个服务,比如:商品详情展示服务会依赖商品服务, 价格服务, 商品评论服务. 如图所示:调用三个依赖服务会共享商品详情服务的线程池. 如果其中的商品评论服务不可用, 就会出现线程池里所有线程都因等待响应而被阻...

2018-12-01 21:40:09 1066

原创 spring cloud学习笔记(3)-- ribbon和feign

1.ribbon客户端负载均衡介绍及基本使用负载均衡想必都是比较清除的,在服务器端的负载均衡主要是通过Nginx实现:那么客户端的负载均衡呢Ribbon是一个实现了客户端负载均衡的组件,Netflix开源的,其主要功能是提供客户端侧负载均衡 Ribbon客户端组件提供一系列完善的配置项,如连接超时,重试等配置。简单来说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中...

2018-11-30 20:46:02 327

原创 spring cloud学习笔记(2)-- Eureka

传统单体架构介绍及优缺点一个项目包(war包,归档包)包含了应用的所有功能, 在没有出现微服务概念之前,基本上都是这种架构形式存在, 我们一般把程序打包成一个文件后,扔到tomcat或者jetty, jboss等应用服务器中即可特点:部署很简单,符合我们的思维;项目臃肿;技术债务;部署频率低;扩展性差;阻碍技术创新单体架构到微服务架构的改造及优缺点把每个独立的模块单独抽...

2018-11-29 20:18:35 143

原创 微服务学习笔记(1)--springboot

Spring Boot HelloWorld浏览器发送 hello 请求,服务器接受请求并处理,响应 Hello World 字符串;1.  创建一个 maven 工程;(jar)2.  导入 spring boot 相关的依赖&lt;parent&gt;&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;&lt;arti...

2018-11-28 22:51:41 441

原创 jvm垃圾收集回收

今天学习了jvm垃圾收集回收,现在终结一下学习的笔记,权当复习和以后的复习。1.那么首先我们来看看jvm默认情况下的内存分配和回收1.1 对象优先在Eden区分配大多数情况下,对象在新生代中 Eden 区分配。当 Eden 区没有足够空间进行分配时,虚拟机将发起一次Minor GC。然后会把幸存的对象存进幸存区的From区 ,当From区也满了了,虚拟机将再发起一次Minor GC...

2018-11-26 17:14:53 156

原创 JVM性能调优监控工具(jdk自带命令的使用和VisualVM的使用)

jdk本身就给我们提供了可以查询jvm的指令jps---查看当前java的线程Jinfo查看正在运行的Java应用程序的扩展参数查看jvm的参数查看java系统参数Jstatjstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是j...

2018-11-25 16:54:08 1121

原创 jvm整体架构图文详解

今天学习了jvm三大组成部分(jvm类加载器,jvm内存结构,jvm执行引擎)的内存结构,现在把学习笔记总结记录一下,当作复习吧。1.jvm的概念JVM(虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。jvm和VMware,Virtual Box等虚拟机一样,都是运行在操作系统之上的计算机系统。首先我们来看看jv...

2018-11-24 19:45:10 6893 2

原创 排序算法

归并排序归并排序比 冒泡排序、插入排序和选择排序要用O(N2)时间快,归并排序只要O(N*logN)。归并排序的一个缺点是它需要在存储器中有另一个大小等于被排序的数据项数目的数组。如果初始数组几乎占满整个存储器,那么归并排序将不能工作。但是,如果有足够的空间,归并排序会是一个很好的选择。归并两个有序数组      归并算法的中心是归并两个已经有序的数组。归并两个有序数组A和B,就生...

2018-11-23 20:06:38 126

原创 简单排序

冒泡排序冒泡排序算法运行起来非常慢,但在概念上它是排序算法中最简单的,因此冒泡排序算法在刚开始研究排序技术时是一个非常好的算法。思路: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的...

2018-11-22 22:05:13 97

原创 数据结构-二叉树

使用java代码实现二叉树,查找节点,插入一个节点,遍历树,查找最大值和最小值,删除节点用Java代码表示树下面来看看如何用Java语言实现二叉树。像其他数据结构一样,有很多方法可以在计算机内存中表示树。最常用的方法是把节点存在无关联的存储器中,而通过每个节点中指向自己子节点的引用来连接。1.我们要定义Node类首先,需要有一个节点对象的类。这些对象包含数据,数据代表要存储的内容(例...

2018-11-22 18:26:58 152

原创 数据结构-队列

1.队列       队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。      建立顺序队列结构必须为其静态分配或动态申请一片连续的存储空间,并设置两个指针进行管理。一个是队头指针fron...

2018-11-21 17:29:10 171

原创 数据结构-栈

1.什么是栈    栈 又称为堆栈或堆叠,栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈项,需要读数据的时候从栈页开始弹出数据(最后一个数据被第一个读出来)先进后出。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。      栈是允许在一端进行插入和删除操作的特殊线性表。允许进行插入和删除...

2018-11-21 15:16:23 331

原创 数据结构-双向链表

1.链表循环链表:与单向链表的区别在于尾节点的地址域(指针域)不为null,它指向了首节点的引用。循环链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。优点:可以从链表的任意节点出发,都能够通过后移操作,而扫描整个循环链表。双端链表:增加了一个对尾节点的指针。链表中保存着对最后一个链节点引用的链表。 双向链表:双向链表也叫...

2018-11-21 13:01:25 479

原创 数据结构-单链表

1.数组和链表的比较     数组作为数据存储结构有一定的缺陷,在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除效率都很低,并且数组在创建后,其大小是固定了,设置的过大会造成内存的浪费,过小又不能满足数据量的存储。 如果要去掉C,那么就要把D以后的数据全部往前移动一位才可以      数据结构一链 表。我们知道数组是一种通用的数据结构,能用来实现栈、队列...

2018-11-21 01:06:23 115

原创 niginx的性能优化实践

一、Nginx 正向代理和反向代理实现那么什么是反向代理其与正向代理有什么区别?正向代理的概念:正向代理是指客户端与目标服务器之间增加一个代理服务器,客户端直接访问代理服务器,在由代理服务器访问目标服务器并返回客户端并返回 。这个过程当中客户端需要知道代理服务器地址,并配置连接。 反向代理的概念:反向代理是指 客户端访问目标服务器,在目标服务内部有一个统一接入网关将请求转发...

2018-11-07 19:46:41 142

原创 nginx的安装和核心模块与配置实践

1.安装安装环境准备:(1)linux 内核2.6及以上版本:只有2.6之后才支持epool ,在此之前使用select或pool多路复用的IO模型,无法解决高并发压力的问题。通过命令uname -a 即可查看。#查看 linux 内核uname -a(2)GCC编译器GCC(GNU Compiler Collection)可用来编译C语言程序。Nginx不会直接提...

2018-11-06 18:26:07 164

原创 MySQL锁与事务的隔离级别

1. 概述1.1 定义  锁是计算机协调多个进程或线程并发访问某一资源的机制。  在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.2 锁的分类...

2018-11-05 20:53:45 251

原创 MySQL的优化(例子讲解)

首先创建一张测试表用于测试使用:CREATE TABLE `test` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `c1` varchar(10) DEFAULT NULL,   `c2` varchar(10) DEFAULT NULL,   `c3` varchar(10) DEFAULT NULL,   `c4`...

2018-11-05 14:18:41 127

原创 MySQL的执行计划和索引详解

使用explain关键字可以模拟优化器执行sql语句,从而知道mysql是如何处理sql语句的,分析你的查询语句或者是结构性能。我们通过几张表来使用explain的例子:在select语句之前增加explain关键字,MySQL会在查询的基础上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条sql语句(如果from中包含子查询,仍会执行该子查询的,将结果放入临时表中)使用...

2018-11-02 19:37:38 720

原创 Mysql索引底层数据结构

想要了解索引,首先要知道索引到底是什么呢*索引是帮助MySQL高效获取数据的排好序的数据结构;通俗来讲就好比喻一本书,那这本书的目录就好比做索引;*索引存储在文件里(存储引擎是MyISAM的索引文件存储在 *.MYI文件中,存储引擎是InnoDB的索引文件存储在 *.idb文件中)通常数据库中的数据就是存在硬盘上的,表存磁盘文件,没有索引就得一行一行扫描文件,每一行得记录在文件里不一定连续...

2018-11-01 22:08:42 179

原创 git的概念和基本命令

git的概念和基本命令1.概念Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 安装参见:http://git-scm.com/Git基本使用过程图例GIT 核心命令使用本地初始化GIT 仓库:#基于远程仓库克隆至本地git clone remote_url#当前目录初始化为git 本地仓库git init 目录名本地添加#添...

2018-10-30 00:20:53 133

空空如也

空空如也

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

TA关注的人

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