余声-个人博客


  • 首页

  • 分类

  • 归档

  • 标签

Date获取7天后的日期

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长
1
2
3
4
5
6
7
1、 DateUtils.addDays();
2、 private static Date getAfterDay(Date date, int diff) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date == null ? new Date() : date);
calendar.add(Calendar.DATE, diff);
return calendar.getTime();
}

SpringSecurity+ oauth2实现同账号多端同时登录

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长

SpringSecurity+ oauth2实现同账号多端同时登录

参考链接:https://blog.csdn.net/m0_67391377/article/details/126509478
单点登录:https://mp.weixin.qq.com/s/DGFFPl93kZxS5G_DSFTBDA
多端登录:https://blog.csdn.net/zhourenfei17/article/details/88826911

shiro中的Realm如何使用

参考链接:https://blog.csdn.net/m0_54849873/article/details/124345270

shiro域(安全数据源)

shiro从Realm获取安全的数据(例如用户,角色,权限等)
SecurityManager需要进行身份验证就必须从Realm中获取到一个合法的用户身份,从而比较用户身份是否合法,同时在SecurityManager获取身份的同时Realm也需要维护一套用户身份用来判断用户是否能执行某项操作

ftp问题

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 ERROR
字数统计 | 阅读时长
  • 问题 :FTP上传storefile一直返回false的解决,报500
    https://blog.csdn.net/LiHuiJUNMate/article/details/124257181
    https://blog.csdn.net/weixin_44901564/article/details/108062627

  • 553 550
    http://www.zzvips.com/article/226409.html+用户权限问题

cookie和session的区别

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长

cookie 和 session 的区别

localstorage 和cookie 的区别

  • 都可以用来做本地存储,实现数据的持久化,区别如下
    • localstroage存储的内容会多一点,5M;cookie存储的只有4k;
    • 有效时间不一样;cookie 的有效时间可以自行设置,local可以一直生效;
    • 请求时cookie可以被携带,同源的cookie信息会自动作为请求头的一部分发给服务端;local不会,一直存储在浏览器端

localstroage 和sessionstroage 的区别

  • 都是前端的本地存储(保存在客户端,不与服务器进行交互通信,存储数据的大小一样,只能存储字符串类型的数据)
    • 生命周期不同,local是永久的,除非主动删除;session的生命周期仅在当前会话下有效,在同源的窗口中始终存在的数据(只要浏览器的窗口没有关闭,即使刷新页面或者进入同源的另一个页面数据依旧存在,但在关闭浏览器窗口就会被销毁)

session 和sessionStroage 的区别

  • session主要的作用是维持会话状态的key,sessionStroage则是存储会话期间的数据

javacv学习笔记

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 JavaCV
字数统计 | 阅读时长

java版opencv之Javacv各种场景使用案例

————————————————
版权声明:本文为CSDN博主「jwolf2」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39506978/article/details/133251234

java opencv 基本操作6

https://blog.csdn.net/kan_Feng/article/details/126456760

js运行进制的梳理

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 前端
字数统计 | 阅读时长

参考连接:https://mp.weixin.qq.com/s/0tLxTybwJ7NCLBPtQClXoA

js运行进制的梳理

进程与线程

  • 两者区别
    • 简单来讲,能看到的就是进程,例如:资源管理器中的进程列表;看不到的就是线程;
    • 进程是cpu资源分配的最小单元(系统会给他分配资源,能拥有资源和独立运行的最小单位);
    • 线程是cpu调度的最小单位(线程是建立在进程的基础上的一次程序运行单位);

浏览器是多线程的,它包括哪些进程

  • Browser线程:浏览器的主线程,只有一个
  • 第三方的插件进程:每个类型的插件对应一个进程,使用时才会创建
  • GPU进程(最多一个,用于3D绘制等)
  • 浏览器渲染进程(浏览器内核) Renderer进程,每个tab页面一个进程:用于页面渲染、脚本执行、事件处理

为什么浏览器是多线程的

如果是单线程的,某个tab页面崩溃或者插件崩溃,就会影响到整个的浏览器

浏览器内核(渲染进程)多线程的

  • GUI渲染线程(渲染页面,解析html、css)
  • js引擎线程(js内核,处理js脚本程序,一个tab页面只有一个js线程来运行js程序)
  • GUI渲染线程和js线程是互斥的
  • 事件触发归属于浏览器,用于控制事件循环;js是单线程,事件队列中的任务都是排队等待js引擎处理
  • 定时触发器线程
  • 异步http请求线程

Browser进程和浏览器内核(Renderer进程)的通信过程

  • B进程收到用户请求,需要获取页面内容,随后将该任务通过RendererHost接口传递给Renderer进程;
    Renderer接口收到信息后,交给渲染线程(加载网页开始渲染网页,可能会使用到Brwerer进程获取资源或者GPU进程来帮助渲染-可能会有js线程操作DOM-最后Renderer进程将结果传递给Browser进程),Browser进程收到结果并绘制出来

浏览器内核线程之间的关系

  • GUI渲染线程和js引擎线程互斥
    • js是可以操作DOM的,如果在修改这个元素属性的同时渲染界面,那渲染线程前后获取的元素数据就不一样了;
  • js阻塞页面加载
    • 避免js执行实践过长,这样会造成页面的渲染不连贯,导致渲染加载阻塞,用户体验不佳
  • WebWorker,js的多线程?

Spring Joinpoint类注解

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长

Spring Joinpoint类注解

joinpoint是AOP 的连接点(一个连接点代表一个被代理的方法)
    静态连接点就是被代理的方法本身,可以直接通过getStaticPart方法调用,动态连接点就是对静态方法之外的增强方法;
    动态连接点从静态连接点的拦截器上获取静态部分,并进行加强,形成动态连接点;
    proceed() 方法得作用是:转到链的下一个拦截器上;
    getStaticPart() 方法的作用是:返回连接点的静态部分;静态部分是一个拥有连接器链的对象;(这个静态方法都要被谁拦截使用,可以通过该方法返回)

ReflectiveMethodInvocation类是joinpoint的实现类

    至此,proceed()方法解析完毕。我们来总结一下。
    首先要明确的一点就是一个连接点代表着一个对象里的一个方法。一个对象里的多个方法,就是多个连接点。每个连接点对象中,都存着一个拦截器链,proceed方法就是遍历拦截器链,如果和连接点所代表的方法一致,则执行MethodInterceptor的invoke方法,进行方法的代理,如果拦截器和代理方法不匹配,则进入下一个拦截器。直到都不匹配,则执行原始方法。

    代理对象的所有方法,都会形成一个连接点对象;

    由此可知,我们定义的方法,最终会封装为相应的MethodInterceptor对象,在连接点的proceed中被调用;而在连接点的拦截器中,已经封装好了连接点所代理方法MethodInterceptor;连接点直接使用拦截器进行方法的调用;

综合所述,连接点就是AOP中的最小单元,连接点里存放了代理对象的目标类,目标方法,方法拦截器;进行代理的时候,调用拦截器MethodInterceptor的加强方法,执行代理方法;

参考链接:https://blog.csdn.net/qq1309664161/article/details/120159606

Shiro之@RequiresPermissions注解原理详解

原理:使用了AOP进行了增强,来判断当前用户是否有该权限标识;
从proceed()方法进来,然后发送请求,进入断点,加强链上的AopAllianceAnnotationsAuthorizingMethodInterceptor元素就是加强@RequiresPermissions而生成的元素,该类实现了MethodInterceptor 接口,其中invoke方法就是对原对象方法的增强,进入方法,执行到了assertAuthorized()方法,调用其中的getMethodInterceptors()方法获取注解,若有则调用相应的注解Handler去处理相应的逻辑(就是调用Realm中定义的权限获取方法);
这样就对注解@RequiresPermissions的方法进行了增强

参考链接:https://blog.csdn.net/qq1309664161/article/details/123181245

springcloud中feign调用时token丢失问题

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 SpringCloud
字数统计 | 阅读时长
  • https://blog.csdn.net/weixin_39267497/article/details/119213250

Bean的拷贝

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长

bean 的拷贝

  • BeanUtils.copyProperties 基于反射实现,使用的浅拷贝,对于属性和方法要求较高,坑多,建议不使用;
  • 可以使用简单的get和set方法,如果属性过多,可以使用Mapstruct
  • Mapstruct 是在编译期期间就生成的bean属性复制的代码,不用在运行期间使用反射或者字节码技术,具有很高的性能;需要写一个接口ConvertMapper 和@Mapper注解实现;

报错

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 ERROR
字数统计 | 阅读时长

报错:Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointe

  • 解决:https://blog.csdn.net/hadues/article/details/123753888

报错:springboot/cloud项目接口调用返回结果从json变为xml原因

  • 解决:https://blog.csdn.net/hmq1350167649/article/details/122615247

报错:java.net.SocketException: Software caused connection abort: recv failed

  • 解决:https://www.cnblogs.com/zhaochunhua/p/3593357.html

文件

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 java
字数统计 | 阅读时长
  • ftp实现文件上传下载
    FtpClient的方法:https://blog.csdn.net/weixin_43651188/article/details/100665484

问题总结

发表于 2022-07-31 | 更新于 2025-06-22 | 分类于 ERROR
字数统计 | 阅读时长

1.跨域问题 Cross-Origin Read Blocking (CORB) blocked cross-origin response
https://blog.csdn.net/Gemini_Kanon/article/details/114025078
2.跨域的请求在服务端会不会真正执行?
https://blog.csdn.net/qq_41720396/article/details/124702736
3.nginx实现跨域的原理:就是把前端项目和后端项目放在一个域中
https://blog.csdn.net/weixin_39860280/article/details/111647823
4.new File()会不会在本地创建文件(File类是对文件系统的映射,并不是硬盘上真实的文件)
https://blog.csdn.net/weixin_33994429/article/details/94455128

<i class="fa fa-angle-left"></i>1…1112

232 日志
18 分类
28 标签
GitHub
© 2025 javayun
由 Hexo 强力驱动
主题 - NexT.Gemini