自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 数据库分区、分表、分库、分片

一.分区的概念  数据分区是一种物理数据库的设计技术,它的目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。  分区并不是生成新的数据表,而是将表的数据均衡分摊到不同的硬盘,系统或是不同服务器存储介子中,实际上还是一张表。另外,分区可以做到将表的数据均衡到不同的地方,提高数据检索的效率,降低数据库的频繁IO压力值,分区的优点如下:1.相对于单个文件系统或是硬盘,分区可以存储更多的数据;2.数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可;3.精准定位分

2021-05-31 18:47:52 1871 1

原创 cron表达式详解

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth Month DayofWeek一.结构corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份二.各字段的含义三.注意事项:每一个域都使用数字,但还可以出

2021-05-31 17:20:49 1257 1

原创 Spring Boot中实现定时任务的两种方式

  在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具备这两个 Spring 中的定时任务实现策略,当然也支持 Quartz,本文我们就来看下 Spring Boot 中两种定时任务的实现方式。一.@Scheduled  使用 @Scheduled 非常容易,直接创建一个

2021-05-31 17:03:46 203 1

转载 MySQL高级之索引失效与优化详解(*)

案例所用的表结构、索引、与数据如下: 索引失效与优化 1、全值匹配我最爱 2、最佳左前缀法则(带头索引不能死,中间索引不能断) 如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。 正确的示例参考上图。 错误的示例: 带头索引死: 中间索引断(带头索引生效,其他索引失效): 3、不要在索引上做任何操作(计算、函数、自动/手动类型转换),不然会导致索引失效而转向全表扫描 4、mysql存储引擎不能继续使用索引中范围条.

2021-05-31 15:03:37 179 1

原创 MySQL删除表操作(delete、truncate、drop的区别)

本文主要讲mysql中三种删除表的操作,delete语句、truncate语句以及drop语句的区别:简介:一.delete1.删除整张表的数据:delete from table_name;2.删除部分数据,添加where子句:delete from table_name where...;3.说明(1)属于DML语言,每次删除一行,都在事务日志中为所删除的每行记录一项。产生rollback,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发,如果删除大数据量的表速

2021-05-31 14:08:47 23228 4

原创 Mysql中相关概念

1.主键主关键字是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。又可称为主键、主码,其列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。2.公共关键字如果两个关系中具有相容或相同的属性或属性组,那么这个属性或属性组被称为这两个关系的公共关键字。3.外键如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。外键又称作外关键字。外键的作用保持数据一致

2021-05-31 11:41:26 163 1

原创 MySQL中的BLOB类型

一.BLOB介绍  BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。但也有专家强调,这种处理大数据对象的方法是把双刃

2021-05-31 11:16:21 17185 1

转载 MySQL中数据类型介绍

一、MySQL的数据类型 主要包括以下五大类: 整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮点数类型:FLOAT、DOUBLE、DECIMAL 字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB 日期类型:Date、DateTime、Time...

2021-05-31 11:04:13 775 1

转载 关于sql和MySQL的语句执行顺序(*)

今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序:sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。一.sql执行顺序1.from2.join3.on4.where5.group by(开始使用select中的别名,后面的语句中都可以使用)6.avg,sum…7.having8.select9

2021-05-31 10:43:52 188 1

转载 关于Slf4j中占位符{}

日志输出中{}很好用(具体可参看:https://blog.csdn.net/Dongguabai/article/details/83719754){}的确使用很方便,但是大多数博客文章说使用{}会性能更好,到底怎么样可以从源码中看看(其实可以大致猜测一下,哪怕代码玩出花来,也要找到每个{}的位置进行替换吧)。测试代码:org.slf4j.helpers.MessageFormatter#arrayFormat(java.lang.String, java.lang.Object[], java

2021-05-27 17:18:17 2254 1

转载 mybatis常用标签

一.定义sql语句1.select 标签属性介绍:(1)id :唯一的标识符.(2)parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user(3)resultType :语句返回值类型或别名。注意,如果是集合,那么这里填写的是集合的泛型,而不是集合本身(resultType 与resultMap 不能并用)<select id="selectByPrimaryKey" resultMap="BaseResultMap" parame.

2021-05-27 16:09:02 13016 2

原创 Java中的日志级别

  log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。(1)ALL:最低等级的,用于打开所有日志记录。(2)TRACE: designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。(3)DEBUG: 指出细粒度信息事件对调试应用程序是非常有帮助的,主要

2021-05-27 15:14:46 281 1

原创 Java 枚举类的基本使用

  枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。  所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类(可以实现接口)。1.常量的使用  在JDK1.5之前,我们定义常量都是:public static fianl…。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。package com; public enum

2021-05-27 14:01:25 209 2

原创 spring 中的bean和@Bean

一.Spring bean定义  由Spring IoC容器所管理的对象称为bean。bean被实例化,组装,并通过Spring IoC容器所管理的对象。Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用。bean 就是spring管理的对象二.对bean的理解1.Java

2021-05-27 13:34:10 380 1

转载 高并发的解决方案

1.应用和静态资源分离 刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。 通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了。架构图如下: 2.页面缓存 页面缓存是将应用生成的页面缓存起来,这样就不需要每次都生成页...

2021-05-27 08:35:21 372 1

原创 spring security系列教程

1.Spring Security最简单全面教程(带Demo)2.Spring Security 工作原理概览3.SpringBoot集成Spring Security(1)——入门程序

2021-05-26 17:09:02 151 1

原创 SpringCloud简介

  springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。 SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能。一.SpringCloud组件架构:二.spring clou

2021-05-26 16:37:48 368 1

原创 springBoot简介

认识一个东西我们先来试着回答三个经典的问题问题,是什么?为什么?怎么样?一.springBoot是什么?  在介绍 SpringBoot 之前我们首先来简单介绍一下 Spring。Spring 是诞生于2002年的 Java 开发框架,可以说已经成为 Java 开发的事实标准。所谓事实标准就是虽然 Java 官方没有说它就是开发标准,但是在当前 Java 开发的众多项目中,当我们谈到产品级的 Java 项目的时候,大多都是基于 Spring 或者应用了 Spring 特性的。  Spring 基于 I

2021-05-26 16:30:58 45618 4

原创 SpringBoot项目针对跨域问题的三种解决方案

1. 什么是跨域要了解跨域,先要知道同源策略。同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。所谓同源是指:协议,域名,端口 全部相同。浏览器从一个域名的网页去请求另一个域名的资源时,协议,域名,端口任意不同,都会出现跨域问题。现实工作开发中经常会有跨域的情况。因为公司会有很多项目,也会有很多子域名,各个项目或者网站之间需要相互调用对方的资源,所以跨域请求是避免不了的2. 解决跨域的几种方案方法一:注解在Spring Boo

2021-05-26 16:10:44 158 1

转载 什么是跨域?跨域解决方法

一.为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)二.什么是跨域当一个请求url的协议、域名、端口三

2021-05-26 16:02:43 229 1

转载 【Linux】linux常用基本命令

Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 怎么10/100会变成0呢?这是因为bc预设仅输出整数,如果要输出小数点下位数,那么就必须...

2021-05-26 15:16:54 125 1

原创 OAuth2.0 的简介

一.基础知识1.OAuth产生背景  很多网站、APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦、还可以获取用户的好友关系来增强自身的社交功能。  比如我们可以使用微博登录简书,简书会自动将你的微博头像设置为你的简书头像,将你的微博昵称设置为你的简书昵称,甚至还可以获取你微博中的好友列表,提示你哪些朋友已经在使用简书,这是如何做到的呢?  最传统的办法是让用户直接在简书的登录页面输微博的账号和密码,简书通过用户的账号和密码去微博那里获取用户数据,

2021-05-26 15:02:39 1436 1

原创 Java 简介

  java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的。从pc到手机,都有Java开发的程序和游戏,Java程序可以在任何计算机,操作系统和支持的Java的硬件设备上运行。一.Java语言(1)java 是1995年,sun公司推出的一种面向对象的程序设计语言。(2)由詹姆斯.戈士林设计完成,并完成了Java的原始编译器和虚拟机。Java原名oak,在1995年被正式以Java命名发布。詹姆斯.戈士林被称为Java之父。(3)Java语言是一种通过解释来执行的语言,其

2021-05-26 14:28:55 952 2

转载 什么是高并发 ,详细讲解

一、什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。   高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。   响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系...

2021-05-26 09:30:10 7741 1

转载 拜托!面试请不要再问我Spring Cloud底层原理!

  目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Ribbon 五、Spring Cloud核心组件:Hystrix 六、Spring Cloud核心组件:Zuul 七、总结     概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使.

2021-05-25 15:39:17 195 1

原创 Kafka的简介(1)(*)

一.简介1.概述Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。Kafka主要设计目标如下:(1)以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。(2)高吞吐率。即使在非常廉

2021-05-25 15:24:14 780 3

原创 JWT简介

一.什么是JWT  Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。二.传统的session认证  我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向

2021-05-25 14:47:30 288 1

原创 token介绍

一.Token是什么?  Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。二.Token的引入  Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。三.使用Token的目的Token的目的是为了减轻服务器的压力,减少频

2021-05-25 14:07:48 1149 1

转载 springBoot项目设置统一响应返回

一.格式选择返回格式目前主流的应该只有XML、JSON两种吧,这里我们不做对比,我们使用JSON作为接口的返回格式。二.数据返回格式数据的返回格式其实是个比较纠结的问题,在restful风格中很多文章都讲解使用的是http状态码控制请求的结果状态,例如:http状态码为200~300的时候,为正常状态,response响应体即为所需要返回的数据,404时代表没有查询到数据,响应体即为空,500为系统错误,响应体也为空等等,但是这种方式也是存在很大问题的,一是http状态码是有限的,而且每个状态码都已经

2021-05-25 11:31:06 1493 1

原创 SpringBoot 配置文件详解

  springboot采纳了建立生产就绪spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。一.自定义属性  当我们创建一个springboot项目的时候,系统默认会为我们在src/main/Java/resources目录下创建一个application.properties。个人习惯,我会将application

2021-05-25 11:19:11 195 2

转载 maven 本地环境、开发环境 、测试环境、生产环境打包

在平常开发的过程中,我们的项目配置文件经常有有几套分别对应自己本地的环境、开发环境、测试环境、以及生产环境。因为在不同的环境中项目的相关配置也会有相关的不同,我们在不同的环境中部署就要手动修改为对应环境的配置,这样太麻烦了以及这样也会很容易出错。目前JAVA相关的项目基本都是使用Maven来进行构建。在maven中实现多环境的构建可移植性需要使用profile,通过不同的环境激活不同的profile来达到构建的可移植性。接下来我们就通过maven的相关配置来在打包时指定各个环境对应配置文件。第一步 p

2021-05-25 10:46:16 1800 1

原创 springboot+maven项目使用 profiles 配置多环境

pom.xml 添加添加多环境配置<!-- 多环境配置 --> <profiles> <profile> <id>dev</id> <!-- 环境标识,需要与配置文件的名称相对应 --> <properties> <profiles.active>dev</profiles.a

2021-05-25 10:39:23 287 1

原创 SpringBoot配置多环境

  在日常开发中,我们项目会有多个环境。例如开发环境(develop)、生产环境(production )等。  我们打包时需要经常切换不同的参数,比如说开发环境下的数据库与生产环境连接的数据库,基本都是两个库。那么我们需要经常来回切换参数,非常麻烦!  在这,springboot给我们提供了非常好的支持,那就是多环境配置。我们可以将多种环境一起配置在项目中,只需要执行不同的运行命令,就可以达到切换环境的目的了。第一步:在项目resources目录下建立各个环境配置.yml文件楼主这里配置了三个

2021-05-25 10:26:16 388 2

转载 CSDN Markdown写博客插入空格

在 Markdown 文档中,可以直接采用 HTML 标记插入空格(blank space),而且无需任何其他前缀或分隔符。 1、插入一个空格 (non-breaking space):   &nbsp; 或 &#160; 或 #xA0; 2、插入两个空格 (en space):   &ensp; 或 &#8194; 或 &#x2002; 3、插入四个空格 (em space):   &emsp; 或 &#8195; 或 &#x2003;.

2021-05-25 02:17:26 317 1

转载 解决CSDN转载文章顶部有空白的问题

问题: 在csdn没有一键转载功能,自己重新编写又比较麻烦。经我搜索后发现之前别人写的方法对于目前的csdn需要做些小小的改动 解决方法 1.这里以我的一篇文章为例,我们进入文章页面,然后按F12或者鼠标右键选择检查(谷歌浏览器下,其他浏览器可能是审查元素之类的) 2.选中下面的任意一行然后按Ctrl+F快速搜索在最下面的输入框填入content_views(之前别人说的方法都是选中article_con......

2021-05-24 11:30:44 244 1

转载 Java学习的正确打开方式

在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。 ...

2021-05-24 11:29:17 408 1

原创 工作中常见术语

1.运营运营就是对运营过程的计划、组织、实施和控制,是与产品生产和服务创造密切相关的各项管理工作的总称。从另一个角度来讲,运营管理也可以指为对生产和提供公司主要的产品和服务的系统进行设计、运行、评价和改进的管理工作。2.软件测试(实际输出与预期输出间的比较过程)软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错

2021-05-24 11:23:44 2463 2

原创 Servlet 详解

一.什么是servlet?  Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。二.tomcat和servlet的关系  Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Ser

2021-05-24 11:00:01 412 2

转载 汇总:1. Java基本功

23种设计模式 http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html 提升Java代码性能和安全性 https://blog.csdn.net/Amen_Wu/article/details/8116...

2021-05-24 09:59:47 183 1

转载 Java中常用理解

1.import java和javax有什么区别刚开始的时候 JavaAPI 所必需的包是 java 开头的包,javax 当时只是扩展 API 包来说使用。然而随着时间的推移,javax 逐渐的扩展成为 Java API 的组成部分。但是,将扩展从 javax 包移动到 java 包将是太麻烦了,最终会破坏一堆现有的代码。因此,最终决定 javax 包将成为标准API的一部分。所以,实际上java和javax没有区别。这都是一个名字。...

2021-05-24 08:29:37 223 1

空空如也

空空如也

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

TA关注的人

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