自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JWT的介绍与使用

一、什么是jwt​ 来自官方的回答:​ JSON Web Token (JWT) 是一个开放标准 ( RFC 7519 ),它定义了一种紧凑且自包含的方式,用于在各方之间作为 JSON 对象安全地传输信息。该信息可以被验证和信任,因为它是经过数字签名的。JWT 可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。​ 虽然 JWT 可以加密以在各方之间提供保密,但我们将重点关注签名令牌。签名令牌可以验证其中包含的声明的完整性,而加密令牌则对其他方隐藏这些声明。当使用公钥/

2021-06-01 14:55:40 437

原创 Redis入门小案例

Redis的入门案例!我们先看一下入门案例的小小要求!​ 假如你是一个java用户,请定义一个用户信息结构体,然后使用fastjson对用户信息对象进行序列化,然后将序列化的对象用jedis存入redis中。接着用jedis将刚刚存入的用户信息从redis中取出,再经过fastjson反序列化后输出到控制台上!​ 在我简单地学习了redis基础知识之后,《Redis深度历险》这本书给我出了这样一道思考题,我就把它当作我入门redis的最基本案例了。在题中已经很清楚的给出了提示和要求,主要有几点:用

2021-05-27 14:51:58 371

原创 计算机网络——应用层

1.在浏览器上输入一个网站,整个过程?

2021-05-07 17:46:30 108

原创 RSA的介绍与使用

RSA加密、解密、签名、验签的原理及方法一、RSA加密简介RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。二、RSA加密、签名区别加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的

2021-04-14 10:24:44 1359

原创 oauth2的使用及与解决token存储问题

一、授权服务器的定位一言而概之:就是为客户端产生一个Token如图:二、授权服务器的实现2.1 添加依赖<!-- 服务发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifa

2021-04-13 18:12:39 4667 1

原创 gateway网关的介绍与使用

一、API网关介绍​ API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。网关应当具备以下功能:Ø 性能:API高可用,负载均衡,容错机制。Ø 安全:权限身份认证、

2021-04-13 16:53:41 2210

原创 nacos的基本使用

nacos服务的注册与发现1.准备nacos注册中心使用docker打包启动去github上下载nacos的jar包启动nacos的默认端口是8848nacos启动后访问时需要加上项目名nacos默认的账号密码是 nacos nacos2.将服务注册上nacos2.1 导入依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-clo

2021-04-13 11:47:18 582

原创 nacos作配置中心

1、添加依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring.cloud.starter.alibaba.nacos.config</artifactId> </dependency> <!-- 这里的版本根据父依赖的版本,我的版本是2.2.1.RELEASE-->2、nacos上添加配置文件data id

2021-04-12 10:52:36 141

原创 JMM内存模型与volatile关键字

jmm模型模型概览java线程内存模型,即jmm在运行时会将要加载的共享变量从主内存复制一份到各个线程的工作内存中成为共享变量副本,而不会直接操作主内存中的共享变量。代码体现public class VolatileVisibilityTest { private static boolean initFlag = false; public static void main(String[] args) throws InterruptedException {

2021-04-09 16:39:31 115

原创 Sentinel介绍与使用

Sentinel介绍与使用一、什么是SentinelSentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。Sentinel 是面向微服务的轻量级流量控制框架,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel可以作为Hystrix的替代品,为系统提供服务熔断和服务降级的功能。服务熔断:根据保险丝的熔断是一个原理,当调用目标服务大量超时和失败,这时候应该熔断掉该服务的调用,从而快速释放资源,这段时间所有对其调用都是

2021-04-08 11:43:19 1138

原创 docker的安装以及前后端代码打包

安装打开帮助文档#1. 卸载久的版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-l.

2021-03-31 11:38:18 381

原创 工厂模式和单例模式

我们为什么要学习设计模式?1.复用解决方案: 通过复用已经公认的设计,能够在解决问题时取得先发优势.避免重蹈覆辙.您是是否也有类似疑虑:几个项目下好像解决方案大体可以公用.但是就是没有总结.工作好像一直在重复2. 确定通用术语:开发中的交流和协作都需要共同的词汇其础和对问题的共识.如果交流双方都学习过设计模式交流起来就会十分的舒服.不知道你有没有想表达又表达不清楚的设计思路,或者自己表达得明白但对方又误解了你的意思了呢?看了设计模式你也许可以找到你想要的答案3. 改善团队的沟通和个人学习..

2021-03-19 15:07:09 72

原创 eureka的小demo

首先使用微服务的话要有一些概念,分为注册中心,服务提供者和服务消费者三种类型。一、首先先创建一个eureka服务注册模块导入依赖web工程,以及cloud依赖是必要的<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId>

2021-03-07 21:58:45 193

原创 微信扫码登录demo

微信扫码登录demo一、构建项目环境1、pom依赖至少有以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>

2021-03-06 17:18:57 785

原创 统一返回格式

首先是一个统一返回格式的主类ApiResult.java@Data@NoArgsConstructor@AllArgsConstructorpublic class ApiResult { private int code; private String msg; private Object data; public ApiResult(ApiEnum apiEnum,Object data) { this.code = apiEnum.getC

2021-03-02 09:59:53 112

原创 vue的介绍与学习

Vuehtml+css+jsvue是JavaScript的框架简化了dom操作网络通信:axios页面跳转:vue-router状态管理:vuexvue-ui:ICEES6语法let和varlet可以看成更完美的varvar的作用域没有限制,导致使用var变量时数值不准确(例如for循环中i直接会遍历到最大值),使用函数闭包可以解决这个问题,因为函数有作用域。ES5之前因为if和for都没有块级作用域的概念,所以很多时候,我们都必须借助于function的作用域来解决应用外面变量的问

2020-12-03 00:02:19 322

原创 274.H指数

给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。(其余的 N - h 篇论文每篇被引用次数 不超过 h 次。)例如:某人的 h 指数是 20,这表示他已发表的论文中,每篇被引用了至少 20 次的论文总共有 20 篇。示例:输入:citations = [3,0,6,1,5]输出

2020-09-17 15:42:29 142

原创 442.数组中重复的数据

给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]思路:1.排序(为什么可以不用排序?)2.遍历数组3.用索引法将该值减1得其索引,然后将该值变为负数4.当下一个数用上述算法执行后,若小于0则说明重复。代码如下:class Solution { public Li

2020-09-15 10:14:13 59

原创 645.错误的集合

集合 S 包含从1到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组 nums 代表了集合 S 发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是 [2, 10000]。给定的数组是无序的。思路:1.首先排序2.然后遍历数组,当nums[i]=nu

2020-09-15 01:20:55 83

原创 Mybatis的介绍

第一部分mybatis1.概念问题:什么是mybatis,它是怎么工作的?​ MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。知识点:web项目基本的六层(从下往上):​ 显示层​ 控制层​ 业务层​ 数据操作层​ 持久化层​ 数据层​ mybatis主要做下面这三层,数据层、持久化层、数据操作层!理解:mybatis就是jdbc的二次封装,打通java(面向对象)和sql(面向结构)语言。知识点:mybatis

2020-09-09 14:55:50 327

原创 628.三个数的最大乘积(简单

628.三个数的最大乘积(简单)给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24**思路:**这道题很重要的一个分类讨论就是,当数组中存在负数的时候。1.都是负数,那还是最大的三个数乘积2.两个负数一个正数,最小的两个负数和最大的正数乘积3.只有两个正数,那会剔除一个正数,变成情况24.三个正数,即最大三个正数乘积了代码如下:import java.lang.refle

2020-09-06 08:16:26 155

原创 495.提莫攻击(中等)

495.提莫攻击(中等)在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。示例1:输入: [1,4], 2输出: 4原因: 第 1 秒初,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持 2 秒钟,直到第 2 秒末结束。第 4 秒初,提莫再次攻击艾希,使得艾希获得另外 2 秒

2020-09-06 07:55:43 98

空空如也

空空如也

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

TA关注的人

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