自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于GMM-HMM的语音识别系统

2024-07-21 19:05:09 67

原创 数字信号处理基础知识和GMM模型EM算法

2024-07-14 20:03:06 72

原创 使用RNN模型构建人名分类器

短文本分类问题。

2024-06-30 20:36:40 223

原创 nlp基础-文本预处理及循环神经网络

1 文本预处理及其作用定义:文本送给模型之前,提前要做的工作作用:指导模型超参数的选择 、提升模型的评估指标文本预处理 工作 结束 的标志:准备出来X和Y 能送给模型2 文本预处理的主要环节1 文本处理的基本方法分词:按照一定规则对文本重新划分,进行分词词性标注:把文本序列标注出来动词、名词、形容词这个过程词性标注命名实体识别:把专有名词(人名、地名、机构名)给识别出来。

2024-06-23 17:11:20 811

原创 springboot使用指南

springboot使用指南

2022-05-13 20:53:14 256

原创 策略模式在实际项目中的应用

策略模式主要用于对项目中多个if … else …语句的重构优化的策略。 如果这多个if … else… 语句的业务逻辑都是类似的,只有参数的不同而已的时候,这时候可以用策略模式==》面向接口编程!!!第一步:先抽象出一个接口,里面的方法就是抽象的业务处理第二步:再新建多个实现类,每个实现类对应的就是每个不同的业务处理逻辑第三步:最后新建一个业务处理的上下文类。用于具体的业务处理使用场景:1、多个类只有在算法或行为上稍有不同的场景2、算法需要自由切换的场景3、需要屏蔽算法规则的场景...

2022-05-13 20:52:00 506

原创 通俗易懂讲解spring源码

容器与 bean1) 容器接口BeanFactory 接口,典型功能有:getBeanApplicationContext 接口,是 BeanFactory 的子接口。它扩展了 BeanFactory 接口的功能,如:国际化通配符方式获取一组 Resource 资源整合 Environment 环境(能通过它获取各种来源的配置信息)事件发布与监听,实现组件之间的解耦可以看到,我们课上讲的,都是 BeanFactory 提供的基本功能,ApplicationContext

2022-04-19 09:03:50 1102

原创 python中大顶堆和小顶堆

python中默认是小顶堆,解决的是最大的k问题想要变成大顶堆,java里面直接在参数里面用lambda表达式解决即可,但是python里面没有,此时需要借助一些奇淫技巧,那就是给你的那个目标值添加一个负号,使之成为负数,这时排序时虽然还是按照小顶堆来排序,但是因为添加了一个负号,所以输出的时候如果再添加一个负号,还原,那么就是大顶堆了。因为最大数添加负号肯定为最小数了python里面的优先队列,如果push进去的是多维列表,那么是按照第一个维度进行排序的,这很坑爹,不能像Java那样随意指定。所以如果

2022-03-19 12:58:30 1690

原创 累加和可以用map的key来存储

累加和可以用map的key来存储,val存储累加和的出现的次数,这样可以方便的解决连续子数组的和的问题

2022-03-18 20:42:21 225

原创 python 中 List[:]的作用

在python中一个列表类型的变量 , 如a = [1,2,3,4,5]b = a[:]b[0] = 100print(a) # [1,2,3,4,5]print(b) # [100,2,3,4,5]说明列表后面用[:]表示重新分配了内存给新的列表变量,这时两者的内存地址是不同的,因此,改变其中的一个变量a 是不会影响到另一个变量b的其实也就是相当于java里面的重新new了一个对象出来...

2022-03-06 21:03:05 6439

原创 贪心算法---区间问题

sfd

2021-11-19 09:15:21 299

转载 数据库和缓存数据的一致性

转载自知乎,数据库与缓存的不一致问题

2021-10-27 12:39:54 77

原创 去重的时候首先选用hash数组

尽量多用hash数组作为set集合,不要第一反应就是java中的set集合

2021-10-20 17:23:34 61

原创 慢SQL与执行计划篇

ideq_ref 就是连接查询的时候,通过这张表的主键 与 另外一张表的外键进行 连接 ,那么这张表的 type 就是 eq_refref 就是普通的索引,这个就比较弱,扫描的行数就可能不止一行Using index:索引覆盖,访问的列都是在索引中的,不需要回表出现using where说明访问效率不是很高...

2021-10-20 14:55:43 98

原创 通俗易懂讲解树形DP

在做二叉树的题目的时候,如果你觉得和动态规划有点像,那就用动态规划的思想来做,然后树的遍历是后序遍历的,和动态规划由底向上的思想不谋而合「动态规划」同样可以作用在树形结构上,这样的问题被称为树形 DP 问题。我们知道树形结构的特点是:只有一个根结点,因此 先计算深层结点的值,然后递推计算浅层结点的值是树形 dp 问题常见的求解思路,即 后序遍历。并且为了使得求解问题的过程呈现明显的阶段特征,满足 无后效性,通常在结点后面需要增加一维状态,表示「结点选择」或者「结点没有选择」。因此树形 DP 问题的重要

2021-10-14 14:41:22 333

原创 力扣中的位运算操作

位运算的奇淫技巧位运算详解

2021-10-13 20:51:17 130

原创 JDK1.7ConcurrentHashMap源码解析

CAS 比较的是: 拿pre值和当前共享变量中的最新值进行比价,如果一致的话,则将最新值修改为 pre值。 如果不一致说明别的线程修改了,则不进行修改,再来一次循环刚开始时只会创建一个Segment[ ] 数组,这个Segment[ ]相当于一个模板对象,之后的Segment【】都是这第一个为模板进行创建的在这里插入图片描述Segment类继承了ReentranLock类,说明 Segment是一个锁对象。一个一个的Segment 就是一个一个的锁,也叫做分段锁。16个并发位置互不影响。

2021-10-09 14:20:11 121

原创 通俗易懂讲解区间DP

区间dp : 整个区间(从0 到 len-1) 上的操作结果,等于 将这个区间一刀切成两段,然后这两个区间上的操作结果 + 中间这个切点的操作dp[L,R] = dp[L, k] + cost(L,R,k) + dp[k,R]最典型的就是多边形 顶点组成三角形 的顶点乘积的最小值问题了。这里的切点是至关重要的,这个切点不一定就是一点,可能也是一大块连续的区域作为一个大的切点。而且也不一定就和左端点和右端点有关系。这里的切点有可能就是单纯的一条线,不包括任何的元素值...

2021-10-06 15:51:23 267

原创 通俗易懂讲解什么时候用递归?

1、状态:总的状态 = 当前处理的事情 + 剩余的状态比如: dfs(5) = xxxx + dfs(4)2、(这个其实是递归) 如果操作若干个对象,结果在操作某个对象的时候,诶… 这个对象成精了,它也具有向我这样的操作别人的能力了,这时候,这个成精的对象就要用递归了3、需要画出多叉树图,来穷尽出所有的方案,然后找到你需要的方案...

2021-10-02 21:14:19 1561 1

原创 Spring循环依赖的解决

bean实例化 ----> 填充属性 ---->Aware回调方法 ----> 初始化 ---->在这里插入图片描述beanFactbeanFactoryPostProcessor 是在beanDefinition后执行的,可以用于对benaDefiniton里面的属性进行修改Spring 先去扫描类,然后根据这些类上面的注解,生成beanDefinition,然后将其放到beanFactory中有个Map属性中去,叫beanDefinitonMapBeanFac.

2021-09-28 13:21:34 102

原创 通俗易懂讲解mysql和Redis数据一致性

mysql和redis数据同步方案mysql集群主从复制 解决单点故障问题2、高可用方案 对外提供是一个主节点,投票3、横向扩展cluster集群 对外提供多个主节点怎么优化单个主节点的处理能力?主节点master 发生了写操作,数据进行了变更,binlog里面将会有记录这时候从节点slave 开启io线程 读取master节点的binlog日志,然后生成一个中继日志 relay log,再由 sql线程读取这个relay log日志,回放,写入到从节点中,这样就完成了同步。mysq

2021-09-27 18:53:45 210

原创 通俗易懂讲解回溯算法

回溯算法需要设计的状态变量其中used 这个变量及其重要,容易被忽略。整理一下,全排列问题需要的状态变量有:整型变量 index :表示当前需要确定的下标位置;布尔数组 used :记录某个下标的元素是否使用过;列表 path:记录从根结点到任意结点的路径。index变量表示当前执行到哪个状态了,哪个地方了path变量列表 path 这个变量很重要,理解它的作用和在深度优先遍历的过程中变化的规律非常关键,我们通过一个动画向大家展示 path 是如何在 深度优先遍历 的过程中。请大家重点

2021-09-18 15:52:36 299

原创 mysql高级部分<四>

优化案例aop拦截 记录日志记录

2021-09-18 14:38:22 64

原创 netty中的channel和pipeline

channel,pipeline只要是channel就会有这个channel上对应的流水线pipeline,这个流水线pipeline上有各种各样的handler处理器,用来给这个channel上流过的东西进行加工。所以,不仅服务器与客户端之间连接的SocketChannel上有流水线,而且Server服务器与客户端建立accept事件的serverSocketChanel上也有流水线。每个流水线上必有head tail两个处理器,在netty中serverSocketChanel上还有一个acceto

2021-09-12 20:50:50 231

原创 for循环

for循环只要一断开,就彻底断开了,不存在之后又因为条件满足,而又运行起来了。int[] arr = {1,1,1,2,2,1,1,1};for (int i = 0; i < arr.length && arr[i] != 2; i++) { System.out.println(i);}

2021-07-11 21:46:38 57

原创 动态规划定义数组

动态规划中经常遇到定义dp数组时,需要扩大一个,但有时候又不需要扩大一个,只需要也定义为数组大小的即可,怎么区分呢?如果题干中的那个值和数组的下标存在十分紧密的关系,也就是通过这个值可以充当数组下标,取出数组中的这个值,那么定义dp数组时,就不需要扩大一个。相反,如果不能通过这个值,取出数组中的数,这个作为下标的值仅仅是作为题目的答案而存在的话,那就需要定义dp数组的时候扩大一位...

2021-07-11 21:25:47 482 1

原创 动态规划与记忆化递归

其实记忆化递归就是动态规划leetcode零钱兑换动态规划版本import java.util.Arrays;public class Solution { public int coinChange(int[] coins, int amount) { // 给 0 占位 int[] dp = new int[amount + 1]; // 注意:因为要比较的是最小值,这个不可能的值就得赋值成为一个较大的值 // 初始化

2021-07-11 18:43:52 433

原创 数组转化为二叉树,并且数组中带null,表示树的空节点

public class friends { public static void main(String[] args) { String s = "1,null,2,4,null,3,5,6,7"; TreeNode deserialize = deserialize(s); dfspring(deserialize); } public static void dfsprint(TreeNode root){

2021-07-11 07:56:50 597

原创 项目day01

观察者模式这种模式不需要实时去刷新数据看有没有数据生成,而是设置一个观察者作为一个中间人去观察,如果观察到有数据生成,则立马通知

2021-06-15 04:38:04 207

原创 动态规划常见套路

本章纯属套路,零基础估计有点看不懂第一 动态规划要想求解最后一个状态,肯定最外面得来个整个数组的for循环,这样依次根据每个状态之间的关系,通过这个for循环就能够得出最终状态的值,这里的for循环肯定是从左到右的,因为这种类型的动态规划是求解最后一个状态第二 for循环中每个状态的求解,如果要依赖于这个状态之前的所有状态的话,那么里面的每个状态同样也得来个for循环,这种情况就有点复杂了第三 并不是所有的动态规划都是求解数组中最后的一个状态,这时有可能是根据数组中的所有状态来求解一个其中的

2021-04-30 14:46:44 181

原创 通俗易懂讲解Scanner的next()方法和hasnext()方法

public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean a = scanner.hasNext(); System.out.println(a); String b = scanner.next(); System.out.println(b);

2021-03-23 15:01:09 1535 1

原创 java常见面试题<java基础>

第一点:回答各优缺点第二点:回答ArrayList如果初始化容量并使用尾插法加入数据的时候,则效率是高于LinkedList第三点:这时候面试官肯定会问你这个问题,list在遍历时删除元素怎么搞?第一种:for循环倒着遍历 第二种:使用迭代器...

2021-03-22 16:00:02 51

原创 Redis缓存穿透,雪崩,击穿问题

缓存的作用: 其实就是CPU与内存之间的桥梁。当查询一条数据的时候,会先到缓存中去查,如果有结果的话,就直接返回,如果没有结果的就会到数据库Mysql中去查,如果mysql中有,就会存入到redis中,然后然后查到的这条数据。如果连mysql中都没有,就真的没有数据了缓存穿透问题缓存穿透:缓存和数据库中都没有这条数据解决方案:1、 如果mysql中没有这条数据,那么就在redis中缓存一个空对象这种方案解决的是一个key-value没有的情况,但如果每次查询,数据库和redis中都没有数据的话,那

2021-03-16 11:26:41 67 1

原创 剑指offer的每题求解思路

剑指offer03 数组中重复的数字思路: 只要数组中的数字是有范围的,而且是与数组长度大小是有关系的,这时脑子中的第一思路就是用数组来模拟哈希表,简称数组hash,数组hash就是这个数组中的下标值就是原数组中的值剑指offer04 二维数组中查找思路:找到最后一列的值,从上到下进行比较,如果target小于这个值,说明,target在以这个值为右下角的矩形当中。如果target大于这个值,说明target在以这个值为右下角的矩形的下面!!!剑指offer05 替换空格...

2021-03-10 16:49:22 108

原创 通俗易懂讲解二分查找

此种二分查找的思路并不是为了直接去查找目标元素,而是不断地去排除不是目标的元素,退出循环时,数组中只有一个元素,那么这个元素很大可能性是目标元素,如果题目已经告诉你数组中有一个目标元素,那么这个铁定是目标元素public class Solution { public int search(int[] nums, int target) { int len = nums.length; int left = 0; int right = l

2021-01-23 10:53:43 145 1

原创 Lombok 的 @EqualsAndHashCode(callSuper = false) 的使用

这个注解是用在子类上的,里面的参数callSuper,顾名思义 call就是呼唤,调用的意思,super 自然就是父类的意思了,所以callSuper的意思就是调用父类的意思,这是啥意思,什么调用父类,什么鬼?如果这里的callSuper赋值为false,说明不调用父类,这里的调用其实可以看做是 在创建子类对象的时候,通过构造函数创建子类对象的时候,构造函数里面的父类的参数 形同虚设,没啥用,因此这里你可以看成是不继承父类的属性!只要你创建的对象,子类自己定义的属性,赋值相同,这样对象在调用equals的

2021-01-18 17:02:20 997 1

原创 lambda表达式省略格式

方法体中只有一行代码,可以省略三个东西:分别是return 关键字,分号,和大括号注意:无参数时,小括号()是一定不能省略的,只有一个参数时,小括号才可以省略

2021-01-17 17:32:56 398

原创 2021-01-16

Mybatis注解开发一对一的查询配置如果数据库中的字段名和Dao中的属性名不匹配,那么数据将不会注入进去当你的dao里面封装了对象(一对一时),或者对象列表时(一对多)时,这时,当你在select这个dao时,这时,你的resultMap中肯定要加一个association 和 collection这两个标签中的一个,这时候,而且里面要加select属性,因为,这时要关联查询,当碰到了这个collection时,要根据select里面的接口中的方法,进行查询collection标签在r..

2021-01-16 17:08:14 169

原创 存储过程

mysql声明变量时,变量类型都要写在变量后面set赋值记得要加等号case语句一定要写ELSE else else ,一定要写else剩余的语句,不然很容易报错的

2021-01-15 14:17:09 78

原创 工程Jar包关系

父工程其父类为 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> <relativePath/> </

2021-01-15 09:30:13 129

空空如也

空空如也

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

TA关注的人

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