自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 06.Redis---穿透、击穿、雪崩问题

一、缓存雪崩概念:简单来说就是Redis大量的key集体失效,大量的请求全部都去请求数据库,数据库压力骤增,甚至发生宕机现象就叫雪崩解决方法:处理缓存雪崩简单,在批量往Redis存数据的时候,把每个Key的失效时间都加个随机值就好了,这样可以保证数据不会在同一时间大面积失效,我相信,Redis这点流量还是顶得住的。setRedis(Key,value,time + Math.random() * 10000);二、缓存击穿概念:...

2021-10-20 10:21:42 305 2

原创 05.Redis---架构设计

简介理论上一个Redis可以达到10w的并发,但实际上却远达不到,那么我们如何处理高并发呢?此时我们可以使用多个redis来提高redis的并发处理能力,这些redis如何协同,就需要有一定的架构设计,这里我们首先从主从(Master/Slave)架构进行分析和实现.这篇我来简单说一下三个内容:主从复制、哨兵机制、Redis集群一、主从复制架构图:其中,master负责读写,并将数据同步到salve,从节点负责读操作.主从实践1.启动三台redisdo...

2021-10-19 17:28:42 290

原创 04.Redis---事务处理

一、简介Redis采用了乐观锁方式进行事务控制,它使用watch命令监视给定的key,当exec(提交事务)的时候,如果监视的key从调用watch后发生过变化,则整个事务会失败。也可以调用watch多次监视多个key。注意watch的key是对整个连接有效的,如果连接断开,监视和事务都会被自动清除。当然exec,discard,unwatch命令都会清除连接中的所有监视。Redis保证一个事务中的所有命令要么都执行,要么都不执行(原子性)。如果在发送EXEC命令前客...

2021-10-19 15:39:39 684

原创 03.Redis---Java操作Redis---Jedis

Jedis是Java中操作redis的一个客户端,类似通过jdbc访问mysql数据库。一、基本操作1.添加pom依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.5.2</version></dependency><dependen

2021-10-19 12:04:37 369

原创 02.Redis---数据持久化

一、简介Redis是一种内存数据库,在断电时数据可能会丢失。比如你redis整个挂了,然后redis不可用了,如果没有持久化的话,redis就会丢失所有的数据,如果通过持久化将数据搞一份儿到磁盘上去,然后再定期同步到一些云存储服务上去,那么就可以保证一些数据不丢失,保证数据的可靠性。持久化方式:RDB AOF二、RDB方式持久化Rdb方式是通过手动(save-阻塞式,bgsave-异步)或周期性方式保存redis中key/value的一种机制,Rdb方式一...

2021-10-18 21:09:23 768

原创 01.Redis---基本操作

一、简介百度百科:Redis是一个key-value存储系统(官网:http://redis.io),是一个分布式缓存数据库。常用五种数据类型:String、hash、list、set、sorted_set二、Redis基本操作默认为0号数据库,默认最多有15号数据库,切换数据库:select DBId默认端口号:6379默认登录命令:redis_cli默认没有密码,如需要则开启redis.config的requirepass选项有密码登录命令:redis-.

2021-10-18 19:47:27 259 1

原创 Docker常用命令大全

一、概述百度百科:简介:Docker是一个虚拟化平台( https://www.docker.com),诞生于 2013 年初,基于 Google 公司的 Go 语言进行实现。可以通过虚拟化方式,为应用提供可运行的容器。基于这种方式,可更快地打包、测试以及部署应用程序。现阶段,很多应用软件的安装都在向基于docker方式的安装进行实现。例如mysql,那么为什么不直接在操作系统中安装一个mysql,而是用容器呢?因为,安装MySql过程并不简单,要配置安装源,安装依赖包,对...

2021-10-10 18:43:23 174

原创 微服务---Spring Cloud Alibaba 07(微服务项目---单点登录)

昨天我们的文件上传Demo已经比较完善了,今天我们来学习单点登录,更加的完善它,那么什么是单点登录呢?背景传统的登录系统中,每个站点都实现了自己的专用登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。这样的系统,我们又称之为多点登陆系统。应用起来相对繁琐(每次访问资源服务都需要重新登陆认证和授权)。与此同时,系统代码的重复也比较高。由此单点登陆系统诞生。一、概述百度百科:通俗易懂:单点登录SSO(Single Sign On)说得简单...

2021-10-10 16:50:37 987

原创 微服务---Spring Cloud Alibaba 06(微服务项目---文件上传)

一、创建初始工程结构创建项目父工程pom文件添加依赖springboot springcloud springcloudAlibaba lombok <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> .

2021-10-04 22:27:42 423

原创 微服务---Spring Cloud Alibaba 05(网关)

一、网关概念 出现:我们知道,一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,例如,客户端请求不同的微服务可能会增加客户端代码或配置的复杂性。还有就是每个服务,在调用时都需要独立认证。并且存在跨域请求,也在一定程度上提高了代码的复杂度...

2021-10-04 20:44:51 171

原创 微服务---Spring Cloud Alibaba 04(Sentinel)

在我们日常生活中,经常会在淘宝、天猫、京东、拼多多等平台上参与商品的秒杀、抢购以及一些优惠活动,也会在节假日使用12306 手机APP抢火车票、高铁票,甚至有时候还要帮助同事、朋友为他们家小孩拉投票、刷票,这些场景都无一例外的会引起服务器流量的暴涨,导致网页无法显示、APP反应慢、功能无法正常运转,甚至会引起整个网站的崩溃。我们如何在这些业务流量变化无常的情况下,保证各种业务安全运营,系统在任何情况下都不会崩溃呢?我们可以在系统负载过高时,采用限流、降级和熔断,三种措施来保...

2021-10-04 12:17:55 360 1

原创 微服务---Spring Cloud Alibaba 03(配置中心)

我们知道,除了代码之外,软件还有一些配置信息,比如数据库的用户名和密码,还有一些我们不想写死在代码里的东西,例如像线程池大小、队列长度等运行参数,以及日志级别、算法策略等, 还有一些是软件运行环境的参数,如Java 的内存大小,应用启动的参数,包括操作系统的一些 参数配置…… 所有这些东西,我们都叫做软件配置。以前,我们把软件配置写在一个配置文件中,就像 Windows 下的 ini 文件,或是 Linux 下的 conf 文件。然而,在分布式系统下,这样的方式就变得非常不好管理,并容易出错...

2021-09-21 15:34:54 292

原创 微服务---Spring Cloud Alibaba 02(Nacos)

上一篇讲解了一下他们之间的关系以及概念,这篇来具体实操一下一、Nacos服务注册中的配置1.概述:在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信?如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google)等,...

2021-09-20 18:47:57 241 1

原创 微服务---Spring Cloud Alibaba 01

这两天学习的SpringCloud Alibaba,什么SpringCloud Alibaba呢?我们就需要了解什么是SpringCloud,那什么又是SpringCloud呢?我们就需要了解什么是微服务,那什么又是微服务呢?我们就需要了解什么SAO-------------啊啊啊啊啊啊啊啊啊,这难道就是俄罗斯套娃吗。不,这是一个知识体系,下面我就来简单的介绍一下!一、简介1.SOA百度百科:是不是晦涩难懂呢?,嗯我也是这样认为的。通俗易懂解释 :...

2021-09-20 14:46:21 220

原创 Linux的常用命令及项目的发布

为什么用Linux系统:linux是开源系统,免费; linux由于内部算法复杂安全性高,很少有病毒侵入 linux是多用户、多任务系统,windows是单用户,多任务 linux是模块化、组件化,可以任意关闭不需要的功能,windows只要微软才有此权限 linux系统对硬件支持的要求低,节约成本;目录结构:Linux的常用命令:CD命令:ipaddr 检查IP地址pwd 检查当前的位置tab键 自动补齐(注意唯一性)cd命令是linux中最基本的命令语...

2021-09-15 23:17:36 533

原创 Nginx反向正向代理

一、Nginx简介Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。Nginx是一款轻量级的Web 服务器/反向代理

2021-09-15 22:06:14 358

原创 商城购物后台管理项目

好多天都没更了,这两天在老师的帮助下从零到一完成了一个商城购物后台管理的项目,今天刚刚进行项目发布,完结项目。下面来给大家分享一下项目步骤及知识点,顺带再次自己复习一遍。 由于主攻后端开发的原因,前端页面的搭建只做了解和简单的学习,没有深入去学习,能看懂逻辑即可。一、模块总览1.用户登录用户登录请求数据库进行查询返回标识进行判断是否登陆成功2.用户管理---用户列表用户信息功能属性:id、用户名、电话、邮箱、用户状态、操作(修改、删除)、查找用户、新...

2021-09-14 23:08:08 1704 1

原创 页面登录知识

每次在前端登录,调用前端的服务都会像后端发送一次请求,这就需要我们频繁的登录验证个人信息,这样明显是不切实际的,这时我们就需要一种标记使服务器认得我们。这里我们会使用Session与Cookie的技术了1.SessionSession:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的...

2021-09-01 20:17:47 555

原创 组件化--路由--重定向/转发--跨域问题

一、组件化1.组件的出现: 传统的页面开发,会将大量的HTML/CSS/JS进行引入,但是引入之后结构混乱 不便于管理. 开发维护时 成本较高,所以才有了组件的出现2.组件化思想:在VUE中 可以将一个组件,看作是一个页面. 在其中可以引入独立的样式/JS/HTML 进行单独的管理,且组件可以进行复用,为了保证组件化 相互之间互不干扰,则应该在组件内部 单独定义html/js/css.3.为什么要使用组件:原来用户编辑页面时,需要引入/维护大量的JS/CSS等.如果数量很多,则导致代码结构混

2021-08-31 22:04:10 899

原创 前后端交互Demo练习

前面知识点大概都讲完了,今天来说一下星期天做的前后端交互的Demo,进行知识的汇总,查漏补缺。 这个Demo主要是把数据库中的信息展现到前端页面,用户通过点击按钮进行增删改查的操作。流程图:一、前端页面的搭建工具:HBuilder X语言:HTML、JS、CSS框架:VUE1.前端页面框架的搭建1.1 项目结构vue基本框架搭建<!DOCTYPE html><html> <head> &lt...

2021-08-30 22:19:11 1618

原创 vue与Ajax

1.VUE以前说过了vue的安装配置以及基本结构,今天来说一下它的基本操作1.1 MVVM思想首先要说的就是它的一个重要思想MVVM的思想M: model 数据层V: view 视图层VM: 视图数据的控制层流程:1. Model变化, 虚拟DOM操作内存数据变化. 所以页面变化.2. View变化, 虚拟DOM操作内存数据变化, 数据变化.1.2 var/let/constvar 没有作用域的概念 容易出现安全性问题. 成员变量 let 作用于var类似, 有作.

2021-08-29 19:03:38 3633

原创 SpringMVC参数的传递

1.四种请求方式前面我们说过了SpringMVC,它里面用于接收浏览器请求用的都是@RequstMapping()这个注解可以被所有方式请求,无独立性,以后用独立写法,所以以后改成独立写法,什么注解做什么事。@PostMapping():用于新增、插入 @PutMapping():用于修改 @DeleteMapping():用于删除 @GetMapping():用于查询删除查询是一组,新增修改是一组,而前端常见的请求方式也是这4中,一一对应。2.参数接收普通参数...

2021-08-29 12:46:36 403

原创 MybatisPlus学习

前面说过了Mybatis,那么今天说的MP又是什么呢?1.ORM思想 说起Mybatis和MybatisPlus就必须要说的就是ORM思想:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。 总的来说就是用操作对象的方式来操作数据库,要求通过某种机制,将自己写的对象动态的转化为sql语言,程序员本身不用写...

2021-08-29 11:28:32 245

原创 SpringBoot运行流程及基本用法

前面说了Spring、SpringBoot、Mybatis这三个框架,而SpringBoot是用来整合各种框架的,简单来说它就是框架的框架。特点:创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简化Maven配置 自动配置Spring 提供生产就绪型功能,如指标,健康检查和外部配置pom.xml拆解:要搞清楚SpringBoot运行流程,我们首先就必须要搞清楚的是它的pom.xml文件的构造,下面我们来简单说一下:<?...

2021-08-23 23:29:46 4228

原创 常用的工具

一、MavenMaven[ˈmeɪvn]n.专家; 内行;Maven 是专门用于构建和管理Java相关项目的工具。我对Maven的理解就是使JAVA项目有相同的项目结构,最大的好处就是自动导包了。1.使用步骤 1.去官网下载 2.配置环境变量 3.在settings文件里修改配置,第一个就是下载地址,我用的是阿里云;第二个是本地仓库,就是jar包的位置存放在哪里 4.在IDEA里进行Maven配置。第一个填maven路...

2021-08-22 17:57:01 65

原创 SSM整合项目

昨天星期六,总结了一些今日所学,那么今天就来说一下学完以后做的一个SSM小项目把做的很简单,别喷我啊0.0,这个项目主要是从前端页面根据表单使用户注册账号并存入数据库中,然后用户进行登录再去从数据库中进行数据比对,如果数据库中存在相同数据则登陆成功,否则登陆失败。 一个项目无非就是MVC吗,而我喜欢先做前端页面,因为前端可以接收用户的需求,再又后端去控制,最后拿到数据以及返回,所以我先从前端说起吧。一、前端页面的实现实现语言:HTML、CSS、JS实现工具:HB...

2021-08-22 12:40:37 249

原创 SpringMVC Spring Mybatis小结

距离上次写博客已经过去了一星期,这一个星期学到的知识我都完全没有做笔记,全靠一颗快要生锈的脑子,真感叹我的脑子什么时候怎么这么好了。哈哈哈哈!! 上次我们说到了SpringMVC,而这个星期我有学习了当下火爆的另外两大框架:Spring和Mybatis,并把它们串联整合到了一起,这也要感谢SpringBoot的功劳啊,嗯,感觉脑容量已经趋近于饱和了,废话不多说,我要开始释放(装逼)了。一、Spring1.概念它想把全球最好的技术组合到一起,为企业...

2021-08-21 17:17:22 498 1

原创 MVC的学习与实战

随着前端,后端,数据库学习的完成,紧接着就是框架了,最近学习了SpringMVC,可以很好的把前后端数据库联系起来,用分层的思想来完成工作。SpringMVC简介SpringMVC分别对应着的是M:Model数据模型、V:View视图、C:Controller控制层。将软件分层达到松耦合的效果,这样进行分层的结构,使得代码分离结构清晰,各层代码,各司其职,易于开发大型项目,这样的设计思想在任何软件的开发过程中都因该适用,各个部分相互独立,互不干扰,都做自己最擅长的的部分,提高代码的复用性!工

2021-08-15 19:59:51 314

原创 反射--简单入门讲解

一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.反射的前提就是获取到类的字节码对象,有以下三种方式(以Student类来举例): //第一种:通过类的路径来

2021-08-14 14:27:47 164

原创 VUE简单了解学习!

VUE:是一个基于JavaScript的渐进式前端框架,更符合中国人习惯,在中国很多大型一线企业中广泛应用。特点:一个轻量级的mvvm框架,双向绑定,数据动态更新。是一个渐进式框架,其核心思想是数据驱动、组件化的前端开发原生html页面是通过js 操作的是dom,而vue.js操作的是数据。和传统前端开发开发的关注点完全不同,传统方式关注的是都像的document结构的api,而vue关注的是数据。优点显而易见,从而屏蔽了使用复杂晦涩难记的dom结构api。渐进:按需搭建,需要什么搭建什么功

2021-08-13 00:09:56 135

原创 前端知识的学习!

静态网页:<title>标签显示网页的名字。<body>标签里写网页显示的内容。<H1>-<H6>标题标签,从大到小。<br>换行<ul><li>列表标签,无序排列,自动换行。<ol><li>列表标签,有序排列,自动换行。<img>图片标签,src里写图片地址,一般都为相对路径,便于移植。<a></a>超链接标签,href里写要跳转.

2021-08-09 08:54:12 88

原创 JDBC的学习!

一、什么是JDBCJDBC(Java DataBase Connectivity) Java数据库连接 其实就是利用Java语言(Java程序)连接并访问数据库的一门技术二、为什么要学习JDBC之前我们可以通过 CMD窗口 或者 通过 Navicat/Sqlyog等软件 连接数据库, 对数据库中的数据进行增删改查操作. 但是,将来在企业开发中,更多的是通过程序来连接数据库, 而我学的是Java开发,通过Java程序连接数据就必须用到JDBC这门技术...

2021-08-07 15:22:47 169

原创 算法之路---爬楼梯例题

爬n阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方式!这是刷帖子的时候发现的力扣的一道题,首先先来观察这道题的规律,第一阶有一种方式,第二阶有两种方式,第三阶有三种方式,第四阶有五种方式,第五阶有八种方式。到这里规律已经很明显了,那就是第n阶的方式为n-1阶+n-2阶的和! 规律出来了,我第一思路就是递归。代码如下 private static int palouti2(int n) {//时间O(2^n) 空间O(n) i...

2021-08-06 20:13:40 297 1

原创 MySql成功完结

前两天把mysql大概都学完了

2021-08-01 20:55:37 206

原创 算法之路---二分例题

来自力扣的一道题给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。我刚开始的思路是循环遍历一一比较,如果找到返回下标,否则把目标值添加到数组中进行排序查找并返回下标!!!!!!下面是我看官方思路写出来的,用二分,mid和目标值比较,相等则返回下标,否则返回left就是要插入的位置了。class Solution { public int searchInsert(int[] nums, int target) {

2021-07-29 23:16:40 89

原创 算法之路---冒泡排序

今天基本把mysql语句看完了,后面的比较考验自己的逻辑能力吧。至于数据库底层原理和优化这些还没有看呢!今天写了一个冒泡排序,算是复习了一下以前的知识吧!package cn.tedu.sort;import java.util.Scanner;public class Maopao { public static void main(String[] args) { System.out.println("请输入排序的个数"); int s = new

2021-07-29 22:07:48 122

原创 算法之路---双指针数组反转

class Solution { public int[] sortedSquares(int[] nums) { int[] a=new int [nums.length]; for(int i=0;i<nums.length;i++){ a[i]=nums[i]*nums[i]; } Arrays.sort(a); return a; }}简单的自己做了出来,基本有了了解.

2021-07-28 00:03:42 304 1

原创 算法之路---二分查找

class Solution { public int search(int[] nums, int target) { int left=0,right=nums.length-1; while(left<=right){ int mid=(right+left)/2; if(nums[mid]==target){ return mid; }else if(nums[mid.

2021-07-26 22:33:25 160

原创 JavaSE成功完结

JavaSE最近终于学完了,概念和逻辑性的东西都挺简单的,就是API背的有些烦人。 距离大厂之路又进了一步,虽然路途遥遥无期(哭),但我还是充满信心的在冲刺,我也不知道什么时候我的劲头会消失,但趁现在还有还是要拼尽全力啊! 这里简单说一下所学把,算是给自己的Java基础一个小交代,前面阶段一点的简单说一下,就不具体赘述了(哈哈哈,绝对不是因为它们太简单或者我快忘了0.0)。1.首先就是环境了,没有这个啥也干不了啊,下载好后记得去系统的高级设置里新建JA...

2021-07-25 23:01:52 124 1

空空如也

空空如也

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

TA关注的人

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