
基础知识
sssdal19995
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jackson 通用泛型解决方案
maven 坐标<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.1</version></dependency>在我们做业务开发的时候经常对于http请求封装一个公用的类,如下:public class原创 2021-07-23 11:25:47 · 1968 阅读 · 0 评论 -
通过反射执行被动态代理的类中的方法-面向接口编程的必要性
首先准备1个接口和1个实现类 用来模拟场景public interface TestService { // 空方法 什么都不做 子类也不重写 default void nothingTodo(){} // 子类需要重写的方法 void todoSomething();}@Servicepublic class TestServiceImpl implements TestService { public void todoSomething() {原创 2021-05-02 14:39:52 · 458 阅读 · 2 评论 -
读取jar内指定文件夹中所有文件信息
在我们日常开发过程中会经常遇到通过模板生成文件的业务场景,但是模板可能会经常发生改变,所以我们使用以下代码实现对文件的读取:private static List<String> loadFiles(String basePath, String fileType, List<String> lst) { URL resource = FileUitls.class.getClassLoader().getResource(basePath); if原创 2021-03-29 11:49:12 · 501 阅读 · 1 评论 -
数据结构学习6-使用递归解决8皇后问题
8皇后问题在一个8*8的象棋棋盘上 摆放8个皇后要求: 任意2个皇后不能放在同一行 同一列 同一斜线代码public class Queue8 { private int[] map; /** * 成功次数 */ private int successCount; private int judgeCount; public Queue8() { map = new int[8]; } pub原创 2021-02-24 12:27:22 · 229 阅读 · 1 评论 -
数据结构学习5-使用递归解决迷宫问题
迷宫问题给定一张迷宫地图和一个迷宫入口,和出口 找到一条可以通过的道路迷宫地图我们使用一个二维数组代表迷宫,其中0 代表没有走过1 代表障碍物2表示路可以走3 标识已走过,但是不通9 代表终点关键代码go方法 根据执行的选择方向模式,探测下一步应该往哪走,当4个方向都不满足的时候,就需要对回滚到上一个操作点,这个地方使用到了栈,goWithDynamic方法 根据当前点和终点的位置进行动态判定4个方向的优先级,但是针对于很多障碍物的地图,它表现的并没有想象中那么好,甚至有原创 2021-02-18 17:10:55 · 536 阅读 · 1 评论 -
数据结构学习4-栈的使用、中缀表达式求值、中缀表达式转后缀表达式
栈栈是数据结构中非常重要的一个知识点,java底层虚拟机运行就是通过栈的形式,编译器会将代码打包编译成为一个一个的栈帧 然后逐个执行。特征FILO 先进后出,最新进入的元素最后一个被弹出有序 栈是上一个有序列表插入和移除只能在同一端进行图解代码实现使用数组实现public class ArrayStack { /** * 最大容量 */ private int maxSize; /** * 栈顶位置 */ pr原创 2021-02-18 11:40:05 · 274 阅读 · 2 评论 -
数据结构学习3-单向链表、双向链表以及使用链表解决约瑟夫环
链表学习笔记链表是一种使用十分频繁的数据结构,它的优点在于可以将大量的数据存储在分散的空间内,当需要插入或修改节点的时候,只需要修改节点之间的指针即可。与之相反,数组的存储则需要连续的空间,当需要向数组中插入数据或者修改顺序的时候,需要对整个空间进行处理。所以:我们常说 如果查找的比较频繁就使用数组,如果修改比较频繁那么建议使用链表链表是以节点的方式来进行数据存储的,它分为带头节点的链表和不带头节点的链表单向链表每一个节点中都分为data域和next域 ,data域存放数据 ,next域指向原创 2021-02-13 14:53:05 · 298 阅读 · 2 评论 -
数据结构学习2-使用数组实现队列
队列队列的特征是先进先出,有序,我们常常通过数组、链表来实现队列,因为数组比链表简单,所以我们先从数组开始学习代码public class ArrayQueue { private int[] data; private int maxSize; private int rear; private int front; public ArrayQueue(int maxSize) { this.maxSize = maxSize;原创 2021-02-01 22:24:30 · 192 阅读 · 3 评论 -
数据结构学习1-稀疏数组
稀疏数组目的:压缩数组,使得存储的空间更小例子:/** 原二维数组0 0 0 0 00 1 0 0 00 0 2 0 00 0 3 0 0// 压缩后的稀疏数组4 5 3 原数组有几行几列,有多少个有效值1 1 1 每一个有效值的存放位置2 2 23 2 3 */当原数组中存在大量空值的时候,稀疏数组可以极大的压缩空间例如上面的原本需要存储20个值,但是转换成为稀疏数组之后只需要12个值即可满足要求代码int[][] arr1 = new int[11][11原创 2021-02-01 22:01:22 · 189 阅读 · 0 评论 -
为什么要重写hashCode
== 与equals 的区别==使用==的时候会根据对象的类型为引用对象还是值对象分开处理,如果是值对象的话会直接比较2个值是否相等,如果是引用对象的话会比较内存地址是否相同equalsequals 是Object 类提供的方法,除了值对象之外的其他对象都可以通过调用equals比较,如果没有重写此方法那么实质上也是比较2个对象的内容。为什么需要重写equals当我们的对象之间是否相...原创 2020-04-19 21:48:05 · 1259 阅读 · 0 评论