自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android Studio SDK无法勾选安装的解决方案

这两天帮助学妹安装android studio安装SDK时无法勾选,记录一下最终解决办法。头大。

2023-12-03 20:31:34 664

原创 使用Redis管道进行查询接口性能优化

在我们的正常项目开发过程中,我们会通过Redis缓存数据,来帮我们进行异步任务,分担外部的请求压力但是Redis缓存也有一定的限制,因为我们在向请求过来时,Redis客户端都要向服务端发送一次请求,相应的Redis就必须执行一次命令并返回数据给客户端在这之中,每一次请求都会走一次网络,都会产生一次网络IO,同样的也就会造成一定程度上的延迟,在低并发时,影响并不大,但是在高并发情况下,就会对Redis的服务端产生巨大的压力。

2023-09-25 09:22:39 295

原创 IO模型学习

一个原则:操作系统将内存划分为两部分:一个是内核空间,一个是用户空间。在linux操作系统中,内核模块运行在内核空间,相应的进程处在内核态;用户程序运行在用户态,对应的进程处于用户态。内核态的进程可以访问内核空间,也可以访问硬件设备(磁盘,网卡等)调用系统的一切资源,用户态的进程(tomcat,redis等等)没有这样的权限,也不能直接调用内核代码定义的函数。并且每个用户态的进程都有一个单独的用户空间,他要想拿到内存或磁盘中的数据,只有将进程切换到内核态然后向内核发出指令,完成调用系统资源之类的操作。

2023-09-24 21:16:17 176

原创 [JAVA基础]自动拆装箱NPE问题

当把字面量转换成包装类的时候会自动装箱 比如: Integer a = 1; Integer b = 1; 当你对包装类的对象进行运算(如加法、减法等)时,Java会自动进行拆箱操作。拆箱是将包装类型的对象转换为相应的基本类型的过程。这使得你可以在使用包装类对象的地方进行运算,而无需显式地调用、等方法来获取基本类型的值。 当进行以下运算时,会自动触发拆箱操作:例如: 在这个例子中,和对

2023-08-03 09:23:07 236

原创 【JAVA基础】原码,反码,补码

因为使用原码进行加法的运算可以实现,但是要是去进行减法的运算很困难,计算机需要进行很多操作,所以想用加法来替代掉减法使用加法来实现减法。-2 的源码是 10000010 反码(除符号位全部取反)是 11111101。两者相加 (1)00000001 需要把溢出的最高位放到最后去。所以3 的源码是 00000011 反码也是 00000011。正数的 源码反码都一样 符号位 1表示负数 0表示正数。因此 产生了补码 补码就是 给反码+1。很简单 就是本身翻译成二进制。

2023-08-03 09:01:53 94

原创 【vue基础学习】API风格

一、选项式 API使用选项式 API,我们可以用包含多个选项的对象来描述组件的逻辑,例如data、methods和mounted。选项所定义的属性都会暴露在函数内部的this上,它会指向当前的组件实例。 你也可以理解成这是vue2的写法 把逻辑部分拆分成不同的选项 有数据 方法 生命周期钩子函数<script>export default { // data() 返回的属性将会成为响应式的状态 // 并且暴露在 `

2023-07-16 14:38:21 598

原创 [VUE学习]权限管理系统前端vue实现9-动态路由,动态标签页,动态面包屑

在总体布局页面添加router。

2023-07-09 20:26:56 1341

原创 [VUE学习]权限管理系统前端vue实现8-右上角用户头像显示实现

也就是说此时addRoutes()已经完成啦,找到对应的路由之后,接下来将执行前往对应路由的beforeEach((to, from, next) ,因此需要用代码来判断这一次是否就是前往对应路由的beforeEach((to, from, next),如果是,就执行next()放行。在addRoutes()之后第一次访问被添加的路由会白屏,这是因为刚刚addRoutes()就立刻访问被添加的路由,然而此时addRoutes()没有执行结束,因而找不到刚刚被添加的路由导致白屏。因此next({ …

2023-07-09 20:06:27 467

原创 [VUE学习]权限管理系统前端vue实现8-右上角用户头像显示实现

在store里面添加代码。

2023-07-09 19:57:51 1266

转载 vue路由守卫,动态路由刷新白屏

也就是说此时addRoutes()已经完成啦,找到对应的路由之后,接下来将执行前往对应路由的beforeEach((to, from, next) ,因此需要用代码来判断这一次是否就是前往对应路由的beforeEach((to, from, next),如果是,就执行next()放行。其实在路由守卫中,只有next()是放行,其他的诸如:next(‘/logon’) 、 next(to) 或者 next({ …但是这个路由守卫中判断了如果要去的地方是’/home’,就执行next(‘/logon’),

2023-07-09 18:19:23 194

原创 [VUE学习]权限管理系统前端vue实现7-左侧动态权限菜单

为什么要进行json 和 字符串转化?因为会话只能存储字符串。

2023-07-09 11:31:22 424

原创 【vue学习】权限管理系统前端实现6-主页面布局

【代码】【vue学习】权限管理系统前端实现6-主页面布局。

2023-07-09 11:06:54 445

原创 【vue学习】权限管理系统前端实现5-登录功能记住密码功能实现

的作用是将数据包装成一个响应式的引用,使得数据的变化可以被 Vue 自动追踪,并触发相应的重新渲染。箭头函数是 JavaScript 中的一种函数定义方式,它可以简洁地定义一个函数而不需要使用。存储用户密码,为了安全需要加密,获取密码解密。所以我们安装依赖'jsencrypt'记住密码,我们通过cookie来实现,先安装依赖 'js-cookie':这行代码使用箭头函数的语法将一个匿名函数赋值给。是箭头函数的语法,用于定义一个没有参数的函数。util下新建jsencrypt.js。

2023-07-09 10:44:11 840

原创 权限管理系统后端实现1-SpringSecurity执行原理概述

方法,设置到其中。FilterChainProxy是一个代理,真正起作用的是各个Filter,这些Filter作为Bean被Spring管理,是Spring Security核心,各有各的职责,不直接处理认证和授权,交由认证管理器和决策管理器处理!3、认证成功后, AuthenticationManager 身份管理器返回一个被填充满了信息的(包括上面提到的权限信息, 身份信息,细节信息,但密码通常会被移除) Authentication 实例。但拦截器里面的实现需要一些组件来实现,所以就有了。

2023-07-08 16:17:48 566

原创 【VUE学习】权限管理系统前端vue实现4-自定义icon实现

svg里面 假如 svg 图片:通过导出一个函数作为插件的形式,使得该插件可以被 Vue 应用实例使用。该函数接收一个名为app的参数,表示 Vue 应用实例。这个插件的作用是将 SVG 图标组件注册为全局组件,同时动态导入 SVG 图标文件,以便在整个应用中使用该组件来显示各种 SVG 图标。使用者只需在需要显示 SVG 图标的地方使用<svg-icon>标签,并通过属性指定具体的图标名称,插件会自动根据图标名称来加载相应的 SVG 图标文件并显示出来。

2023-07-08 16:10:09 757

原创 【VUE学习】权限管理系统前端vue实现3-登陆页面

是为了在根组件中显示当前路由对应的组件。这样,无论用户访问的是哪个路由,对应的组件都会被渲染到。中,保证了页面的动态切换和导航效果。在APP.vue添加全局。

2023-07-08 15:48:06 704

原创 [VUE学习】从头搭建权限管理系统前端2-请求与存储

主要实现 请求拦截器 把token塞到header里面相应拦截器没有写逻辑封装 get set 文件上传 请求。

2023-07-08 11:59:35 196

原创 [VUE学习】从头搭建权限管理系统前端-初始化

vue的一个脚手架。

2023-07-08 10:32:49 310

原创 [秋招冲刺刷题笔记]206反转链表以及3. 无重复字符的最长子串

三个节点 pre current next开始的时候 pre 指向null current指向头节点 next 指向下一个节点运行出现错误因为循环里面 最后current指向的是null所以把 pre 作为返回值 结果正确。

2023-07-06 10:35:39 207

原创 注册-Springboot整合邮件发送

5.在service里面添加接口。1.QQ邮箱开启服务 获取授权码。2.在配置文件进行相关配置。6.实现Service。4.emalDto类。

2023-07-03 08:04:55 168

原创 SpringSecurity

好吧 我现在主要用到的是验证和授权 还有在实现功能过程中的定制化。

2023-06-30 01:53:31 95

原创 Java线程创建有几种方式?一种

作为一名八股专业户,在以前我一直觉得Java创建线程有三种方式那就是①继承Thread类;②实现Runnable接口;③实现Callable接口。今天刷了一篇文章才知道了线程和线程体之间的区别.

2023-06-30 01:05:23 283

原创 从字节码分析String创建的几种方式

通过idea中jclasslib插件获取到字节码对上述指令作一些解释dupldc #3 astore_1。

2023-04-11 22:41:30 363

原创 为什么JVM中,线程执行native方法时程序计数器为空

因为对native方法而言,它的方法体并不是由Java字节码构的,native方法就由原生平台直接执行,并不需要理会抽象的JVM层面上的“pc寄存器”概念——原生的CPU上真正的PC寄存器是怎样就是怎样。

2023-03-13 10:44:52 120

原创 为什么JVM规范中,程序计数器不会发生OutOfMemoryError

因为程序计数器的值用来执行下一条需要执行的字节码指令,所以他是一个可预见大小的值,所以不会outOfMemory

2023-03-13 10:41:07 251

原创 SpringBoot集成Elasticsearch

SpringBoot集成Elasticsearch

2023-02-28 21:21:29 133

原创 SpringBoot集成xxljob 实现定时任务

SpringBoot集成xxljob 实现定时任务

2023-02-28 21:07:48 295

原创 Redisson客户端配置与缓存管理器

Redisson客户端配置与缓存管理器

2023-02-28 20:55:09 3648

原创 Unsupported conversion from DECIMAL to java.sql.Date

Unsupported conversion from DECIMAL to java.sql.Date

2023-02-28 19:57:45 460

原创 Springboot自定义端口号,SpringBoot配置一级路径

Springboot自定义端口号,SpringBoot配置一级路径

2023-02-28 19:54:59 114

原创 统一异常拦截

统一异常拦截

2023-02-28 19:45:50 243

原创 MybatisPlus自动填充字段

MybatisPlus自动填充字段

2023-02-28 19:42:50 79

原创 mybatisPlus拦截非法sql

mybatisPlus拦截非法sql

2023-02-28 19:39:18 181

原创 mybatisPlus控制台打印SQL语句

mybatisPlus控制台打印SQL语句

2023-02-28 19:34:16 184

原创 stream流获取集合中一个字段

stream流获取一个字段,Stream API Stream流获取字段

2023-02-27 18:25:13 9843

原创 logback配置文件

-输出到控制台-->--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->--临界值过滤器,过滤掉低于指定临界值的日志。-->-- 设置字符集 -->

2023-02-04 19:59:03 486

原创 chatService第一阶段

最后实现了通过Aop来实现操作记录日志的功能,在这个里面也遇到了一些问题,我需要实现将当前操作的数据库相关记录的id存起来,修改和删除的可以直接获取到id,但是插入的需要使用mabatisplus回填主键来实现,通过搜索和尝试发现,使用mybatisplus自带的Insert可以自动实现回填主键,只需要在ID上设置相关的规则,自增或者雪花算法等.其次这个id也应该是一个全局变量,我就把他存储到了用户信息里面来实现这个功能.在接入sso的时候,也用到了以前没注意的在方法内发起网络请求.

2023-02-02 15:08:19 58

原创 SSO项目相关问题

接口的三级路径第一个是项目路径 就是这个context-path第二个是模块路径第三个是具体功能active: 是使用哪一个配置文件。

2023-01-31 18:59:24 48

原创 延迟队列DelayQueue

DelayQueue其实采用了装饰器模式,在对PriorityQueue进行包装下增加了延时时间获取元素的功能,其主要特点归纳如下:1.DelayQueue是一个无界阻塞队列,队列内部使用PriorityQueue来实现。2.进入队列的元素必须实现Delayed接口,在创建元素时可以指定多久才能从队列中获取当前元素,只有在延迟期满时才能从中提取元素;3.该队列头部是延迟期满后保存时间最长的Delayed元素;4.如果没有延迟未过期元素,且队列没有头部,并且poll将返回null;

2023-01-11 15:03:03 655

原创 HashMap判断两个对象相等

hashcode就是通过hash函数得来的,通俗的说,就是通过某一种算法得到的,hashcode就是在hash表中有对应的位置。hashCode比较的是哈希码,哈希码是由特定的哈希算法的出。一个对象肯定有物理地址,也有人把hashcode说成是代表对象的地址,这里肯定会让读者形成误区,对象的物理地址跟这个hashcode地址不一样,hashcode代表对象的地址说的是对象在hash表中的位置,物理地址说的对象存放在内存中的地址。

2023-01-11 14:04:57 918

空空如也

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

TA关注的人

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