Java
文章平均质量分 87
java基础知识
人生何事不浮云
世事如流水,人生似浮云
展开
-
【Spring Cloud】Spring Cloud Oauth2 + Gateway 微服务权限管理方案
Spring Cloud 微服务权限解决方案,通过认证服务进行统一认证,然后通过网关来统一校验认证和鉴权。通过建立用户组-用户-角色-资源之间的关系进行权限管理。原创 2022-07-21 17:16:47 · 6300 阅读 · 7 评论 -
【算法】回溯法解决排列、组合、子集问题套路总结
对于排列、组合、子集问题,我们可以根据题目的限制条件“元素是否重复”、“是否允许重复选择”,大致的将其分为三类:①元素无重不可复选,即集合中的元素都是唯一的,每个元素最多只能被使用一次;②元素可重不可复选,即集合中的元素可以存在重复,每个元素最多只能被使用一次;③元素无重可复选,即集合中的元素都是唯一的,每个元素可以被使用若干次;原创 2022-04-14 16:41:21 · 984 阅读 · 0 评论 -
【算法】LFU缓存算法的实现
LFU 算法,即 least frequently used 最近最不常使用,和 LRU 相似,也是一种用于缓存的数据淘汰策略。当内存不足以容纳新的数据时,需要淘汰**最近最不频繁**使用的数据。原创 2022-04-10 22:44:06 · 1139 阅读 · 1 评论 -
【算法】LRU缓存算法的实现
LRU 算法,即 least recently used 最近最少使用,是一种用于缓存的数据淘汰策略。当内存不足以容纳新的数据时,需要淘汰最近最少使用的数据。原创 2022-04-10 21:34:03 · 1248 阅读 · 0 评论 -
【JUC】synchronized 底层原理及优化过程
概括来说,`synchronized` 之所以能通过持有对象的锁实现同步是通过 `Monitor` (管程)实现的。(Monitor 是操作系统级的对象)原创 2021-11-02 20:07:08 · 209 阅读 · 0 评论 -
【前后端分离】Spring Security + Redis + JWT 实现动态权限管理
项目环境本篇文章环境:Spring Boot + Mybatis + Spring Security + Redis + JWT预期成果:实现具有验证码校验、RBAC 权限控制的前后端分离项目注意:为什么要使用 Json Web Token(JWT)?这是因为前后端分离项目中,前端与后端之间的通信采用 RESTFul API 的交互方式进行交互。这种前后端分离的交互是无状态的交互方式,所以,每次交互都必须进行身份验证。而传统方案是根据用户信息生成token,将token 存入浏览器 cookie(或存原创 2021-10-24 13:33:54 · 4440 阅读 · 8 评论 -
[Java]使用 JNI 实现 Java 与 C 之间复杂对象/结构体的传递
1、声明native方法,native方法或者属性对应的就是预留给c语言实现的接口2、编译声明的Java文件:因为在源码中使用了package的命令,所以编译的时候需要用"-d ."参数,其中"."表示在当前目录生成 jnilib文件夹来存放编译生成.class文件javac -d . TestJNI.javajavah jnilib.TestJNI生成jnilib_TestJNI.h的文件3、c语言来实现函数java里定义的native方法,和***.h文件中的接口名称保持一致原创 2020-12-04 15:28:46 · 2038 阅读 · 0 评论 -
【Java Web】使用Filter实现评论敏感词过滤
由于本人最近在做的本科毕业设计功能模块里有评论区板块,所以,不可避免的需要实现评论敏感词过滤功能。我的初步思路是通过拦截用户提交的请求,然后将请求中的用户评论内容与数据库中的敏感词汇表比对,从而实现对请求中的用户评论内容进行过滤,并进一步将敏感词部分逐一替换。通过查阅资料后,我发现了Servlet API 中提供了一个Filter接口,通过实现该接口便可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截和增加功能。原创 2020-04-04 21:43:35 · 3789 阅读 · 10 评论 -
【Spring】框架学习笔记(AOP篇)
AOP实现的是在不改变原有代码的情况下,扩展新的功能。传统的编程模式是纵向编程,扩展性不佳。而发生业务的变动时,需要对整个项目进行修改,且复用性不高。AOP 编程模式是横向编程,可以在不修改原有形态的基础上扩展出新的功能(符合开闭模式原则,对扩展开放,对修改关闭)。原创 2020-03-05 17:32:28 · 185 阅读 · 0 评论 -
【Spring】框架学习笔记(bean的作用域&自动装配)
在 Spring 中,那些组成应用程序的主体及由 Spring IOC 容器所管理的对象,被称之为 bean。简单地讲,bean 就是由 IOC 容器初始化、装配及管理的对象。原创 2020-03-12 19:50:17 · 137 阅读 · 0 评论 -
【Spring】框架学习笔记(Ioc 篇)
控制的内容:指的是对象的创建,即谁来控制对象的创建。传统的应用程序对象的创建是由程序本身来控制,使用框架后由 Spring 容器来创建。(由传统的对象管理对象->统一由专门的 Spring 容器管理对象,使得开发人员可以集中于应用的开发,避免重复更改源码,降低了程序的耦合度:解耦。)反转的内容:指的是程序本身不去创建对象,而变为被动接收对象。正转指程序创建对象。原创 2020-03-02 15:13:49 · 124 阅读 · 0 评论