java后端
文章平均质量分 91
SPIN偶尔的神
这个作者很懒,什么都没留下…
展开
-
详解Spring Boot中的JWT令牌管理策略
为了安全起见,使用无状态JWT令牌时可以使用短时限TTL(1分钟)策略,然后这些令牌会在其生存时间内及时刷新。如果服务器不知道用户何时注销,那么可以继续刷新已注销用户的令牌。本文将提供针对这个问题的一种解决方案,使之在保持水平扩展性的同时确保安全性能不受影响。架构设计从图中展示的体系架构可见,每个微服务都有自己的数据库。被撤销的令牌和用户都需要单一(身份)信息源(Single Source of Truth,简称“SSOT”)。数据库需要具有高可用性,包括多主机、热备份及数据库的其他功能。其原创 2022-05-26 16:58:05 · 446 阅读 · 0 评论 -
Spring Cloud OpenFeign 的五个优化小技巧
OpenFeign 是 Spring 官方推出的一种声明式服务调用和负载均衡组件。它的出现就是为了替代已经进入停更维护状态的 Feign(Netflix Feign),同时它也是 Spring 官方的顶级开源项目。我们在日常的开发中使用它的频率也很高,而 OpenFeign 有一些实用的小技巧,配置之后可以让 OpenFeign 更好的运行,所以本文我们就来盘点一下(也欢迎各位老铁评论区留言补充)。一、超时优化OpenFeign 底层内置了 Ribbon 框架,并且使用了 Ribbon 的请求连..原创 2022-05-24 16:27:20 · 454 阅读 · 0 评论 -
Spring Boot 整合多数据源,这才叫优雅~
什么是多数据源?最常见的单一应用中最多涉及到一个数据库,即是一个数据源(Datasource)。那么顾名思义,多数据源就是在一个单一应用中涉及到了两个及以上的数据库了。其实在配置数据源的时候就已经很明确这个定义了,如以下代码:@Bean(name = "dataSource") public DataSource dataSource() { DruidDataSource druidDataSource = new DruidDataSource(); d原创 2022-05-24 16:19:27 · 531 阅读 · 0 评论 -
Spring是如何整合JUnit的?JUnit源码关联延伸阅读
上一篇我们回答了之前在梳理流程时遇到的一些问题,并思考了为什么要这么设计。本篇是《如何高效阅读源码》专题的第十二篇,通过项目之间的联系来进行扩展阅读,通过项目与项目之间的联系更好的理解项目。本节内容: TestRunner的执行流程 Spring如何整合JUnit 在我们使用Spring的项目中进行测试时,一般都需要添加下面一行注解:@RunWith(SpringRunner.class为什么要使用这个注解呢?为了回答这个问题,我们先来了解一下TestRunner...原创 2022-05-24 14:16:39 · 102 阅读 · 0 评论 -
MySQL中的全表扫描和索引树扫描
引言在学习mysql时,我们经常会使用explain来查看sql查询的索引等优化手段的使用情况。在使用explain时,我们可以观察到,explain的输出有一个很关键的列,它就是type属性,type表示的是扫描方式,代表 MySQL 使用了哪种索引类型,不同的索引类型的查询效率是不一样的。在type这一列,有如下一些可能的选项:system:系统表,少量数据,往往不需要进行磁盘IO const:常量连接 eq_ref:主键索引(primary key)或者非空唯一索引(unique ..原创 2022-05-23 13:38:07 · 879 阅读 · 0 评论 -
Spring 原理及知识点总结
1、Spring框架的优势 1)Spring通过DI、AOP和消除样板式代码来简化企业级Java开发 2)Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL 3)低侵入式设计,代码的污染极低 4)独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺 5)Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦原创 2022-05-21 20:40:15 · 266 阅读 · 0 评论 -
MySQL 海量数据优化(理论+实战) 吊打面试官
一、准备表数据咱们建一张用户表,表中的字段有用户ID、用户名、地址、记录创建时间,如图所示OK,接下来准备写一个存储过程插入一百万条数据CREATE TABLE `t_user` ( `id` int NOT NULL, `user_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, `address` varchar(255) DEFAULT NULL, `create_ti原创 2022-05-21 17:08:34 · 182 阅读 · 0 评论 -
【2021年最新版Java校招面试题目合集】
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2.JDK和JRE的区别是什么?JRE: Java Runtime EnvironmentJDK:Java Development KitJ原创 2021-12-07 19:05:26 · 826 阅读 · 0 评论 -
自学java怎么快速入门?
玩Java多年的老司机带你上车全面系统学习Java,并且还能教你如何学习才能在今年拿到一份不错的offer。说到系统全面,就是以目前绝大部分公司招聘要求的知识内容为基准,毕竟我们学习Java都是为了高薪工作,《史记》中说”天下熙熙皆为利来,天下攘攘皆为利往“,为了高薪工作而学习Java技术,这都是人之常情,也是大部分人奋斗的目标。我们先看看市场上招聘Java程序员都需要哪些技术:大家看了上面三家的招聘要求是否发现,目前作为初级Java工程师的要求都是差不多的,主要框架就是SpringMVC、My原创 2021-12-06 19:48:06 · 166 阅读 · 0 评论 -
Java后端学习路线
前言自学/学习路线这样的一期我想写很久了,因为一直想写的全一点硬核一点所以拖到了现在,我相信这一期对不管是还在学校还是已经工作的同学都有所帮助,不管是前端还是后端我都墙裂建议大家看完,因为这样会让你对你所工作的互联网领域相关技术栈有个初步的了解。你们也知道敖丙我是个创作鬼才,常规的切入点也不是我的风格,我毕业后主要接触的都是电商领域,所以这一期我把目前所了解的技术栈加上之前电商系统的经验臆想了一个完整的电商系统,大家会看到很多熟悉的技术栈我相信也会看到自己未接触过的技术栈,我也会对每个技术栈的主要技术点转载 2021-11-30 15:26:06 · 497 阅读 · 0 评论