自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 二叉树的深度/广度优先搜索

【代码】二叉树的深度/广度优先搜索。

2024-02-07 15:22:03 228

原创 快速排序java

1.循环时,先让右边的向左走。这样可以保证挪动基准位时不会把大的移到左边。2.一般把最左边当基准位。

2024-02-04 12:07:57 153

原创 本人java刷题时错过的地方

1.链表中存储的是引用而不是对象本身。2.this引用当前对象的实例。

2024-02-03 18:28:06 79

原创 回溯,剪枝

【代码】回溯,剪枝。

2024-02-03 16:16:33 130

原创 java多线程

java语言中,实现线程有两种方式第一种方式:编写一个类,直接run方法。第二种方式:编写一个类,接口,run方法。

2024-01-30 10:32:45 120

原创 Object中的Class

1.Object类中包含一个名为Class的成员,Class 类对象可以将一个类的方法、变量等信息告诉运行的程序。2.每个实例都有对Class的引用,他们指向同一个Class。

2024-01-29 18:04:25 153

原创 二分(算法)

参考。

2024-01-11 21:13:36 326 1

原创 双指针(算法)

常见分类:对撞指针、快慢指针。

2024-01-11 18:30:17 433 1

原创 ue 目录结构

1.上面是一个项目的资产的目录(项目名前面加下划线,这样会在前面)

2023-11-28 21:43:03 690

原创 java刷题中常用的集合和相关函数

4.HashMap中使用put(),若该key已存入,会更新value。HashSet中使用add(),若有对象有相同key,会判断是不是相同对象,不同会继续存,相同会返回false不存、1.HashMap中使用put()将元素加入map中,而HashSet使用add()将元素放入set中。3.HashMap不允许有重复的键,可以允许有重复的值。1.Map的getOrDefault()方法 ,可以在没有这个key时返回默认值。2.HashMap用于存储键值对,而HashSet用于存储对象。

2023-11-09 10:51:07 79 1

原创 Spring boot异常统一处理

Getter这里是利用了AOP,建立一个切片去捕捉异常,分类处理我们可以更改value来捕获我们自己定义的异常(这个只能是由我们自己手动抛出的)因此为了更方便简洁,我们可以使用枚举类型和断言@Slf4j/*** description: errorHandler 处理算数运算异常<br>* @date: 2022/12/27 0027 下午 4:44* @param exception 异常*/return Result.build(500, "算数运算异常");/**

2023-11-03 15:40:31 40

原创 Java日志组件 slf4j

要使用这个组合,需要引入的jar包有:slf4j-api-x.x.x.jar,log4j-x.x.x.jar,slf4j-log4j12-x.x.x.jar。slf4j-log4j12是slf4j与log4j之间的桥接包,这个包的存在是和slf4j设计方式、log4j实现思想密切相关的。可设置日志输出级别,若输出级别是 WARN 级别,因此,logger.info()这个函数不会输出任何信息。2.门面功能:日志框架的绑定,日志框架的桥接(即门面是规范,其底层可更换)可设置日志输出位置(可控制台,可保存)

2023-11-02 22:45:55 81

原创 Spring 面向切片(AOP)

AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。

2023-11-02 22:33:45 182

原创 其他修饰符

修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。临时数据:有些字段是暂时性的,不需要持久化。例如,您可能有一个用于缓存计算结果的字段,但这些缓存值不应该被序列化,因为它们可以在反序列化后重新生成。不可序列化的字段:有些字段的类型不支持序列化,或者是第三方库的类,不能被序列化。块,可以指定一个对象(通常是一个共享的锁对象),以确保只有一个线程能够执行包含在。如果锁已经被另一个线程占用,那么线程将被阻塞,直到锁被释放。,可以确保整个对象可以被序列化,而不必考虑这些无法序列化的字段。

2023-10-26 15:25:14 35

原创 java多线程1

线程一旦响应中断就会把 isInterrupted 标记清除,所以如果在 while 里 try-catch sleep,是无法停止线程的。start不能重复调用,比如当第一个start执行后,线程进入end,此时就不能调用start重新启动了。源码来看,start一开始会判断线程状态是否为0,即未启动状态,然后把线程加入线程组,调用start0方法,并修改started状态。1)从解耦角度,run应该和类本身的创建分开,Thread是将run()进行重写,Runnable则调用传入对象的方法;

2023-10-08 17:44:56 32 1

原创 一个让c++代码编译更快的方法

这就是为什么在.h文件中声明别人写好的类,然后在.cpp文件中引用相应的头文件可能会导致编译更快的原因之一。避免重新编译依赖项:如果你只在.cpp文件中引用头文件而没有修改头文件本身,那么编译器只需要重新编译与该.cpp文件相关的部分,而不需要重新编译依赖于相应头文件的其他部分。这可以减少编译时间,因为不必重新编译整个项目。在学习unreal过程中,发现老师说,如果你在.h文件中声明一个别人写好的类(通常是引擎或插件提供的类),并在.cpp文件中引用相应的头文件,这样做可能会导致编译速度更快。

2023-09-02 22:14:26 138 1

原创 github库简单使用教程

很多东西不需要上传,可以搜索模板,在同步项目时忽视这些东西。

2023-08-28 20:46:37 45 1

原创 c++堆(优先队列)

是 C++ 标准库中的一个容器适配器(Container Adapter),它提供了一个实现优先队列数据结构的抽象接口。优先队列是一种特殊的队列,其中的每个元素都有一个关联的优先级值,优先级高的元素会在队列中拥有更高的优先级,因此在取出元素时,优先级高的元素会先被取出。是基于最大堆实现的,即优先级高的元素会排在队列的前面。你可以通过指定不同的比较函数对象来改变其行为,例如使用。,这取决于比较函数对象的选择。可以用来实现最大堆或最小堆。

2023-08-20 21:14:59 48 1

原创 滑动窗口(算法)

滑动窗口是一种用于处理数组或字符串中连续子序列的技巧。它通常用于解决涉及子数组或子字符串的问题,例如求取最长/最短的连续子序列,子序列满足某些条件等。基本思想是维护一个窗口,通过调整窗口的起始和结束位置,来找到满足特定条件的子序列。右边一直向前,左边根据情况判断是否向前(使用while简化过程)

2023-08-19 20:50:06 34

原创 c++内存区域

栈是用于存储局部变量、函数参数以及函数调用的上下文信息的区域。每次函数调用时,相关的信息都会被推入栈中,函数返回时会弹出。栈的大小通常受到限制,过多的栈使用可能导致栈溢出。2. 在深度优先算法中,处理大数据,使用堆栈比递归更安全。而stack存储在堆区,虽然操作麻烦,但安全。堆是动态分配内存的区域,用于存储程序运行时动态创建的对象。堆上的内存分配较灵活,但也需要手动管理内存,以避免内存泄漏和访问非法内存。这些数据是只读的,无法在程序运行时修改。也称为文本区,存储程序的机器指令或者可执行代码。

2023-08-15 19:40:53 31

原创 图的广度优先搜索(算法)

1. 在图中,必须记录节点是否被访问,否则可能会陷入循环。2. 弹出第一个节点,对其进行处理(同时标记为已访问)3. 遍历其所有相连的节点,把未访问的放到队列后边。1. 新建一个队列,放入起始点。4. 重复23直到队列为空。

2023-08-04 19:43:40 42 1

原创 图的表示方法与深度优先搜索

使用二维数组,matrix [ i ][ j ] 表示从 i 到 j 的边,无向图通常会把matrix [ i ][ j ]和matrix [ j ][ i ]同时设置。邻接表使用一组链表来表示图的连接关系。对于每个顶点,都有一个与之相邻的顶点链表,这个链表存储与该顶点直接相连的边。

2023-08-03 22:54:46 40

原创 动态规划(算法)

动态规划是一种解决多阶段决策问题的优化方法。它通过将问题分解为多个子问题,并且通过解决子问题得到最优解。动态规划的核心思想是利用子问题的最优解来构建原问题的最优解。

2023-08-03 16:27:40 39

原创 单调栈(算法)

3.在插入时,先弹出大于等于(或小于等于)自己的数据,直到遇到第一个小于(或大于)自己的数据时停止,把自己插入栈中。2.在栈底放入(-1或0,max/min),来保证每一个数据都能正常弹出。1.通常使用pair(位置,数组)作为基本单位放进单调栈。4.二者的位置之差通常为所求。

2023-08-01 14:59:07 48 1

原创 机器学习决策树(实战)

注意这里用的数据集第一行没有标签名(header指标签名)。Scikit-learn 是一个用于机器学习的库,只要文件内是csv格式,函数就能正确读取,不一定必须是csv文件。这里把前四列作为特征,第五列作为标签(且把第五列转化为整数编码)模块提供了一些常用的数据集供学习和实验使用,其中的。方法类用于加载鸢尾花数据集(Iris 数据集)。测试时要输入二维数组,每一项要包含四个特征。

2023-07-31 16:43:49 571 3

原创 大致了解机器学习

4. 使用TensorFlow Java API:如果你的模型是使用TensorFlow保存的,可以在Java项目中使用TensorFlow Java API来加载和运行模型。云服务:如果你的计算资源不够或者想要更快的训练速度,可以使用云服务提供商(例如AWS、Google Cloud、Microsoft Azure等)的机器学习平台,它们提供了强大的计算资源和预配置的机器学习环境。无论你选择哪种方式,都需要确保Python环境和Java环境之间的兼容性,并处理好数据传输和模型结果的转换。

2023-07-26 16:15:50 59 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除