- 博客(42)
- 收藏
- 关注

原创 秋招面经记录
B就开始创建了,先实例化一个B对象,然后缓存对应的一个singletonFactories到第三级缓存中,然后就到了需要处理属性注入,即B属性注入需要去获取A对象,这里就是从三级缓存中的第一级缓存开始依次查找有没有A对应的Bean,结果从三级缓存里拿出singletonFactories,调用其getObject得到对应的实例化但未初始化的Bean(不完整对象A的引用)。于是接下来就把早期的A对象注入给B,此时B的属性注入A对象就完成了,之后再经过其他阶段的处理之后,B对象就完完全全的创建完了。
2023-09-24 14:12:31
356

原创 九月九日忆八股兄弟
使用 java.util.stream.Collectors 类的 toMap() 方法转为 Map 集合注意:当value为 null 时会抛 NPE 异常原因:toMap() 方法 ,其内部调用了 Map 接口的 merge() 方法,该方法方法会先调用 Objects.requireNonNull() 方法判断 value 是否为空。
2023-03-27 17:43:51
793
原创 常用设计模式
开闭原则:对修改关闭,对拓展开放。单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。术业有专攻。里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。JavaCoder 虽然继承自 Coder,但是并没有对父类方法进行重写,并是在父类的基础上进行额外扩展,符合里氏替换原则。这里对父类的方法进行了重写,父类的行为就被子类覆盖了,这个子类已经不具备父类的原本的行为,违背了里氏替换原则。依赖倒转原则一直在使用的,最明显的就是 Spring 框架了。
2023-10-04 13:40:35
445
原创 读写锁、邮戳锁
一个ReentrantReadWriteLock同时只能存在一个写锁但是可以存在多个读锁,但不能同时存在写锁和读锁。也即一个资源可以被多个读操作访问或一个写操作访问,但两者不能同时进行。只有在读多写少情境之下,读写锁才具有较高的性能体现。
2023-03-13 11:22:55
377
原创 学成在线项目笔记
定义MybatisPlusConfig,用于扫描mapper和配置分页拦截器。(1)测试单元测试时必须要有启动类,否则会报错。生成实体类对应的mapper和xml文件。(2)配置文件连接数据库。测试mapper功能。
2023-02-21 13:35:37
1465
1
原创 java API
第一个变量表示原来的数组对象,第二个变量表示新的数组的长度。复制指定的数组,截断或填充false(如有必要),使副本具有指定的长度。
2023-02-12 17:53:42
106
原创 springcloud
EnableEurekaServer:激活EurekaServer端配置在SpringCloud中当你需要使用Eureka注册中心的时候你在配置Eureka的服务端的时候需要在启动类上添加@EnableEurekaServer注解eureka服务器对应的依赖。
2022-09-29 18:45:26
685
原创 git 删除本地commit提交的文件,解决大文件push不到远程仓库问题
在 git add . 并 git commit -m “” 后,将所有变更的文件提交到本地仓库中,但是当 git push origin 后出现下面的错误:通过上面的提示执行下面代码发现dist.rar文件超过100M,导致无法上传。(gitee对上传文件大小有限制)解决方法:如果需要回退版本,则先回退到某一个版本,如下:然后将“dist.rar”文件从commit中删除,最后再进行提交然后再进行push操作,将本地提交推送到远程仓库,如下...
2022-06-20 12:43:13
1825
原创 Iframe嵌套拒绝接入
问题描述:在A系统中使用iframe嵌入B系统,出现下面错误。原因:X-Frame-Options: HTTP 响应头是用来给浏览器 指示允许一个页面 可否在, , 或者 中展现的标记。站点可以通过确保网站没有被嵌入到别人的站点里面,从而避免 点击劫持 攻击。X-Frame-Options 有三个属性值:deny:表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。sameorigin:表示该页面可以在相同域名页面的frame中展示。allow-from uri:表示该页面
2022-06-18 12:41:33
7591
原创 双向循环神经网络
双向循环神经网络双向 RNN结构模型图公式表达应用举例(完形填空)优劣总结双向 RNN结构模型图一个前向RNN隐层,一个后向RNN隐层,合并两个隐状态的到输出。公式表达应用举例(完形填空)第一行是普通的RNN预测,后面两行可以使用双向RNN做填词,结果取决于过去和未来的上下文。优劣如下图所示,双向RNN适合做训练,因为训练时会提供过去和未来的信息。然而,对于推理,也即预测,双向RNN则无法实现,因为它不仅需要过去的信息,还需要知道未来的信息。但是,未来的信息正是我们要推理的信息,所以
2022-03-03 11:40:38
798
原创 浅拷贝深拷贝问题
浅拷贝深拷贝的区分简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。基本类型如果是基本数据类型,名字和值都会储存在栈内存中var a = 1;b = a; // 栈内存会开辟一个新的内存空间,此时b和a都是相互独立的b = 2;console.log(a); // 1当然,这也算不上深拷贝,因为深拷贝本身只针对较为复杂的object类型数据。引用数据类型(*****)如果是引用数据类型,名字存
2022-01-06 18:52:37
590
原创 尚品汇后台管理系统
1、登录(退出登录)后台接口swagger在线文档:后台接口1后台接口21、将所有的api接口url更换为和swagger在线文档相同的url。2、跨域解决devServer部分(proxy代理解决跨域)devServer: { port: port, open: true, overlay: { warnings: false, errors: true }, proxy: { // 会把请求路径中的/api换为后面
2021-12-22 21:02:00
4036
8
原创 application.yml常用配置
server: port: 8081spring: datasource: url: jdbc:mysql://localhost:3306/manual?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezonne=Asia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj
2021-11-30 14:31:06
690
原创 Java8新特性Stream
每一个知识点的学习都是由某个问题引起的!问题:List<SysRoleMenu> roleMenus = sysRoleMenuService.list(new QueryWrapper<SysRoleMenu>().eq("role_id",id));上面代码我们已经获得SysRoleMenu类的列表,我们的问题是如何快速的获得每个对象的menuId字段,并存储在列表中。Stream的应用List<Long> menuIds = roleMenus.stre
2021-11-29 10:03:19
494
原创 Security+jwt+验证码实现验证和授权
微服务Security+jwt+验证码实现认证和授权简要介绍基本流程核心代码测试简要介绍本次博客采用Spring Security、jwt、验证码的形式实现登录验证,项目本上是一个前后端分离项目。如果你的项目在登陆时不需要验证码,你只需要在后续的代码中,将有关验证码的过滤器删除。基本流程1、前端请求后端"/captcha"验证码接口,后端生成验证码文本及编码并将其存入redis缓存,然后返回验证码文本(五个字符)和验证码base64编码给前端。2、前端显示验证码图片,用户输入用户名、密码、验证码
2021-11-26 12:57:21
5066
6
原创 MyBatis-Plus 通用IService的使用
MybatisPlus除了通用的Mapper,还有通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MybatisPlus的这种思想,可以自己也实现一些通用的Controller。一、只有通用的Mapper下面三个类是我们最开始使用mybatisPlus写法,这样只能通过SysMenuMapper 调用一些通用的方法。SysMenuMapperpackage com.komorebi.mapper;import com.komorebi.entity.Sys
2021-11-23 21:53:17
1686
原创 java后端解决跨域问题
创建配置类进行跨域配置注意:allowedOrigins("")填写内容为前端端口路径。package com.komorebi.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.an
2021-11-22 14:44:55
220
原创 全局异常处理
我们的全局异常处理一般都是在controller层捕获异常核心注解:(1)@RestControllerAdvice:用于controller层异常捕获(2)@ResponseStatus(value=,reason=):value属性设置异常的状态码,reaseon是异常的描述.(3)@ExceptionHandler(value=):value值表示异常的类型.package com.komorebi.common;import lombok.extern.slf4j.Slf4j;imp
2021-11-20 15:32:55
819
原创 标签页使用及bug解决
标签页使用1、点击菜单项生成新的标签页2、点击标签页项实现页面跳转3、bug标签页放在main中标签页el-tabs主要属性:(1)editableTabsValue:高亮表示被选中的标签页(通过name标识)(2)editableTabs:标签页数组(存储所有的标签页信息),属性:name、title<!-- 标签页--> <el-tabs v-model="editableTabsValue" type="card" closable @tab-remo
2021-11-16 19:24:13
1889
原创 Router Modules模块化
由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:例如:在我的一个项目中,我单独为导航栏菜单建立了一个模块,文件名为menu.js,所以我的store结构图如下store index.js 中两步设置1:导入导航栏子模块imp
2021-11-15 14:09:14
762
原创 解决导航守卫router.beforeResolve使用不了this.$store
在vue router的导航守卫如beforeEach()中是无法直接通过this.$store去操作vuex的,因为这里的this指向不一致。正确写法import store from '../store'store.state....解决方式是在router的index.js中引入初始化好的store总结:我们在其他js或者vue文件中使用store,axios等这些js文件时,养成一个好的习惯,先导入在使用,而不是通过this.$使用...
2021-11-15 13:42:12
2440
原创 Vue el-menu高亮设置及点击菜单项实现路由跳转
el-menu相关知识记录一、el-menu菜单项高亮设置二、点击菜单项实现路由跳转2021/11/13 知识点记录一、el-menu菜单项高亮设置el-menu高亮是通过:default-active来设置的,一般我们都是绑定$ route.path或者$route.name这两个值,因为他们基本上都是唯一的,对于高亮的判断这是通过将:default-active绑定的值与菜单项的唯一标识index比较来显示是否高亮,如果相同则高亮。$ route.path对应当前页面路由的路径。$ route
2021-11-13 16:55:00
15773
5
原创 Vue body样式修改
此篇博客记录自己再写项目是遇到的App.vue显示问题。问题:查看页面时,发现有8px的margin,看着很不爽,想要去掉这个margin。修改前:直接上图解决方式,通过beforeCreate函数设置App.vue中body的样式export default { beforeCreate() { document.querySelector('body').setAttribute('style', 'margin:0;') },}可以明显看出,外边距已经没有了,over
2021-11-12 16:59:56
4053
原创 flex布局
flex父盒子属性:1、flex-direction2、justify-content3、flex-wrap4、align-items(单行)5、align-content(多行)6、flex-flow原理:通过给父盒子添加flex属性,来控制子盒子的位置和排列顺序示例:本次demo的代码都是在下面代码的基础上加以修改。初始代码(不给父盒子添加flex属性)<!DOCTYPE html><html lang="en"><head> <meta
2021-11-11 16:42:04
263
原创 Mybatis分页插件PageInfo
https://blog.youkuaiyun.com/qq_35387940/article/details/91530234
2021-11-01 13:47:43
671
原创 Vue使用js读取Excel数据
JS读取Excel数据1、示例代码<template> <div class="hello"> <h1>{{ msg }}</h1> <h2>Essential Links</h2> <el-row> <el-col> <el-upload ref="upload" action="/"
2021-10-28 16:24:24
3318
原创 Security
Security认证:用户登录授权:用于判断用户能否调用某个接口Security认证SecurityConfig配置类创建SecurityConfig配置类,通过configure(HttpSecurity http)函数完成认证。package com.komorebi.config;import com.komorebi.service.SecurityUserService;import org.springframework.beans.factory.annotation.Aut
2021-10-13 12:14:53
2149
原创 码神之路博客项目构建记录
个人博客项目Blog项目搭建(2021.10.6)pom文件导入相关依赖application配置文件配置Mybatis Plus配置跨域问题解决功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Blog2021/10/6 19:
2021-10-12 16:47:11
2563
4
原创 Maven安装、配置、项目创建、编译等相关操作
Maven安装及配置1、下载maven压缩包,解压到相应目录下载链接 https://maven.apache.org/download.cgi2、建立本地仓库文件夹repository3、修改conf中settings.xml文件(1)修改镜像(2)修改本地仓库地址注意:目录用“/”分割4、idea创建Maven项目(1)修改Maven配置修改maven_home目录为maven安装目录,修改settings.xml文件以及本地厂库目录,如上图所示。(2)创建maven
2021-08-26 18:07:37
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人