2 ༺鲸落༻

尚未进行身份认证

我要认证

Life is transient

等级
TA的排名 8w+

npm安装leetcode-cli很慢怎么办?

# 更改资源设置npm config set registry https://registry.npm.taobao.org# 若出现权限不够则加上sudosudo npm install -g leetcode-cli

2020-10-26 01:03:42

MybatisPlus自动生成代码工具类

1. 先导入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency>

2020-10-24 11:43:05

解决PC寄存器两个面试问题

1. 使用PC寄存器存储字节码指令地址有什么用?(为什么使用PC寄存器记录当前线程的执行地址呢?)因为CPU需要不停的切换各个线程,这时候切换回来以后就得知道接着从哪开始继续执行,所以JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。如上图所示,三个线程由一个执行引擎来执行,这三个线程看似是并行执行,实际是并发执行,即线程A执行一段时间,再切换到线程B执行一段时间,那这时候我们需要知道线程A执行到哪里,所以,就需要用PC寄存器记录当前线程的执行地址来明确下一条应该

2020-10-19 11:42:12

详谈双亲委派机制(面试常问)

前言Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象,而且,加载某个类的class文件时,Java虚拟机采用的是双亲委派机制,即把请求交由父类处理,它是一种任务委派模式工作原理(1)如果一个类加载器收到了类加载请求,它并不会自己先加载,而是把这个请求委托给父类的加载器去执行(2)如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的引导类加载器;(3)如果父类加载器可以完成类加载任务,就成

2020-10-18 16:03:17

为什么要自定义类加载器?

前言在Java的日常应用和程序开发中,类的加载几乎是由引导类加载器、扩展类加载器、系统类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式为什么要自定义类加载器(1) 隔离加载类在某个应用中需要使用中间件,这个中间件有自己的依赖的jar包,在同一个工程里面,如果引用多个框架的话,有可能会出现某些类的路径一样、类名也相同,这样就会出现类的冲突了,这个时候就需要做一个类的仲裁,像现在主流的容器类的框架一样,它们都会自定义类的加载器,实现不同的中间件隔离,避免类的冲突(2)修改

2020-10-18 13:45:43

JVM两种架构模型的区别

序Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。区别1. 基于栈式架构的特点➢设计和实现更简单,适用于资源受限的系统; .➢避开了寄存器的分配难题:使用零地址指令方式分配。➢指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小,编译器容易实现。➢不需要硬件支持,可移植性更好,更好实现跨平台2. 基于寄存器架构的特点➢典型的应用是x86的二进制指令集:比如传统的PC以及Android的Davlik虛拟机。➢指令集架构

2020-10-16 12:09:04

使用百度云AI实现刷脸登录

前言刷脸登录是基于人工智能、生物识别、3D传感、大数据风控技术,最新实现的登录形式。用户在无需输入用户名密码的前提下,凭借“刷脸”完成登录过程。实现刷脸登录的核心是人脸处理,在人脸处理中有两个概念:人脸检测:检测图中的人脸,并为人脸标记出边框。检测出人脸后,可对人脸进行分析,获得眼、口、鼻轮廓等72个关键点定位准确识别多种人脸属性,如性别,年龄,表情等信息人脸识别(对比):通过提取人脸的特征,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度评分。作为中小型企业,可以采取世面上流行的人工智

2020-10-12 14:25:36

2 | 快速体验服务发现组件Eureka和微服务调用组件Feign

1. 服务发现组件 Eureka1.1 简介Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以

2020-10-09 00:32:08

图解Jwt和shiro认证方式的区别

Jwt的认证方式用户进行登录中,访问微服务中Controller层的登录方法,若认证通过,生成Token(包含用户数据和权限),返回token信息到前端浏览器,然后,前端那边的代码会记录token,使得再去访问微服务的方法时,请求头都会包含token,然后,后端会解析token,校验token和操作权限,值得注意的是整个过程都不记录用户的任何数据,是一个无状态的服务!shiro的认证方式用户登录后,交给后端自定义的Realm域,进行用户名和密码的认证比较,认证通过会产生一个以SessionId为ke.

2020-10-05 19:14:06

37 | (加深印象)SpringBoot整合shiro和redis实现授权、认证和会话管理

前言之前我写过一篇关于shiro的,但时间长了,忘了且感觉写得不是很完整,再写一篇加深印象,这里建议你先看完之前那篇文章,因为这里将不重点介绍shiro的基础知识1. spring和shiro的整合依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</vers

2020-10-05 18:12:08

基于JWT的API鉴权如何实现?

前言如果我们每个方法都去写一段代码,冗余度太高,不利于维护,那如何做使我们的代码看起来更清爽呢?我们可以将这段代码放入拦截器去实现1. Spring中的拦截器Spring为我们提供了org.springframework.web.servlet.handler.HandlerInterceptorAdapter这个适配器,继承此类,可以非常方便的实现自己的拦截器。他有三个方法:分别实现预处理、后处理(调用了Service并返回ModelAndView,但未进行页面渲染)、返回处理(已经渲染了页面)

2020-10-04 16:10:03

解决Jpa经典的noSession问题(基于springboot的项目中)

前言could not initialize proxy - no Session; 基于JPA的实现来分析,就是在进行数据库访问之时,当前针对数据库的访问与操作session已经关闭且释放了,故提示no Session可用。解决在启动类中注入一个Beanpackage com.ihrm.system;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.S

2020-10-04 14:35:35

有状态服务和无状态服务的区别是啥?阿巴阿巴

1. 什么是服务中的状态有状态和无状态服务是两种不同的服务架构,两者的不同之处在于对于服务状态的处理。服务状态是服务请求所需的数据,它可以是一个变量或者一个数据结构。无状态服务不会记录服务状态,不同请求之间也是没有任何关系;而有状态服务则反之。对服务器程序来说,究竟是有状态服务,还是无状态服务,其判断依据——两个来自相同发起者的请求在服务器端是否具备上下文关系。2.无状态服务(常见JWT)无状态请求,服务器端所能够处理的数据全部来自于请求所携带的信息,无状态服务对于客户端的单次请求的处理,不依

2020-10-04 12:08:33

通过JJWT开源类库实现JWT签发和验证,香吗?

1. 什么是TOKEN签发与验证?看上一篇四种常见的认证机制2. 什么是JWT?JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。在Java世界中通过JJWT开源类库实现JWT创建和验证。3. JJWT的快速入门3.1 token的创建(加密)(1)创建maven工程,引入依赖<!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt -->&

2020-10-02 18:02:26

四种常见的认证机制

前言什么是认证?举个栗子,当你登录系统后将你的登录信息记录下来,然后验证你是否有操作某某API的权限1. HTTP Basic Auth(早期)HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避免采用HTT

2020-10-01 14:39:37

通用代码套用(结果返回码+分页返回码+雪花算法代码实现自动生成Id)

1. 结果返回码package com.nsx.common.entity;//公共的返回码public enum ResultCode { SUCCESS(true, 10000, "操作成功!"), //---系统错误返回码----- FAIL(false, 10001, "操作失败"), UNAUTHENTICATED(false, 10002, "您还未登录"), UNAUTHORISE(false, 10003, "权限不足"), SERV

2020-09-20 11:00:35

36 | SpringBoot开启热部署

转载:SpringBoot开启热部署,亲测有效,实用教程一、开启项目静态自动编译点击 File >>> Settings >>> Default Settings >>> Build >>> Compiler 勾选 Build project automatically二、开启动态自动编译同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数,(延时参数也就是代码更改后多

2020-09-06 16:28:50

35 | SpringBoot整合Shiro之MD5盐值加密

前言这篇文章是对上一篇 34 | Spring Boot整合Shiro框架(Shiro简介+实现登录拦截、用户认证、请求授权并整合Mybatis和Thymeleaf)的扩展1. MD5盐值加密和MD5加密的区别当两个用户的密码相同时,单纯使用不加盐的MD5加密方式,会发现数据库中存在相同结构的密码,这样是不安全的。为了实现两个人的原始密码一样,但加密后的结果是不一样的效果,就要使用加了盐的MD5加密方式。其实就好像炒菜一样,两道一样的鱼香肉丝,加的盐不一样,炒出来的味道就不一样。2. 使用步骤2.

2020-09-03 19:02:51

34 | Spring Boot整合Shiro框架(Shiro简介+实现登录拦截、用户认证、请求授权并整合Mybatis和Thymeleaf)

1. Shiro简介1.1 什么是Shiro?Apache Shiro 是一个功能强大且易于使用的 Java 安全框架Apache Shiro 不仅可以用在JavaSE环境,也可以用在JavaEE环境Apache Shiro 可执行身份验证、授权、加密、会话管理、Web集成、缓存等下载地址1.2 有哪些功能?1.3 Shiro架构(外部)从外部来看Shiro,即从应用程序角度来观察如何使用shiro完成工作1.4 Shiro架构(内部)2. 10分钟快速上手2.1

2020-09-02 18:52:15

ERROR 15432 -- template might not exist or might not be accessible by any of the configured Template

一种解决方法:在控制层的方法中加入@ResponseBody@RequestMapping("/unauthorize") @ResponseBody public String unauthorize() { return "你没有权限访问此页面噢"; }

2020-09-02 15:53:30

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取