自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 redis:1T以上海量数据+10万以上QPS高并发+99.99%高可用

1、讲解redis是为了什么?topic:高并发、亿级流量、高性能、海量数据的场景,电商网站的商品详情页系统的缓存架构商品详情页系统,大型电商网站,会有很多部分组成,但是支撑高并发、亿级流量的,主要就是其中的大型的缓存架构在这个大型的缓存架构中,redis是最最基础的一层高并发,缓存架构中除了redis,还有其他的组成部分,但是redis至关重要大量的离散请求,随机请求,各种你未知的用户过来的请求,上千万用户过来访问,每个用户访问10次; 集中式的请求,1个用户过来,一天访问1亿次支

2020-06-28 11:13:43 2809

转载 解决相对定位随滚动条滚动可以无限下滑的问题

很久之前接触js的时候就遇到过这个问题,当时老是给出的答案是使用固定定位,今天写页面突然又遇到了这个问题,感觉很差异,于是有了下面的解决办法 // 右侧工具栏固定 var toolTop = $('.rightTool').offset().top; //定位工具栏的距离顶部的距离 var bodyH = $('body').height(); //body的高度 // 判断浏览器 function myBrowser() { var user

2020-06-28 11:04:34 739

转载 Spring项目读取resource下的文件

目录  一、前提条件  二、使用ClassPathResource类读取    2.1、Controller、service中使用ClassPathResource    2.2、单元测试使用ClassPathResource  三、使用FileSystemResource类读取文件  一、前提条件  要去读取的文件是存放在project/src/main/r...

2020-06-28 10:48:15 2523

转载 mysql中length字符长度函数使用方法

在mysql中length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符了,与char_length是有一点区别,本文章重点介绍第一个函数。mysql里面的length函数是一个用来获取字符串长度的内置函数。具体用法示例如下:(1)查看某字符串的长度(比如本站网址)SELECT LENGTH('www.111cn.net');(2)查询文章表(article)中标题最长的10篇文章SELECT id,title FROM article ORDER BY LENGT.

2020-06-28 10:46:04 1088

转载 Spring Boot——RabbitMQ

RabbitMq的介绍RabbitMq的基本原理可以自行上网查阅,或者点击传送门:RabbitMQ的基本原理。使用配置1、老规矩,先在pom.xml中添加相关依赖:<!--消息队列模块--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId>

2020-06-28 10:45:24 128

转载 RabbitMq入门以及使用教程

一、简介MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等...二、使用场景在项目中,将一些无需即时返

2020-06-24 16:46:54 157

原创 Spring的@Bean 注解

随着SpringBoot的流行,基于注解式开发的热潮逐渐覆盖了基于XML纯配置的开发,而作为Spring中最核心的bean当然也能够使用注解的方式进行表示。所以本篇就来详细的讨论一下作为Spring中的Bean到底都有哪些用法。@Bean 基础声明Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。SpringIOC 容器管理

2020-06-24 16:42:54 113

转载 第八节:消息总线

一、安装RabbitMQ参考链接:windows下 安装 rabbitMQ 及操作常用命令RabbitMQ入门(一)——RabbitMQ的安装以及使用(Windows环境下)二、基本思路基本思路就是,某个Client发送一个刷新Git配置文件的请求。然后通过消息总线向其它服务器传播此通知,通知所有的服务器更新配置文件,从而使整个微服务集群都达到更新配置文件的目的。基本流程是:...

2020-06-24 15:27:13 513

转载 第七节:高可用的分布式配置中心(Spring Cloud Config)

一、基本架构读了方老师的文章:第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本),确实很有收获,特别是架构图可以一目了然。上一篇只是单纯的让某个配置中心从GIT上获取配置文件,然后有一个客户端Client使用从GIT上的配置文件。但是随着服务的增多,如果都使用同一个配置中心,万一此配置中心挂了,那么依赖此配置中心的所有微服务系统就全部崩溃了。所以,为了避免这种情况的出现,那么就部署多个配置中心,防止某个配置中心节点故障导致的整个系统的崩溃的情...

2020-06-24 15:08:11 214 2

转载 第六节:分布式配置中心SpringCloudConfig

一、项目准备为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。SpringCloudConfig组件的作用就是从GIT上加载配置文件。然后有一个Client,使用刚才读取到的配置文件。这样的话,就可以避免因为某个配置文件更新,导致需要重启一些微服务的麻烦。需要在GIT上创建仓库,然后创建一个文件夹,里面放了三种不同的配置文件。https://github.com/hairdryre/Study_SpringCloud这是我的Sp...

2020-06-24 15:01:41 175

转载 第五节:路由网关zuul

一、Zuul功能Zuul的主要功能是路由转发和过滤器。这个时候,我们需要统一的入口,接口地址全部由该入口进入。比如用/api同一接口,/api/user 发给user服务器,/api/shop 发给shop服务器。二、搭建Zuul网关在第四小节的源码上,新建一个模块。右击项目,选择New--Module,选择Maven,点击next,再输入模块名zuul即可。2.1导入zuul网关依赖 <dependencies>...

2020-06-24 14:52:49 128

转载 第四节:使用Hystrix熔断器

一、Hystrix熔断器在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。也就是说,如果单个服务器节点出现问题,可能会导致依赖此微服务的节点系统均出现请求失败,这样循环下去可能会影响全局系统。断路打开后,可用避免连...

2020-06-24 14:27:57 212

转载 第三节:使用Feign作为服务消费者

一、环境准备Ribbon是一个基于Http和TCP的负载均衡工具,Feign(音:菲恩)是一个声明式的伪Http客户端,它比Ribbon更加的优雅。Feign使用的是接口的方式。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。在第二小节的基础上,我们开始搭建Fegin作为服务消费者。右击项目根目录,New--Module--选择左侧的Maven,点击next--输入新模块的名字feign,我的创建后的效果是下面那样。...

2020-06-24 14:21:48 431

转载 第二节:使用Ribbon作为服务消费者

一、环境准备对于Ribbon而言,大宇只能记住:Ribbon是一个基于Http和TCP的负载均衡工具。在上一小节的代码基础上,开启 Eureka--Server 与 Eureka--Client项目。Eureka--Client 项目开启后,将配置文件中的端口从8762改为8763,再启动一次。这好比启动了两个服务器,来了一个小小的分布式项目,同一个项目分别部署在8762端口与8763端口。如何一个工程启动多个实例,请看这篇文章:ht...

2020-06-24 14:18:31 243

转载 第一节:服务注册与服务发现

前言大宇也是第一次学习SpringCloud哦,难免遇到很多困难。想必很多同学也会跟我一样。看了方志朋 史上最简单的 SpringCloud 教程,被方老师的文风深深吸引,在此特别感谢方老师。俗话说,纸上得来终觉浅,绝知此事要躬行。学编程,自己手撸一遍代码不失为一种好方法,所以,让我们开始吧。一、环境准备首先创建了一个Maven环境。修改Pom文件,导入SpringCloud的依赖。用Eureka作为服务注册与发现的组件。...

2020-06-24 14:07:29 138

转载 Arthas - Java 线上问题定位处理的终极利器

前言在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。1、Arthas 介绍Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,提供 Ta..

2020-06-19 16:08:39 380

转载 MYSQL相关:NAVICAT FOR MYSQL 加注释

在 navicat 中有三种注释的书写方式:以 # 开头的字符串,可以多个 # 连续以 – 开头的字符串,注意:只能是 – ,而且 – 后面需要加一个半角空格以 /* */ 包围的字符串,类似于 Java 中的注释,但是 // 开头是不允许的示例:SELECT * from s_user; # 这注释持续到行尾SELECT * from s_user; -- 这注释持续到行尾SELECT * from s_user; /** 一行注释 */SELECT * from s_user;

2020-06-18 16:54:44 445

转载 504 Gateway Time-out 是怎么回事?

504 Gateway Time-out就字面意思,我们可以理解为bai网页请求超时,也du就是浏览网站网页所发出zhi的请求没有反应或者未响应。出现dao"504 Gateway Time-out"的原因:1、在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。2、504 Gateway Time-out错误多是存在于Nginx网站服务器环境下,多与nginx.co

2020-06-17 15:35:46 42993 1

转载 处理Ajax请求跨域问题

前言从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。个人见识有限,如有差错,请多多见谅,欢迎提出issue,另外看到这个标题,请勿喷~题纲关于跨域,有N种类型,本文只专注于ajax请求跨域(,ajax跨域只是属于浏览器"同源策略"中的一部分,其它的还有Cookie跨域iframe跨域,LocalStorage跨域等这里不做介绍),内容大概如下: 什么

2020-06-17 15:33:23 553

转载 解决前端跨域:has been blocked by CORS policy No Access-Control-Allow-Origin header

在前端工作中,有时候会碰到跨域的问题,就是请求的接口地址和本身的服务器不属于一个域内,此时浏览器会报错:XXXXX(请求的跨域url)has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested网上有很多的解决办法,可以用jsonp来请求等等。这里可以用nginx的转发功能来实现。比如我这里axios请求的接口是http://xxxx.xxxx.co

2020-06-17 15:07:33 7771

转载 mybatis中大于,小于和特殊符号的写法

使用mybatis在xml中编写sql时如果需要输入大于小于等符号时,需要写成如下形式,否则会报错,本文说明了mybatis中大于,小于和特殊符号的写法mybatis第一种写法:原符号 替换符号< &lt;<= &lt;=> &gt;>= &gt;=& &amp;' &apos;" &quot; ...

2020-06-17 11:10:45 4366 1

转载 [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时

写在前面的话:在慢查优化1和2里都反复强调过 explain 的重要性,但有时候肉眼看不出 explain 结果如何指导优化,这时候还需要有一些其他基础知识的佐助,甚至需要了解 MySQL 实现原理,如子查询慢查优化。 看到 SQL 执行计划中 select_type 字段中出现“DEPENDENT SUBQUERY”时,要打起精神了!——MySQL 的子查询为什么有时候很糟糕——引子:这样的子查询为什么这么慢?下面的例子是一个慢查,线上执行时间相当夸张。为什么呢?SELECT gid

2020-06-17 11:06:03 4785 3

转载 mysql中如何删除表上的索引?删除索引?

需求描述:  今天在做SQL的优化的时候,想要把mysql中某个表上的索引删除掉,突然忘记语法了,找到帮助,在此记录下操作过程:1.查看表上的索引show index from ti_o_sms;备注:通过以上的查询,TI_O_SMS_IDX是一个复合索引.2.删除这个复合索引drop index TI_O_SMS_idx on ti_o_sms;备注:执行完删除语句之后,再次查询,表上的复合索引已经被删除了.3.通过help命令查看删除索引的语法my.

2020-06-17 11:03:39 3905

转载 MySQL_Key值(MUL、PRI、NUL)

MySQL_Key值(MUL、PRI、NUL)查询表结构:mysql> describe cc;+----------+-----------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-----------+------+-----+---------+-------+| SecID | int(10) | NO |

2020-06-17 11:02:51 1734

转载 mysql关联表查询索引有用么

今天在执行sql语句时,使用表关联查询,结果发现子查询中的索引未使用,直接使用了全表查询,如图所示:找了半天原因,最后发现,是由于字符集设置问题导致的当将两个字段的字符集统一后,查询结果如下:Mysql 参考文档中也明确说非二进制String应该使用相同字符集:To retrieve rows from other tables when performing joins. MySQL can use indexes on columns more effici...

2020-06-17 11:02:04 3057

转载 Mysql查看是否使用到索引

mysql数据库创建索引优化之后,在查询时想看下是否使用到索引,使用执行计划查看:mysql> explain SELECT * FROM tb_user WHERE STATUS=1 limit 0,20;+----+-------------+----------------+------------+------+----------------------+----------------------+---------+-------+-------+----------+-

2020-06-17 11:00:58 890

转载 JAVA常见类(十二)Calendar类

Calendar类Calendar:它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。一、构造方法protected Calendar() :由于修饰符是protected,所以无法直接创建该对象。需要通过别的途径生成该对象。二、成员方法Calendar类的成员方法三、日历字段日历字段包含以下两种:一种是表示时间的单位,例如年、月、日等等。另一种是具体的日期,例如

2020-06-15 17:07:13 297

转载 Maven项目使用tomcat插件启动后报内存溢出

问题:maven项目在pom.xml配置tomcat插件后启动,运行时报内存溢出。tomcat插件配置如下:<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>${tomcat.version}</version> &lt

2020-06-15 13:25:09 202

原创 springMVC拦截器返回错误信息给前端

springMVC拦截器的preHandle方法返回值是Boolean类型,所以条件够就放行,执行方法,而条件不足,前端无法知道是什么原因而被拦截,下面来解决这个问题。一. 编写一个拦截器(该拦截器作用是:判断用户是否登录并且权限是否足够)package com.mmall.controller.common.intercept;import com.mmall.common.Constants;import com.mmall.common.ResponseCode;import com.mm

2020-06-13 14:11:09 6028

原创 云服务器带宽10m服务多少人

对于云服务器带宽10m能服务多少人这个问题,我们先要弄清楚几个基本的概念。1.运营商所有的10M宽带,完整单位是10Mbps,而我们所说的电脑下载速度则是MB。因此10M宽带速度并不代表下载速度就是10Mb/s,而是需要按照公式进行换算,公式如下:10Mbps=10240Kbps=10240/8KBps=1280KB/s (1024 千字节(kb)=1 兆字节(mb))2.同时在线访问人数通常指15分钟内访问页面数或pv,如平均页面大小1000KB,3秒完全打开,带宽10M,15分钟理想状态下可..

2020-06-13 08:41:01 5786

转载 Java 将String转Double、Double类型保留2位小数

将Double类型的数据保留2位小数:Double a = 2.34566;BigDecimal bd = new BigDecimal(a);Double d = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();d输出就是2.35, 注意会四舍五入将String转Double,并保留2位小数:String a = “6.145”;Double d= Double.parseDouble(a);DecimalFormat df

2020-06-09 13:56:40 8079 1

转载 java判断string变量是否是数字的六种方法小结

1.用正则表达式首先要import java.util.regex.Pattern 和 java.util.regex.Matcher/** * 利用正则表达式判断字符串是否是数字 * @param str * @return */ public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Match

2020-06-09 13:56:08 5522

转载 String转Double

String a = achievement.getGroupFraction1(); Double aa = Double.parseDouble(a);

2020-06-05 11:19:58 201

转载 js中:是什么意思

下面是经过查资料和实现得出的结论bai:一、三元操作du符里面的冒号 ?: 比如:a = expression ? b : c;如果 expression 为 true,则将 b赋予zhia;如果 expression 为 false,则将 c 赋予 a。二、作为一个对象的属性, 比如:daovar on = { a:1, b:2 };该表达式表示建立一个对象,该对象具有两个属性,属性 a 的值是1,属性 b 的值是 2。要版访问该对象的属性可以用类似权on.a 或 on["a"] 的...

2020-06-03 17:30:50 3568

转载 js中(箭头函数)的作用

ES6标准新增了一种新的函数:Arrow Function(箭头函数)x => x * x相当于:function (x) { return x * x;}箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:x => { if (x > 0) { return x * x;

2020-06-03 17:28:37 1283

转载 Vue+ElementUI学习总结

Vue框架简介Vue是一套构建用户界面的框架, 开发只需要关注视图层, 它不仅易于上手,还便于与第三方库或既有项目的整合。是基于MVVM(Model-View-ViewModel)设计思想。提供MVVM数据双向绑定的库,专注于UI层面vue设计思想View就是DOM层,ViewModel就是通过new Vue()的实例对象,Model是原生js。开发者修改了DOM,ViewModel对修改的行为进行监听,监听到了后去更改Model层的数据,然后再通过ViewModel去改变View,从而达

2020-06-03 15:46:07 820

转载 react脚手架的建立——小白入门

一、介绍:React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。二、React脚手架:create-react-appReact 的环境搭建,是比较繁琐的,有很多的依赖:react、react-dom、babel、webpack... 需要很多的前置知识,很容易让人从入门到放弃。于是就诞生了脚手架这种东西,cr...

2020-06-03 15:42:59 134

转载 Vue与React两个框架的区别和优势对比

Vue和React两个JavaScript框架都是当下比较受欢迎的,他们两者之间的区别有哪些,各自的优缺点是什么,本文将为你呈现。·我已经写出了两个几乎一样的web应用,一个是基于Vue,另一个则基于React,可以方便你在看这篇文章的时候查找相关代码。React sample app Vue sample app简单介绍除非你最近一直不关注前端的发展,不然你肯定听说过由Facebook创建的JavaScript UI框架——React。它支撑着包括Instagram在内的大多数Facebo

2020-06-03 15:41:36 625

转载 vue和react的区别之我见

react和vue都是做组件化的,整体的功能都类似,但是他们的设计思路是有很多不同的。使用react和vue,主要是理解他们的设计思路的不同。1.数据是不是可变的react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变。react在setState之后会重新走渲染的流程,如果shouldComponentUpdate返回的是true,就继续渲染,如果返回了false,就不会重新渲染,PureComponen

2020-06-03 15:33:24 1624

转载 Tomcat通过Memcached实现session共享的完整部署记录

对于web应用集群的技术实现而言,最大的难点就是:如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块。要实现这一点, 大体上有两种方式:一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据;另一种就是在集群中的所有节点间进行Session数据的同步拷贝,任何一个节点均保存了所有的Session数据。在集群系统下实现session统一的有如下几种方案:1) 请求精确定位:session s

2020-06-03 13:37:54 304

空空如也

空空如也

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

TA关注的人

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