自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

怪咖的博客

技术分享、学习、温故知新

  • 博客(129)
  • 收藏
  • 关注

原创 Spring5框架

IoC容器1、IoC底层原理1.1、什么是IoC控制反转,把对象创建和对象之间的调用过程,交给spring进行管理使用IoC的目的:为了降低耦合IoC底层原理:1、xml解析、工厂模式、反射2、IoC接口(BeanFactory)1、BeanFactory:IoC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用加载配置文件时候不会创建对象,在获取对象才去创建对象2、ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能。

2021-09-18 01:53:26 146

原创 SpringMVC

一、SpringMVC简介1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如Student、User等一类称为业务处理Bean:指service或dao对象,专门用于处理业务逻辑和数据访问V:View,视图层,指工程中的html或jsp页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servl

2021-09-18 01:49:55 158

原创 Redis主从复制

Redis主从复制概念:主从复制,是指将一台Redis服务器的数据,复制到其他的redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slaver/Follower);数据的复制是单向的,只能由主节点复制到从节点。Master以写为主,Slaver以读为主。主要作用:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速故障恢复;实际上是一种服务的冗余。3、负载均衡:在主从复制的基础上

2020-12-15 09:03:02 131

原创 Redis实现订阅发布

Redis实现订阅发布subscribe channel[channel…]订阅给定的一个或多个频道的信息127.0.0.1:6379> SUBSCRIBE maple # 订阅Reading messages... (press Ctrl-C to quit)1) "subscribe"2) "maple"3) (integer) 1# 等待读取推送的消息1) "message"2) "maple" # 来自哪个频道的消息3) "hello maple" # 消息内容1)

2020-12-14 13:17:42 135

原创 Redis持久化

Redis持久化RDB什么是RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时将快照文件直接读取到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程,主进程是不进行任何的IO操作的。这确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF更加高效。RDB的缺点是最后一次持久化后的数据可能

2020-12-14 13:17:08 115

原创 Redis事务操作

Redis事务操作原子性:要么同时成功,要么同时失败Redis单条命令是保证原子性的,但是食物不保证原子性。Redis事务的本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行。一次性、顺序性、拍他性。Redis事务没有隔离级别的概念。所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行。Redis事务开启事务命令入队执行事务127.0.0.1:6379> multi # 开启事务OK127.0.0.1:6379> s

2020-12-14 13:15:12 92

原创 Redis的五大数据类型

Redis的五大数据类型核心:redis是将所有的数据全部放在内存中的,所以说使用单线程区操作效率是最高的,多线程(CPU上下文会切换:耗时),对于内存系统来说,如果没有上下文切换效率就是最高的。多次读写都是在一个CPU上的,在内存情况下,就是最佳方案。redis中文网址:http://www.redis.cn/Redis-Key127.0.0.1:6379> set name maple # set keyOK127.0.0.1:6379> keys * # 查看所有key1

2020-12-14 13:14:25 137

原创 SpringCloud~~~【Hystrix】

SpringCloud~~~【Hystrix】Hystrix是一种用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能保证在一个依赖出现问题的情况下,不会导致整体服务的失败,避免级联故障,以提供分布式系统的弹性。断路器本身是一种开关装置,当某个服务发生故障之后,通过断路器的故障监控,向调用方返回一个符合预期的、可处理的备选响应(Fallback),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、

2020-12-14 10:41:55 82

原创 SpringCloud~~~【OpenFeign】

SpringCloud~~~【OpenFeign】Feign是一个声明式的web服务客户端,让编写Web服务客户端变得非常容易,只需要创建一个接口并在接口上添加注解即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCj3zRs0-1607913648886)(en-resource://database/2257:1)]使用步骤[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-okBRjT2D-1607913648889)(en-res

2020-12-14 10:41:10 61

原创 SpringCloud~~~【Ribbon】

SpringCloud~~~【Ribbon】LB负载均衡将用户的请求平摊到多个服务上,从而达到系统的HA(高可用)常见的负载均衡软件Nginx,LVS,硬件F5等Ribbon本地负载均衡客户端和Nginx服务端负载均衡的区别:Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。Ribbon本地负载均衡,在调用微服务接口的时候,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。集中式L

2020-12-14 10:40:31 68

原创 SpringCloud~~~【Consul】

SpringCloud~~~【Consul】Consul简介https://www.consul.io/intro/index.html分布式的服务发现和配置管理系统,go语言开发的。提供了微服务系统中的服务治理、配置中心、控制总线等功能。优点:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议,支持数据中心的WAN集群,提供图形界面,跨平台。下载地址:https://www.consul.io/downloads中文地址:https://www.springcloud.c

2020-12-14 10:39:58 93

原创 SpringCloud~~~【Zookeeper】

SpringCloud~~~【Zookeeper】搭建payment8004服务application.yml#8004表示注册到zookeeper服务器的支付服务提供者端口号server: port: 8004spring: application: name: cloud-provider-payment cloud: zookeeper: connect-string: 172.16.231.139:2181启动类:@SpringBootAppl

2020-12-14 10:39:20 71

原创 SpringCloud~~~【Eureka】

SpringCloud~~~【Eureka】RestTemplate完成远程调用的接口封装,使用方法,建立config/ApplicationContextConfig配置类@Configurationpublic class ApplicationContextConfig { @Bean public RestTemplate getRestTemplate(){ return new RestTemplate(); }}接下来在controller

2020-12-14 10:38:24 96

原创 Spring个人总结

轻量级JavaEE解决方案。设计模式?工厂设计模式1、概念:通过工厂类,创建对象2、好处:解耦合Spring的核心APIApplicationContext1、作用:Spring提供的ApplicationContext这个工厂,用于对象的创建2、好处:解耦合ApplicationContext接口类型1、接口:屏蔽实现的差异2、非web环境:ClassPathXmlApplicationCntext3、web环境:XmlWebApplicationContext细节

2020-06-01 09:55:32 203

原创 MQ之ActiveMQ

1.ActiveMQ主要作用解耦削峰异步

2020-05-26 11:26:09 358

原创 SSM整合的xml文件配置

applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/beans http://www.

2020-05-12 20:36:08 363

原创 项目中Redis常见问题

1.缓存在高并发和安全压力下的一些问题缓存击穿是某一个热点key在高并发访问的情况下,突然失效,导致大量并发打进mysql数据库的情况如何解决?使用redis数据库的分布式锁,解决mysql的访问压力问题。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,并且处于容错考虑,我们没有将这次查询的null写入缓存,这将导致这个不存在的...

2020-04-23 17:37:21 384

原创 MySQL--------SQL基础应用3

# 1,排序查询/* 语法: select 查询列表 from 表 [where 筛选条件] order by 排序列表 [asc|desc] 特点: 1,asc代表的是升序,可以省略,desc代表的是降序 2,order by子句中可以支持单个字段、多个字段、表达式、函数、别名 3,order by子句一般是放在查询语句的最后面,limit...

2020-04-22 03:12:15 105

原创 MySQL--------SQL基础应用2

基础查询/*语法:select 查询列表 from 表名;特点:1,查询标中的字段、常量值、表达式、函数2,查询的结果是一个虚拟表格*/SELECT last_name FROM employees;# 查询表中的多个字段SELECT last_name,salary,email FROM employees;#-----------------------------...

2020-04-21 03:18:43 98

原创 SpringBoot异常处理

一、SpringBoot异常处理方式1、SpringBoot中异常处理提供了五种处理方式1.1.自定义错误页面SpringBoot默认的处理异常机制:SpringBoot默认已经提供了一套处理异常的机制。一旦程序中出现了异常SpringBoot会向/error的url发送请求。在SpringBoot中提供了一个叫BasicExceptionController来处理/error请求,然后跳转...

2020-04-15 22:06:52 487

原创 Dubbo和zookeeper

1 dubbo的基本概念调用关系:服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注册中心(Registry):注册中心返...

2020-04-14 02:56:28 334

原创 Day01【环境搭建】

本项目是根据学习尚硅谷项目所写个人笔记。希望自己能够熟练掌握~环境搭建准备sql文件:CREATE DATABASE `project_crowd` CHARACTER SET utf8;use project_crowd;drop table if exists t_admin;create table t_admin(id int not null auto_increment...

2020-04-10 20:16:13 134

原创 JWT

1.1.数据格式JWT包含三部分数据:Header:头部,通常头部有两部分信息:声明类型,这里是JWT我们会对头部进行base64编码,得到第一部分数据Payload:载荷,就是有效数据,一般包含下面信息:用户身份信息(注意,这里因为采用base64编码,可解码,因此不要存放敏感信息)注册声明:如token的签发时间,过期时间,签发人等这部分也会采用base64编码...

2020-03-22 13:35:28 188

原创 Elasticsearch(三) Spring Data Elasticsearch

5.Spring Data ElasticsearchElasticsearch提供的Java客户端有一些不太方便的地方:很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的需要自己把对象序列化为json存储查询到结果也需要自己反序列化为对象因此,我们这里就不讲解原生的Elasticsearch客户端API了。而是学习Spring提供的套件:Spring Dat...

2020-03-05 18:06:52 454 3

原创 Elasticsearch(二) 使用

2.操作索引2.1.基本概念Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:索引(indices)--------------------------------Databases 数据库​ 类型(type)-----------------------------Table 数据表​ 文档(Document...

2020-03-04 21:08:31 164

原创 Elasticsearch(一) 安装和配置

1.1.简介1.1.1.ElasticElastic官网:https://www.elastic.co/cn/1.1.2.ElasticsearchElasticsearch官网:https://www.elastic.co/cn/products/elasticsearchElasticsearch具备以下特点:分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeep...

2020-03-04 20:51:01 593

原创 FastDFS

1.Linux下使用FastDFS1.1.1.安装gccGCC用来对C语言代码进行编译运行,使用yum命令安装:yum -y install gcc后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下yum install -y unzip zip1.1.2.安装libeventyum -y install libevent1.1.3.安装libfas...

2020-02-29 18:10:52 154

原创 跨域问题。

1.什么是跨域跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com如果域名和端口都相同,但是请求路径不同,不属于跨域,如:www....

2020-02-27 19:09:35 1453

原创 Vue ----【02】

1.创建Vue实例每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:var vm = new Vue({ // 选项})在构造函数中传入一个对象,并且在对象中声明各种Vue需要的数据和方法,包括:eldatamethods2.模板或元素每个Vue实例都需要关联一段Html模板,Vue会基于此模板进行视图渲染。我们可以通过el属性来指定。例如...

2020-02-26 15:48:48 266 1

原创 Vue ----【01】

1.创建工程创建一个新的空工程:然后新建一个module:选中static web,静态web项目:位置信息:2.安装vue2.1.下载安装下载地址:https://github.com/vuejs/vue可以下载2.5.16版本https://github.com/vuejs/vue/archive/v2.5.16.zip下载解压,得到vue.js文件。2.2.使用...

2020-02-26 12:22:22 122

原创 ES6部分语法

1.let 和 const 命令var之前,js定义变量只有一个关键字:varvar有一个问题,就是定义的变量有时会莫名奇妙的成为全局变量。例如这样的一段代码:for(var i = 0; i < 5; i++){ console.log(i);}console.log("循环外:" + i)打印的结果letlet所声明的变量,只在let命令所在的代码...

2020-02-25 21:07:10 110

原创 MySQL--------SQL基础应用

1、常用SQL分类DDL:数据定义语言DCL:数据控制语言DML:数据操作语言DQL:数据的查询语言2、数据类型、表属性、字符集2.1 数据类型2.1.1 作用保证数据的准确性和标准性。2.1.2 种类数值类型tinyint : -128~127int :-2^31~2^31-1说明:手机号是无法存储到int的。一般是使用char类型来存储收集号字符...

2020-01-04 03:41:52 140

原创 MySQL------------01

1.创建软件目录:[root@db01 ~]# mkdir -p /app/上传软件到此目录2.解压并改名为mysql[root@db01 app]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql[root@db01 app]# ls -l /app/mysql/total 36drwxr-xr-x 2 root root 4096...

2020-01-04 01:58:05 77

原创 SSM环境整合

SSM环境整合1、搭建整合环境:整合的思路先搭建整合的环境先把Spring的配置搭建完成再使用Spring整合SpringMVC框架最后使用Spring整合MyBatis框架第一步:创建数据库create database ssm;use ssm;create table account( id int primary key auto_increment, ...

2020-01-02 18:08:59 222

原创 SpringMVC学习笔记

三层架构表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型业务层:处理公司具体的业务逻辑的持久层:用来操作数据库的MVC模型MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。Model:数据模型,JavaBean的类,用来进行数据封装。View:指JSP、HTML用来展示数据给用户Controller:用来接...

2020-01-01 17:46:28 129

原创 Spring学习笔记

Spring 框架的概述以及Spring中基于XML的IOC配置/** * 获取spring的IoC核心容器,并根据id获取对象 * ApplicationContext的三个常用实现类: * ClassPathXmlApplicationContext: 它可以加载类路径下的配置文件,要求配置文件必须在类路径下,不在的话加载不了。 * FileSystemXm...

2019-12-09 09:33:03 118

原创 Java算法学习笔记

Java算法学习笔记一、线性结构和非线性结构线性结构1,线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2,线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的。3,链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。4,线性结构常见的有:数组、队列、...

2019-09-16 06:18:58 125

原创 Mybatis

1,三层架构2,持久层3,入门mybatis环境搭建​ 第一步:创建maven工程并导入坐标​ 第二步:创建实体类和dao的接口​ 第三步:创建Mybatis的主配置文件————SqlMapConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBL...

2019-09-12 14:58:06 129

原创 Java框架:MyBatis(五)

动态SQLif和whereIf标签:作为判断入参来使用的,如果符合条件,则把if标签体内的SQL拼接上注意:用if进行判断是否为空时。不仅要判断null,还要判断空字符串" "Where标签:会去掉条件中的第一个and符号。...

2019-09-06 07:07:29 92

原创 Java框架:MyBatis(四)

MyBatis的映射文件输入映射ParameterType1,传递简单类型2,传递POJO对象3,传递POJO包装对象4,传递Map对象输出映射resultType/resultMap1,resultType使用resultType进行结果映射时,查询的列名和映射的POJO属性名完全一致,该列才能映射成功。如果查询的列名和映射的POJO属性名全部不一致,则不会创建POJO对...

2019-09-06 04:05:45 97

空空如也

空空如也

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

TA关注的人

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