- 博客(60)
- 收藏
- 关注
原创 若依微服务集成手机短信验证码登陆
为了响应公司项目的特定需求,增强用户体验与安全性,集成手机短信验证码登录功能至基于若依微服务框架开发的应用中,故创作此篇为未来类似项目提供了可借鉴的实施范例。大致可分为这几个阶段:生成验证码并存储至redis缓存中,发送验证码,用户登陆验证。7.nacos配置短信服务密钥。6.nacos配置请求白名单。2.发送手机验证码接口。3.发送手机验证码接口。4.post请求工具类。8.获取手机验证码测试。
2024-07-17 11:52:18 1158
原创 git使用教程——常用命令汇总(附git官网操作手册)
GitHub提供的桌面客户端包括用于最常见的存储库操作的图形用户界面,以及用于高级场景的自动更新的Git命令行版本。Git 是一个开源的分布式版本控制系统,它可以在您的笔记本电脑或桌面上辅助进行 GitHub 活动。同步更改(Synchronize Changes),注册仓库书签并交换版本历史记录,重做提交(Redo Commits),消除错误并创建替代历史记录,创建仓库(开始一个新仓库或从现有URL获取一个)组织变更(为一系列提交命名并合并已完成的工作)同步更改(注册仓库书签并交换版本历史)
2024-07-17 10:49:52 216
原创 ChatGPT 报错:Too many requests in 1 hour. Try again later. ——2024.2.19
ChatGPT 报错:Too many requests in 1 hour. Try again later. ——2024.2.19
2024-02-19 11:44:30 1742
原创 Eclipse离线安装maven、jetty、svn插件;附百度网盘资源链接
链接:https://pan.baidu.com/s/1zt4-K4AvGZ4EnSqp0vfDGA。Eclipse离线安装maven、jetty、svn插件;
2024-02-05 16:52:50 681
原创 Eclipse导入maven项目或者创建maven项目时,报错Could not calculate build plan: Plugin
4.进入本地仓库中的org/apache/maven目录下 ,删除plugins文件夹(可以备份一份),然后进入你创建的maven项目或导入项目的根路径下(pom文件层级),执行命令。问题:Eclipse导入maven项目或者创建maven项目时,报错Could not calculate build plan: Plugin。2.首先先要排除是不是maven配置文件原因:检查自己maven配置文件是否添加阿里云镜像。1.上述问题大概是项目不能加载此maven插件,在pom文件中添加依赖项。
2024-02-05 11:57:31 1174
原创 SpringBoot启动打印banner:佛祖保佑-永不宕机-永无BUG
SpringBoot启动打印banner:佛祖保佑-永不宕机-永无BUG。
2024-01-05 15:25:34 1926
原创 Java多线程并发面试题
要说线程,必须得先说进程进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。Java中的线程分为两类,分别是daemon线程(守护线程)和user(用户)线程。在JVM 启动时会调用 main 函数,main函数所在的线程就是一个用户线程。其实在 JVM 内部同时还启动了很多守护线程, 比如垃圾回收线程。那么守护线程和用户线程有什么区别呢?
2023-09-13 21:01:37 265
原创 9月13日扒面经
获取锁:当一个进程需要获取锁时,它会向Redis发送一个SET命令,将一个特定的键作为锁的标识,并设置一个唯一的值作为锁的持有者标识,同时设置一个过期时间,以防止锁被永久持有。声明异常时,调用栈上的每个方法都需要添加异常的处理逻辑,这样会导致异常处理的代码变得冗长和繁琐,降低代码的可读性和可维护性。反射也称类的自省,在运行状态,任何一个类都可以动态获取它的所有属性和方法,任何属性都可以调用它的所有方法和属性。重写是子类继承父类去重写父类的方法,相同的方法名,相同的参数列表,访问权限必须比父类更好。
2023-09-13 16:41:46 178
原创 9月12扒面经
JDK 1.7:中 ConcurrentHashmap采用了数组+Segment + 分段锁的方式实现。JDK 1.8:中ConcurrentHashmap采用了数组+链表+红黑树的实现来设计,内部采用大量的CAS操作ConcurrentHashMap的底层结构由多个Segment组成,每个Segment都是一个独立的哈希表。每个Segment都维护了一个数组结构,该数组的每个元素都是一个链表或红黑树。
2023-09-12 20:43:06 177
原创 9月8日扒面经
本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别只是虚拟机栈为虚拟机执行 Java 方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的本地(Native)方法服务。当有多个线程等待获取锁时,公平锁会按照先来先得的原则,保证等待时间最长的线程最先获取到锁。它可以看作是当前线程所执行的字节码的行号指示器。方法区是比较特别的一块区域,和堆类似,它也是各个线程共享的内存区域,用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。
2023-09-09 21:57:17 224
原创 9月9日扒面经
在这个场景中,事务T1持有行A的行级锁并等待行B的行级锁,而事务T2持有行B的行级锁并等待行A的行级锁。Java中基本类型和方法的局部变量存储在栈中,它们的值存储在栈帧中,不需要进行垃圾回收,而对象的引用和实例变量则存储在堆内存中,有垃圾回收机制进行自动回收。IOC的基本功能是通过将对象的创建、管理和依赖注入的控制权交给容器中,从而降低应用程序的耦合度,提高代码的可维护性和可测试性。电商系统,产品类(产品打折的方法),继承产品类的图书类,手机类,子类(重新产品打折的方法,不同的折扣)
2023-09-09 21:56:28 274
原创 9月7日扒面经
事务是数据执行的最小单元,不可以被分割事务 A、B 交替执行,事务 A 读取到事务 B 未提交的数据,这就是脏读。在一个事务范围内,两个相同的查询,读取同一条记录,却返回了不同的数据,这就是不可重复读。事务 A 查询一个范围的结果集,另一个并发事务 B 往这个范围中插入 / 删除了数据,并静悄悄地提交,然后事务 A 再次查询相同的范围,两次读取得到的结果集不一样了,这就是幻读。
2023-09-07 22:02:41 228
原创 Java集合面试
ConcurrentHashMap采用锁分段技术,整个ConcurrentHashMap由一个个Segment组成,Segment通过继承ReentrantLock来进行加锁,所以每次需要加锁的操作锁住的是一个segment,这样只要保证每个Segment是线程安全的,也就实现了全局的线程安全。引入红黑树我认为是这样,当产生hash冲突时会形成链表,当数据多了冲突多了,链表会越来越长,造成链化,此时查询特别耗时间,本来时间复杂度为O(1)结构可能达到O(n),引入红黑树可以优化查询。链表用来解决哈希冲突;
2023-09-05 18:42:57 335
原创 Java基础面试题
两个对象的hashCode()相同,equals()不一定为true.因为在散列表中,hashCoding()相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等【散列冲突】
2023-09-04 11:17:06 100
原创 Swagger详解
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网: https://swagger.io/Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。
2023-08-07 16:14:03 136
原创 JWT详解
JWT简称JSON Web Token ,也就是通过JSON形式作为Web应用中的令牌,用于在各方之间安全地将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理。基于传统的Session认证。
2023-08-03 12:11:12 381
原创 跨站脚本攻击(XSS)
XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
2023-08-01 11:56:19 277
原创 瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接
本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的菜品、套餐、订单等进行管理维护。移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发微博、发微信朋友圈都用到了文件上传功能。
2023-07-28 12:31:17 424
原创 前后端项目分离开发
前后端分离开发,就是在项目开发过程中,对于前端代码的开发由专门的前端开发人员负责,后端代码则由后端开发人员负责,这样可以做到分工明确、各司其职,提高开发效率,前后端代码并行开发,可以加快项目开发进度。目前,前后端分离开发方式已经被越来越多的公司所采用,成为当前项目开发的主流开发方式。前后端分离开发后,从工程结构上也会发生变化,即前后端代码不再混合在同一个maven工程中,而是分为前端工程和后端工程。
2023-07-28 12:12:10 1077
原创 Spring和SpringBoot的区别?
在spring中,我们需要手动去配置许多相关的组件和依赖项,而在springboot中,它提供了自动配置功能,可以根据我们的项目配置来自动配置应用程序。它根据类路径上的依赖项目自动配置SpringBean和其他组件,从而减少手动配置的工作。SpringBoot提供了许多“启动器”依赖项,这些依赖项使构建应用程序更加容易,启动器提供了一组与配置的依赖项,可以轻松地添加到我们的项目中。SpringBoot内置了一个内嵌的Web服务器(如Tomcat、Jetty等),我们无需单独安装和配置这些服务器。
2023-07-17 20:05:44 553
原创 nacos配置出错
create config service error!properties=NacosConfigProperties{serverAddr='null'
2023-06-14 14:03:22 256
原创 Spring security详解——学习笔记
Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。用户认证就是判断用于身份是否合法的过程授权: 授权是用户认证通过后,根据用户的权限来控制用户访问资源的过程。拥有资源的访问权限则正常访问,没有权限则拒绝访问。Spring Security是一个能够为基于Spring的企业应用系统声明式(注解)安全访问控制解决方案的安全框架。
2023-05-09 13:31:50 354
原创 Redis详解——学习笔记
Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。
2023-05-06 17:11:08 331
原创 SpringMVC概述
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M: Model、模型层,指工程中的Java的JavaBean,作用是处理数据V: View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据。
2023-04-05 20:39:29 68
原创 JQuery——详解
jQuery,顾名思义,也就是JavaScript 和 查询(Query), 它就是辅助JavaScript开发的js类库。它的核心思想是 write less, do more(写得更少, 做得更多),所以它实现了很多浏览器的兼容问题。1.通过 getElementById()查询出来的标签对象是 Dom 对象2.通过 getElementsByName()查询出来的标签对象是 Dom 对象3.通过 getElementsByTagName()查询出来的标签对象是 Dom 对象。
2022-11-28 20:51:57 165
原创 EL表达式和JSTL标签库详解
EL表达式的全称是:Expression Language. 是表达式语言JSTL标签库全称是指JSP Standard Tag Library JSP标准标签库。是一个不断完善的开放源码的JSP标签库EL表达式主要是为了替换JSP中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个JSP页面变得更加简洁。JSTL主要由五个不同功能的标签库组成
2022-11-28 17:05:28 417
原创 JSP——详解
JSP全称:Java server pages。Java的服务器页面 jsp的主要作用是代替 Servlet 程序回传html 页面的数据。 因为Servlet程序回传html页面程序是一件非常繁琐的事情。开发成本和维护成本都极高。1、Listener监听器它是javaWeb的三大组件之一。javaWeb的三大组件分别是:Servlet程序、Filter过滤器、Listener监听器2、Listener它是JavaEE的规范,也就是接口。
2022-11-28 17:03:41 187
原创 JavaWeb
什么是javaWebjavaWeb是指,所有通过java语言编写可以通过浏览器访问的程序的总称,叫javaWeb;javaWeb是基于请求和响应来开发(b)什么是请求?请求是指客户端给服务器端发送数据,叫请求 Request.(c)什么是响应?响应是指服务器给客户端回传数据,叫响应 Response.(d)请求和响应的关系请求和响应是成对出现的,有请求就有响应Servlet是java接口之一Servlet是运行在服务器端的一个java程序。
2022-11-21 12:30:41 152
原创 JDBC和连接池详细介绍
JDBC使用方法、原理介绍、获取数据库连接的不同方式,Statement和PreparedStatement预处理、API对JDBC的封装、批处理、数据库连接池等
2022-11-08 14:56:32 561
原创 MySQL基础学习——Day5
内容包括索引分类、原理、条件、创建、删除和失效;视图的创建、删除、用法;DBA常用命令,数据导出、数据导入;数据库设计三范式,第一、二、三范式。
2022-11-04 23:00:33 179
原创 MySQL基础学习——Day4
事务简介、提交事务、回滚事务、事务特性、事务四个隔离级别,读未提交read uncommitted、读已提交read committed、可重复读repeatable read、序列化/串行化serialozable
2022-11-03 23:45:12 128
原创 MySQL基础学习——Day3
建表,删表,插入数据,插入日期;(1)非空约束*: not null(2)唯一性约束*: unique(3)主键约束*: primary key (简称PK)(4)外键约束*: foreign key (简称FK)(5)检查约束: check( mysql不支持, oracle支持)
2022-11-02 23:22:35 88
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人