自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ai面试设计模式的使用

一、由于业务场景需要,面试分为两种模式:数智人播报面试,语音合成面试,后续会陆续衍生出其他形式的面试。二、定义面试相关上下文进行参数传递。所以针对面试行为进行统一整合。三、定义面试相关操作接口。文本播报模式面试上下文。数智人模式面试上下文。定义面试接口方法模板。定义抽象面试公共基类。

2023-06-25 09:57:44 240

原创 接入腾讯云apass数智人[交互式]

1、多个播报指令播报时,需要监听该会话下播报【结束】的状态再发送,否则播报指令将可能出现丢失,数智人只播报最新的一条指令。调用【新建视频流会话接口】获取[sessionId]会话唯一标识,[PlayStreamAddr]播放地址。2、播放流采用rtmp协议时,视频会存在3s左右的延迟,请妥善处理播报监听状态,以及数智人结束时的操作时机。,第三步:建立会话长链接(websocket)-监听数智人播报内容,以及播报状态。第五步:关闭会话-数智人停止播放。第四步:发送指令-进行播报。

2023-06-08 11:30:43 514 2

原创 服务端与Web实时通信Sse

详细了解后得知SSE是基于http协议,无需导入其他依赖,特点是服务端主动给客户端推送消息(单向),适合浏览器端只做数据接收。但是在 sse 的场景下,客户端发起请求,连接一直保持,服务端有数据就可以返回数据给客户端,这个返回可以是多次间隔的方式。从 sse 的特点出发,我们可以大致的判断出它的应用场景,需要轮询获取服务端最新数据的 case 下,多半是可以用它的。了解 websocket 的小伙伴,可能也知道它也是长连接,可以推送信息,但是它们有一个明显的区别。SSE 最大的特点,可以简单规划为两个。

2023-06-01 15:50:17 1832

原创 实时实时语音识别(websocket)接入-腾讯云

engine_model_type=16k_zh_dialect&expired=1685527216&needvad=1&nonce=37769&secretid=AKIDkHZbOtm7qKYu1ktrY0D9k6E6hfPdFIkx×tamp=1685440816&voice_format=8&voice_id=1256841545_1685440816950_byc53&signature=Qv1YDDYCP7skMsASStxFuAVMa0w=voice_format【语音编码方式】1:pcm。

2023-06-01 13:16:09 2626

原创 Kafka介绍

当然,每个分区只能由 同一个消费组内的一个consumer来消费.如下图所示,分别有三个消费者,属于两个不同的group,那 么对于firstTopic这个topic来说,这两个组的消费者都能同时消费这个topic中的消息,对于此事的架构 来说,这个firstTopic就类似于ActiveMQ中的topic概念。broker端不维护数据的消费状态,提升 了性能。这个参数是针对新的groupid中的消费者而言的,当有新groupid的消费者来消费指定的topic时,对于 该参数的配置,会有不同的语义。

2023-05-15 15:15:50 148

原创 synchronized关键字介绍

表示已经获得了锁对象的偏向锁,接着执行同步代码 块 如果 cas 失败,说明有其他线程已经获得了偏向锁, 这种情况说明当前锁存在竞争,需要撤销已获得偏向 锁的线程,并且把它持有的锁升级为轻量级锁(这个 操作需要等到全局安全点,也就是没有线程在执行字 节码)才能执行。偏向锁的撤销并不是把对象恢复到无锁可偏向状态(因为 偏向锁并不存在锁释放的概念),而是在获取偏向锁的过程 中,发现 cas 失败也就是存在线程竞争时,直接把被偏向 的锁对象升级到被加了轻量级锁的状态。

2023-05-15 11:26:40 52

原创 线程及线程池介绍

线程概念线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。进程与线程的区别1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线。

2023-05-15 11:25:07 70

原创 JVM-GC介绍

这就意味着,在正常的处理过程中,G1完成了堆的压缩(至少是部分堆的压缩),这样也就不会有cms内存碎片问题的存在了。老年代空间的构成其实很简单,它不像新生代空间那样划分为几个区域,它只有一个区域,里面存储的对象并不像新生代空间绝大部分都是朝闻道,夕死矣。将对象设置成null 至少没有什么坏处,但是使用System.gc() 便不可取了,使用System.gc() 时候并不是马上执行GC操作,而是会等待一段时间,甚至不执行,而且System.gc() 如果被执行,会触发Full GC ,这非常影响性能。

2023-05-15 11:22:43 461

原创 分布式事务介绍

出现原因是在 RPC 调用分支事务try时,先注册分支事务,再执行RPC调用,如果此时 RPC 调用的网络发生拥堵,RPC 超时以后,TM就会通知RM回滚该分布式事务,可能回滚完成后,Try 的 RPC 请求才到达参与者真正执行。最大努力通知,发起通知方尽最大的努力将业务处理结果通知为接收通知方,但是可能消息接收不到,此时需要接收通知方主动调用发起通知方的接口查询业务处理结果,通知的可靠性关键在接收通知方。写本地消息和业务操作放在一个事务里,保证了业务和发消息的原子性,要么他们全都成功,要么全都失败。

2023-05-15 11:21:18 113

原创 Spring介绍

spring容器刚启动的时候,spring会按照你的声明bean的方式(以xml的方式声明bean,以@Bean的注解声明bean,以@Componet注解方式声明bean等(其实也可以通过Properties资源配置))去读取你声明的信息,然后封装在一个叫BeanDefinition对象里面,BeanDefinition可以看成你配置信息的一个封装对象,就跟你平时new的User是一个概念,后面在创建对象的时候,spring拿出来BeanDefinition,基于你配置的信息来创建对象。

2023-05-15 11:19:08 74

原创 RockMq介绍

由于同一个topic的消息并不是连续的存储在commitlog中,消费者如果直接从commitlog获取消息效率非常低,所以通过consumequeue保存commitlog中消息的偏移量的物理地址,这样消费者在消费的时候先从consumequeue中根据偏移量定位到具体的commitlog物理文件,然后根据一定的规则(offset和文件大小取模)在commitlog中快速定位。通过固定延时等级的方式,同一个队列中的消息都是相同的延时等级,不需要对消息进行排序,只需要按顺序拉取消息判断是否可以投递就行了。

2023-05-15 11:18:33 417

原创 Canal介绍

(2)更新缓存:如果有大量的请求发送到mysql的话,mysql查询速度慢,QPS上不去,光查mysql可能会瘫痪,那就可以在前面加个缓存,这个缓存有2个主要的问题。对于第二个问题,如果数据库修改了,那就采用异步的方式进行修改,启动一个canal服务,监控mysql,只要一有变化就同步缓存,这样mysql和缓存就能达到最终的一致性。(3)抓取业务数据新增变化表,用于制作拉链表:做拉链表是需要有增加时间和修改时间的,需要数据今天新增和变化的数据,如果时间不全就没办法知道哪些是修改的。3、canal工作原理。

2023-05-15 11:15:32 239

原创 Eureka原理讲解

Eureka 作为 Spring Cloud 体系中最核心、默认的注册中心组件 Eureka Server:注册中心服务端注册中心服务端主要对外提供了三个功能:服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表提供注册表服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表

2023-04-28 10:47:51 214

原创 Zookeeper原理讲解

» Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状态,observer的目的是为了扩展系统,提高读取速度。leader关系是否改变,每次一个leader被选出来,它都会有一个新的epoch,标识当前属于那个leader的。崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后。• 6 .SYNC消息:返回SYNC结果到客户端,这个消息最初由客户端发起,用来强制得到最新的更新。

2023-04-27 16:28:38 105

原创 Dubbo原理

2)、从注册中心发现引用服务:ReferenceConfig解析出的URL的格式,基于扩展点的Adaptive机制,通过URL协议头识别,就会调用RegistryProtocol的refer方法,从refer参数总的条件,查询提供者URL,通过提供者URL协议头识别,就会调用DubboProtocol的refer()方法,得到提供者引用。所以dubbo也是先读配置文件解析服务。如:服务端是什么,有多少接口,多少方法,调用次数,压力信息等,客户端有多少,调用过哪些服务端,调用了多少次等。

2023-04-27 16:26:39 155

原创 mySql底层原理

逻辑架构1、 MySQL逻辑架构整体分为三层,最上层为客户层,并非MySQL所独有,诸如,连接处理、授权认证、安全等功能均在这一层处理。2、MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(时间、数学、加密等),所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。3、最下层为存储引擎,其负责MySQL中的数据存储和提取,中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎的差异。 查询流程 查询缓存在解析一个查询语句前,如果查询缓存是打开的,那么

2023-04-27 16:25:02 1319

原创 AQS原理

1:【tryAcquire】尝试以独占的方式获取资源,如果获取成功,则直接返回true,否则直接返回false。2:【addWaiter(Node)】 该方法用于将当前线程根据不同的模式(Node.EXCLUSIVE互斥模式、Node.SHARED共享模式)加入到等待队列的队尾,并返回当前线程所在的结点。自定义同步器在实现时只需要实现共享资源state的获取与释放方式即可,至于具体线程等待队列的维护(如获取资源失败入队/唤醒出队等),AQS已经在顶层实现好了。FIFO 队列来完成资源获取线程的排队工作。

2023-04-27 16:20:19 84

原创 JVM原理讲解

老年代的默认GC算法是标记整理法。这块知识点比较简单,本地方法栈和虚拟机栈的功能类似,只不过是为JVM调用native方法时服务的,而且JVM对本地方法使用的语言(比如Java调用C语言实现的功能,就需要定义native方法来实现)、使用方式和数据结构都没有强制规定,因此不同的虚拟机可以自由实现。根据存储内容也好理解,假如是线程共享的,那多个线程执行的时候,都不知道自己当前线程执行的地址是哪个了,有的线程快,有的线程慢,快的执行完就进入下一步,等慢的线程执行完回来发现自己的地址都变了,岂不乱套?

2023-04-27 16:17:52 565

原创 AI学习与算法整理

分类:基于现有的会员及其特定类别标签(可选择有代表性或与实际运营场景最相关的类别标签)做分类模型训练,将该新用户的数据作为新的样本输入模型,预测得到该用户所属的目标类别。2.两名选手的表现实力相互独立。聚类:将新的会员和现有的会员作为一个整体做聚类分析,然后获得该会员所属的聚类类别,进而提取其所在类别下其他会员的经常购买商品、经常浏览信息等,并给出推荐内容。k-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据。

2023-04-27 10:52:34 310

原创 【AI】神经网络

神经网络是一种很古老的算法,它最初产生的目的是制造能模拟大脑的机器,从某种意义上说如果我们想要建立学习系统,那为什么不去模仿我们所认识的最神奇的学习机器——人类的大脑呢?为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?问题:假使我们采用的都是50x50像素的小图片,并且我们将所有的像素视为特征,则会有 2500个特征,如果我们要进一步将两两特征组合构成一个多项式模型,在神经网络中,原始特征只是输入层,在我们上面三层的神经网络例子中,第三层也就是输出层做出的预测利用的是第二层的特征,

2023-04-27 10:40:27 312

原创 【AI】神经网络介绍

【AI】神经网络介绍

2023-04-27 10:34:13 229 1

原创 关于redis的一些实用理论

Redis是一个基于内存的key-value存储系统。与其它一些NoSQL解决方案不同的是,Redis支持多种数据结构,如string(字符串)、hash(哈希)、list(列表)、set(集合)和sorted set(有序集合)等等。

2023-04-27 10:29:55 144 1

原创 源码讲解Spring的循环依赖

java循环依赖问题讲解,源码分析

2023-04-27 10:24:30 144 1

原创 IO模型介绍

java io模型详解

2023-04-26 17:24:07 128 1

空空如也

空空如也

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

TA关注的人

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