- 博客(21)
- 收藏
- 关注
原创 【SpringBoot项目】过滤器方式和拦截器方式进行登录校验-token
1.我们可以从中发现,用servlet原生的方式进行登录权限控制更加麻烦,但是拦截器就比较方便。拦截器和过滤器区别?
2024-06-29 19:26:24
398
原创 【kaptcha】kaptcha验证码的使用-SpringBoot集成
【代码】【kaptcha】kaptcha验证码的使用-SpringBoot集成。
2024-06-29 11:39:10
230
原创 【Java基础概述-10】IO流、字节流、字符流、缓冲流、转换流、序列化、打印流、Properties属性集对象
输入输出流Input:输入流Output: 输出流。引入:File类只能操作文件对象本身,不能读写文件对象的内容。读写数据内容,应该使用IO流。按流的方向分为:输入流/输出流。(1)输出流:以内存为基准,把内存中的数据写出到磁盘文件或者网络介质中的流称为输出流。(2)输入流:以内存为基准,把磁盘文件中的数据或者网络中的数据读入到内存中去的流称为输入流。输入流的作用:读取数据到内存。
2024-03-14 11:19:21
1137
原创 【Java基础概述-9】File文件类概述、字符集简要概述
广义上来说操作系统认为文件包括文件和文件夹File类的创建文件对象的API:包:Java.io.FIle。
2024-03-13 18:22:48
868
2
原创 【Java基础概述-8】Lambda表达式概述、方法引用、Stream流的使用
什么是Lambda表达式?。是一种特殊写法。作用:“核心的目的是为了简化匿名内部类的写法Lambda表达式的格式:(匿名内部类被重写的形参列表){被重写的代码使用前提:Lambda表达式并不能简化所有匿名内部类的写法Lambda表达式只能简化函数式接口的匿名内部类写法:首先是接口,其次只有一个抽象方法。1.1、函数式接口@FunctionalInterface函数式接口注解:一旦某个接口加上这个注解,这个接口有且只有一个抽象方法。这个接口可以用Lambda表达式简写。
2024-03-13 17:23:32
922
原创 【Java基础概述-7】详说Java中的异常Throwable。
异常是什么?异常是程序在“编译”和“运行”的过程中可能出现的问题,异常是应该尽可能去提前避免的,异常可能也是无法做到绝对避免的,异常的情况太多了,开发中只能提前干预。异常一旦出现了,如果没有提前处理异常,程序可能退出JVM虚拟机而终止,开发中是需要提前处理的。内存崩溃,JVM本身崩溃。
2024-01-22 11:15:17
1267
原创 【Java基础概述-6】Collections集合工具类、可变参数、Map集合以及底层
Collections是集合工具类:Java.utils.Collections。c.JDK1.8开始之后的新技术lamda(forEach)1.先获取Map集合的全部键,然后找值。LinkedHashMap是HashMap的子类。Collections并不属于集合,是用来操作集合的工具类。2.可变参数必须放在形参列表的最后面!3.5 LinkedHashMap介绍。1.一个形参列表中可变参数只能有一个。3.传递进来的其实是一个数组。3.4Map集合判重流程。这里减掉1是为了减掉头节点。
2024-01-12 11:44:07
1017
1
原创 【java基础概述-5】详说泛型、解析Collection集合底层(Set和List集合底层)。
【java基础概述-4】详说泛型、解析Collection集合底层(Set和List集合底层)。
2024-01-03 17:19:36
1050
1
原创 【Java基础概述-4】SimpleDateFormat类、Calendar类、Math类、System类、BigDecimal类、包装类、正则表达式的使用
public static int/double/float/long max(..):取最大值,这里可以传输的类型有好几种,重载机制。引入:浮点数在做运算的时候,直接使用+-*/会出现数据失真的情况,BigDecimal可以解决数据失真的问题。DateFormat是一个抽象类,不能直接使用,要找它的子类:SimpleDateFormat。除了包装类String的matches方法,还有哪些方法可以匹配字符串是否满足条件呢。---xxx.parseXxx("字符串的值")//不太用。
2024-01-01 02:28:26
1009
原创 【Java基础概述-3】多态、实例\静态\局部\匿名内部类、Object类、Objects类、Date日期类
众所周知,面向对象的三大特征为封装、继承、多态,多态的概念是:同一类型的对象,在执行同一种行为的时候,在不同状态下表现出不同的行为特征。
2023-12-29 00:02:44
1058
1
原创 【C++/Java】详解双指针算法以及与暴力的区别-有序数组和与最长不重复子序列
注意,双指针算法的时间复杂度是O(n),也就是i和j都不会重复扫到一个元素,这里区别于双重循环的O(n^2),在双重循环中,我们的i或者j是有可能一个元素扫描好几次的,一般是n次或者n(n-1)/2或者n(n+1)/2,这里看具体算法了。(许多人认为一层循环嵌套另一层循环,那么时间复杂度就是O(n^2),其实不然,也就是因为这是错误理解,时长分不清双指针和暴力的区别)
2023-12-28 16:04:55
500
1
原创 【Java基础概述-2】抽象类、接口、final关键字、代码块、单例模式、枚举类
什么是单例?永远只存在一个对象,不能创建多个对象。为什么要用单例?(单例共8种)
2023-12-26 23:21:44
878
原创 【Java基础概念-1】类、封装、this\super\static关键字、继承、重载、重写
继承是一种子类到父类的一种关系也就是“一般”和“特殊”的关系;人->“一般”,学生->"特殊"也就是学生是人的特殊存在形式。在Java中,子类是更强大的,子类不仅有父类的功能,还有自己的功能。注意:当子类和父类有着共同的方法,子类重写了父类的方法,那么在用子类的时候,是现在子类找,找不到才去父类,所以符合就近原则。继承的特点:Java里面只能单继承,不能多继承,但是能多层继承(间接继承),例如。
2023-12-26 00:01:24
783
原创 【C++/Java】详解一维差分算法和二维差分算法(详解前缀和逆运算)
差分序列的构建是为了在原序列中进行一系列的修改操作,而不需要对整个序列进行逐个修改。通过修改差分序列中的某些元素,可以在后续进行前缀和运算时,将修改操作应用到原序列的相应位置上。在一个区域[l,r]插入值的时候呢,通过操作b[i]来做出原数组,这是很棒的想法。我们只需要假设原序列b[i]为0,S[i]也为0,然后输入的值就是插入到前缀和序列中的值,这时候我们只需要通过上面的公式改变原序列的值,通过对差分序列进行逐个累加,可以得到原序列的前缀和序列。
2023-12-24 00:35:14
1169
原创 【前端CSS】CSS中所有类型的选择器汇总
结构伪类是CSS中的一种选择器,用于根据元素在其结构中的位置或关系来选择元素。结构伪类通常用于选择特定位置的子元素或根据元素在其兄弟元素中的位置来应用样式。动态伪类(Dynamic pseudo-class)是指在CSS选择器中用来匹配特定条件下发生变化的元素的伪类。伪类(pseudo-class)是CSS中的一个概念,它表示一种特殊的选择器,用于。它们与元素当前的状态或上下文相关联,可以根据用户的互动或元素的状态进行样式的控制。其中,父元素为需要选择的元素,子元素为父元素的。用于选择某个元素的后代元素。
2023-12-23 21:11:00
1208
1
原创 【C++/Java】详解一维、二维前缀和算法
前缀和(prefix sum)是一种常用的数据处理技巧。在一个数列中,前缀和指的是从数列开始到当前位置的所有数的和。也就是说,前缀和是一个新的数列,其第i个元素是原始数列中前i个元素的和,前缀和有可以分为一维前缀和和二维前缀和,一维指的是一个序列,二维指的是一个矩阵的一部分子矩阵的数的和。
2023-12-22 18:20:01
638
原创 【C++】详解高精度加法、高精度减法、高精度乘法、高精度除法代码
在进行大整数运算中,因为在C++/C中整数最大也就是unsigned long long也就才(1e19+8e18)位,如果要几百位的相加减就不行了,所以就要用高精度了,这里只在C++/C上使用有价值,在例如python、Java语言上无需写此算法,python可以无限大,Java里有相关库可以引入。
2023-12-22 01:38:45
2003
原创 【C/Java】详解二分查找算法-灵活划分红蓝区域法(写代码不再死循环)
如我们需要在下面的序列中找出第一次出现3的位置和最后一次出现3的位置,且找出第一次出现3位置之前的第一个元素2的位置,最后一次出现3的位置的下一个元素4的位置下标。设有q[N]数组,在算法开始时,l的指针是指向-1的,而不是0,且r初始化为n,而不是n-1因为在最初,我们是不知道数组里面元素的任何值的,不知道哪些是蓝色区域,哪些是红色区域。二分查找中,可以把l和r的指针看做是在划分两个红蓝区域,然后寻找边界目标值。同时也找到了第一次出现3位置的左边第一个元素的位置也找到了。
2023-12-18 00:32:46
509
1
原创 【C++/Java】归并排序模板
1.从待排序元素中间进行拆分,一直拆分到只有一个元素,2.把拆分的待排序元素进行两两合并,最后形成一个有序序序列,时间复杂度O(nlog^n)
2023-12-12 19:31:03
419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人