学习笔记
文章平均质量分 71
冰弦qwq
这个作者很懒,什么都没留下…
展开
-
创新实训 12
2021SC@SDUSC这次我们继续分析Security模块SecurityConfig首先我们看到 SecurityConfig@Configuration@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true)public class SecurityConfig extends WebSecurityConfigurerAdapter { // ...}SecurityConfig上面启用了三个注解,原创 2021-12-18 16:41:55 · 661 阅读 · 0 评论 -
创新实训 11
2021SC@SDUSC我们的项目中用到了很多关于Spring Security的内容,笔者虽然已经在学习Spring Security了,但是对于项目这种多个模块分离的Spring Security的使用流程还是不甚了解,今天我们就来理清一下项目中Spring Security 的逻辑。JwtAuthenticationTokenFilter首先我们看到位于security模块的 JwtAuthenticationTokenFilter 模块,他的 doFilterInternal 中关于当用户原创 2021-12-12 12:29:24 · 600 阅读 · 0 评论 -
创新实训 10 java多线程
2021SC@SDUSC多线程1.什么是进程?什么是线程? 进程是一个应用程序。 线程是一个进程中的执行场景/执行单元 一个进程可以有多个线程2.java程序的进程对于java程序而言,当执行一个java程序时,会先启动JVM,JVM就是一个进程JVM再启动一个主线程调用main方法。同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中有两个线程并发。3.进程 在java语言中: 线程A和线程B,堆内存和方法区内存共享,但是栈内存独立,一个线程一个栈原创 2021-12-07 15:40:52 · 304 阅读 · 0 评论 -
创新实训 8 IO
2021SC@SDUSCFile类至于IO流,也就是输入输出流,从文本出发到文本结束,至始至终都离不开文件,所以IO流还是得从文件File类讲起。1.1 File概述java.io.File 类时专门对文件进行操作的类,只能对文件本身进行操作,不能对文件内容进行操作。java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。即:File 跟流无关,File类不能对文件进行读和写。1.2 构造方法我们主要来想学习一下比较常用的三个: publ原创 2021-11-15 10:49:37 · 151 阅读 · 0 评论 -
创新实训 7
2021SC@SDUSC分析Webflux框架1、Spring webFlux介绍2、响应式编程3、WebFlux执行流程和核心API4、SpringWebFlux(基于注解编程实现)5、SpringWebFlux(基于函数式编程模型)前置知识SpringMVCSpringBootMavenJava8新特性Spring webFlux介绍Webflux是Spring5添加新的模块,用于web开发的,功能与SpringMVC类似,Webflux基于当前流行的响应式编程使用原创 2021-11-07 23:42:22 · 132 阅读 · 0 评论 -
创新实训 6 :初探Solr源码
2021SC@SDUSC** 提示源码展示中笔者会将重载的方法省略,只展示关键方法探索SolrClientsdudoc的检索功能主要是通过solr实现的,本人确实很好奇solr框架的源码是如何实现的。首先我们需要在 application.properties 中配置solr的服务器主机地址。我们使用 solr 主要是通过SolrClient 类进行操作的,solr 的源码大致如下:public abstract class SolrClient implements Serializ原创 2021-10-30 11:35:10 · 268 阅读 · 0 评论 -
创新实训 4
2021SC@SDUSC这次我们继续分析search-engine模块DmsArticleController这个类中只有一个接口@RequestMapping("/findAll")@ResponseBodyList<DmsArticle> findAll() { return dmsArticleService.findAll();}其中我们可以看到他调用的时ArticleService服务层,继续深挖,我们可以知道ArticleService的服务如下:publ原创 2021-10-22 20:28:17 · 139 阅读 · 0 评论 -
创新实训 3
2021SC@SDUSC上周的会议指出了项目的新方向在于指定一个XML规范,来实现文本的格式化存取,保存文本的格式信息,而非单只有文本内容信息。大致如下:另外,这周主要是继续学习Spring框架中的事务管理部分事务管理事务写在JavaEE三层结构中的Service层中在Spring进行事务管理操作有两种方式:编程式事务管理和声明式事务管理(一般使用后者)声明式事务管理基于注解(使用)基于xml配置文件在Spring进行声明式事务管理,底层使用AOPSpring事务管理AP原创 2021-10-17 23:55:41 · 118 阅读 · 0 评论 -
leetcode115 利用动态规划解决“匹配子串”问题
ps:今天发烧了,所以可能写的不清楚,见谅TAT题目分析:动态规划首先,这道题一定不能用递归去写。今天执行程序,数值还好的话说不定明天就执行完了= =首先我们来分析子串的性质,假设我们有两个字符串:babagbagbabag让后者去匹配前者,可以分为这样的步骤:从b开始,可以试着找出所有b的位置,然后找每一个b后面a的位置,然后再找每一个a后面g的位置,最后就可以数出所有的子序列这种需要记录前面的情况来推出后面的情况的思路,一般都用动态规划来高效解决。算法思路(笔者在写代码原创 2021-03-17 18:18:29 · 195 阅读 · 0 评论 -
331.验证二叉树的前序序列化
前序遍历结果判断二叉树是否完整的非二叉树方法题目:题目分析:首先,前序遍历的特点是,(以题目示例为例)假设我们从根节点9出发,前序遍历的第一个节点是3,这时候,所有的操作都是基于3来执行的,除非3被更深的节点(4或1)覆盖(就如同3覆盖根节点9一般)或者3前序遍历结束,回到了根节点9.这么一分析,这似乎就是栈结构嘛!假设我们将每个节点都设置一个计数器,遇到一个非‘#’节点就将其压入栈,如果每遇到一个他的子节点,就加一,如果已经为2就将节点弹出栈(说明这个节点下面的都已经被遍历过了),如果遇原创 2021-03-12 16:13:34 · 256 阅读 · 1 评论 -
神奇的算法--manacher算法
神奇的算法–manacher算法在获取一个字符串中最长的回文串,一般的做法是遍历每一个字符,然后以其为中心向两边展开,最终通过比较所有的情况后得到最长的字符串这方法是大部分人能够想到的。但是在时间复杂度上,是O(n²)。如,对于长度为1000的字符串,计算量将会达到1百万。这时候,如果你用manacher算法,其时间复杂度是惊人的O(n),即计算量和字符串长度是一个数量级!可惜的是,manacher算法仅仅适用于解决回文串。(自己写了好几次解释,但是最后看来还是官方的解答最清晰,所以选择转载官方的转载 2021-03-10 22:54:05 · 284 阅读 · 0 评论 -
递推算法:分割回文串
分割回文串回文串(palindrome string):指一个镜像对称的字符串abbaaasdsa但如果一个字符串并不是回文串,它可以被视为是一系列回文串的组合:aab = aa + basdf = a + s + d + fadd = a + dd现在我们要解决:对于一个字符串,其最少要分割几次才能使得得到的子串都是回文串?我们可以运用递推的方法,来得到一个长为n的串需要分割几次才能全部分割成回文串:如果记函数f(j)表示前j个字符形成的子串的最小分割数(比如字符串“12原创 2021-03-09 17:02:28 · 652 阅读 · 3 评论 -
Python study_note
@author bingxian (Ongoing update …)Day 1INTRODUCTION(copy by my IDE, so everything display in code’s way)this is my Python study place and my study notethere will include major grammar of Pythonthe code will all be turn into annotation, you can r原创 2021-03-08 22:40:16 · 141 阅读 · 0 评论