自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程哥哥的一亩三分地

程哥哥的一亩三分地

  • 博客(155)
  • 收藏
  • 关注

原创 2023后端暑期实习求职随想

找实习这两个月,明白了自己也只是一个普通的不能再普通的人,没有好的天赋,只能靠反复练习,才有可能抓住一次来之不易的机会;也明白了在大环境经济形式不好的情况下,个人的努力也只是杯水车薪,在时代的技术洪流下,个人的技术积累也显得那么微不足道。

2023-04-04 21:22:38 1824 4

原创 图神经网络关系抽取论文阅读笔记(五)

模型的整体架构如下图所示。r^=arg⁡max⁡r∈Rp(r∣A−GCN(X,TX))r=r∈Rargmax​p(r∣A−GCN(X,TX​))其中Tx是从现成的工具包中获得的x的依赖树,R是关系类型集;P计算给定两个实体的特定关系r的概率,而是r以X和Tx为输入的A-GCN的输出。本文提出了利用依赖信息进行关系提取的A-GCN方法,即对依赖连接应用注意机制,对连接和类型同时施加权重,

2022-12-01 10:34:19 1266 3

原创 图神经网络关系抽取论文阅读笔记(一)

随着单词和被标记实体之间距离的增加,单词的贡献逐渐减小。最后,将特征向量传入softmax分类器中得到针对每个关系的置信度,置信度最高的关系类型就是预测的两个被标记实体在当前句子中所表达的语义关系。下表中L1 是实体名词1,L2是实体名词2,L3是实体1的上下文,L4是实体名词2的上下文,L5是实体的义原特征。随着预训练语言模型BERT在众多自然语言处理任务中取得的显著效果,研究学者开始将BERT应用到关系分类任务上来,其中最具有代表性的是Wu等人提出的R-BERT模型,模型的整体结构如图所示。

2022-11-21 20:37:35 665 6

原创 BERT预训练模型学习笔记

在self-attention中每个词都会考虑整个序列的加权,所以其出现位置并不会对结果产生什么影响,相当于放哪都无所谓,但是这跟实际就有些不符合了,我们希望模型能对位置有额外的认识。对于输入的数据,你的关注点是什么?一组q,k,v得到了一组当前词的特征表达;将所有特征拼接在一起;每个词的Attention计算,每个词的Q会跟整个序列中每一个K计算得分,然后基于得分再分配特征。构建三个矩阵分别来查询当前词跟其他词的关系,以及特征向量的表达。[seq]:两个句子之前的连接符,[cls]:表示要做分类的向量。

2022-11-15 15:10:36 548

原创 CCF大数据与计算智能大赛训练赛——图书推荐系统技术报告

该赛题为DataFoutain中的一道训练赛题目,赛题任务是依据真实世界中的用户-图书交互记录,利用机器学习相关技术,建立一个精确稳定的图书推荐系统,预测用户可能会进行阅读的书籍。

2022-10-21 23:52:07 2456 3

原创 天猫复购预测训练赛技术报告

逻辑回归[1](Logistic Regression,LR)是一种广义线性回归(Generalized Linear Model),在机器学习中是最常见的一种用于二分类的算法模型。决策树[2](Decision Tree,DT)是一种基本的分类与回归方法,本文主要讨论分类决策树,决策树模型呈树形结构,在分类问题中,表示基于特征对数据进行分类的过程。随机森林[3]

2022-10-21 23:34:44 5128 7

原创 国科大图数据管理与分析课程项目gStore实验报告

​**任务二**编写sparql语言实现多层股权的穿透式查询,可以根据指定层数获得对应层级的股东,例如输入“招商局轮船股份有限公司””和层数3,就会把“招商局轮船股份有限公司”所对应公司所有三层以内的公司找出来。本数据集是一部分清洗好的股东持股关系三元组数据jinrong.nt文件,主语是公司的名称,宾语是股东的名称,在使用时需要先上传到gStore云端。​**任务三**编写sparql语言实现环形持股查询,判断两家公司是否存在环形持股现象,环形持股是指两家公司彼此持有对方的股份。......

2022-07-21 00:19:23 1352 1

原创 湖仓一体技术调研(Apache Hudi、Iceberg和Delta lake对比)

作者:程哥哥、刘某迎 、杜某安、刘某、施某宇、严某程​ 随着当前的大数据技术逐步革新,企业对单一的数据湖和数仓架构并不满意。越来越多的企业开始融合数据湖和数据仓库的平台,不仅可以实现数据仓库的功能,还实现了各种不同类型数据的处理功能、数据科学、用于发现新模型的高级功能,这就是所谓的"湖仓一体"。湖仓一体(Data LakeHouse)是一种新型开放式架构,将数据湖和数据仓库的优势充分结合,它构建在数据湖低成本的数据存储架构之上,又继承了数据仓库的数据处理和管理功能。作为新一代大数据技术架构,将逐渐取代单一

2022-06-11 14:53:37 3540

原创 知识图谱课程报告-关系抽取文献综述

关系抽取文献综述引言:​ 随着大数据的不断发展,在海量的结构化数据或非结构化数据中更低成本的抽取出有价值的信息越来越重要,可以说信息抽取是自然语言处理领域的一项最基本任务,信息抽取进而可被分成三个子任务:实体抽取(entity extraction)、关系抽取(relation extraction)和事件抽取(event extraction),而关系抽取搭建起知识图谱研究的基石。本文先介绍了关系抽取的定义和研究意义,而后指出了关系抽取目前存在的一些挑战,并介绍了关系抽取评测所使用到的几个主流测试数

2022-05-19 12:41:25 2968 3

原创 国科大大数据系统与大规模数据分析课程第二次作业(Graph Coloring)

​ WordCount的变体,主要考察对Hadoop MapReduce框架编程的熟练度,几乎无坑点。​。

2022-04-18 00:22:05 5933

原创 springboot基础知识复习笔记

Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。spring-boot-starter-data-redis redis数据库支持。spring-boot-starter-data-jpa 数据库支持。Spring和Spring MVC要配置大量的参数。

2023-03-16 14:15:03 435

原创 MyBatis基础知识复习笔记

Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。

2023-03-16 11:03:17 534

原创 Spring基础知识复习

是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置有这些模块:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP服务;Spring DAO:对JDBC的抽象,简化了数据访问异常的处理;

2023-03-14 16:44:33 391

原创 Java基础知识复习笔记(一)

如果负载因子为0.5甚至更低的可能的话,最后得到的临时阈值明显会很小,这样的情况就会造成分配的内存的浪费,存在多余的没用的内存空间,也不满足了哈希表均匀分布的情况。如果负载因子达到了1的情况,也就是Entry数组存满了才发生扩容,这样会出现大量的哈希冲突的情况出现链表过长,因此造成get查询数据的效率。因此选择了0.5~1的折中数也就是0.75,均衡解决了上面出现的情况。

2023-03-13 15:03:58 241

原创 Raft分布式共识算法学习笔记

Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实现上都相对容易许多

2023-03-10 12:24:39 490

原创 Git常用命令复习笔记

两者的区别是github有私有仓库和共有仓库,私有仓库一般收费,gitlab打破这种限制,可以免费搭建私有仓库,并且可以部署在自己的服务器上。建议使用merge,保留原分支变更,master就是一次一次的merge,gitk命令可以很直观的看到,或平台网页端网络图那里更好看,什么时候合并了一个feture。rebase后看总图,会有很多重复提交;Github 是一个基于git实现在线代码托管的仓库,向互联网开放,共有仓库免费,建立私有仓库要收费,因为Github的初衷就是为了大家共享自己的劳动成果。

2023-03-04 12:26:14 1157

原创 字节青训营——秒杀系统设计学习笔记(三)

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要包括了节点调度、节点负载均衡和内容存储、分发、管理技术。CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。

2023-02-15 21:45:00 425

原创 字节青训营——秒杀系统设计学习笔记(二)

追求数据可靠性/强一致性:使用Zookeeper追求性能:选择Redis,推荐RedissonRedis分布式锁目前最大问题在于:主从模式下/集群模式下,master节点宕机,异步同步数据导致锁丢失问题Redis的RedLock算法具有很大争议性,一般不推荐使用存 > 数据库从性能角度(从高到低):缓存 > Zookeeper >= 数据库从可靠性角度(从高到低):Zookeeper > 缓存 > 数据库追求数据可靠性/强一致性:使用Zookeeper追求性能。

2023-02-14 15:15:00 284

原创 字节青训营——秒杀系统设计学习笔记(一)

瞬时流量高读多写少实时性要求高。

2023-02-13 15:39:48 320

原创 JUC并发编程学习笔记——知识补充(Threadlocal和引用类型)

ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。

2023-02-12 08:19:20 587

原创 Mysql高级部分学习笔记(四)——锁理论

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发

2023-02-05 22:45:00 526

原创 Mysql高级部分学习笔记(三)——读写分离和分库分表

MySQL binlog(binary log 即二进制日志文件) 主要记录了 MySQL 数据库中数据的所有变化(数据库执行的所有 DDL 和 DML 语句)。因此,我们根据主库的 MySQL binlog 日志就能够将主库的数据同步到从库中。

2023-02-04 22:15:00 936

原创 Mysql高级部分学习笔记(二)——事务锁

InnoDB是基于磁盘存储的,并将其中的数据按页的方式进行管理。因此InnoDB可视为基于磁盘的数据库系统。由于CPU的速度和磁盘IO速度的巨大鸿沟,需要缓冲池(buffer pool)来提高数据库的整体性能

2023-02-03 16:15:00 671

原创 字节青训营——分布式学习笔记

MVCC:多版本并发控制的方法。维持一个数据的多个版本使读写操作没有冲突。所以既不会阻塞写,也不阻塞读。提高并发性能的同时也解决了脏读的问题。

2023-02-02 14:35:50 850 1

原创 Mysql高级部分学习笔记(一)——底层及索引

MyISAM优点:查询数据相对较快,适合大量的select,可以全文索引。缺点:不支持事务,不支持外键,并发量较小,不适合大量updateInnoDB优点:支持事务,支持外键,并发量较大,适合大量update缺点:查询数据相对较快,不适合大量的select聚集索引和非聚集索引聚集索引(聚簇索引):表中的数据都会有一个主键,即使不创建主键,系统也会帮你创建一个隐式的主键。这是因为innodb是把数据存放在B+树中的,而B+树的键值就是主键,在B+树的叶子节点中,存储了表中所有的数据。

2023-02-01 19:30:00 482

原创 字节青训营——架构初探学习笔记

什么是企业服务总线?就是我们常说的 ESB(Enterprise Service Bus)。我们可以把服务总线当成用来连接分布式异构后端和前端系统的一种中间层软件服务,能够隐藏复杂性,简化数据处理过程。这种中间层软件服务通常被认为是一种系统集成组件,而对系统集成需求的剖析引出了服务总线的整体解决方案。

2023-01-31 16:47:27 475

原创 JVM快速入门学习笔记(四)

JVM新创建的对象(除了大对象外)会被存放在新生代,默认占1/3堆内存空间,由于JVM频繁的创建对象,所以新生代会频繁触发Minor GC进行垃圾回收。新生代又分为Eden区,survivorForm区和survivorTo区。

2023-01-25 16:55:43 732

原创 JVM快速入门学习笔记(三)

栈是运行时的单位,Java 虚拟机栈,线程私有,生命周期和线程一致。描述的是 Java 方法执行的内存模型:每个方法在执行时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的过程。

2023-01-23 04:00:00 1139

原创 JVM快速入门学习笔记(二)

方法区是被所有线程共享,所有字段和方法字节码,以及一些特殊方法,如构造函数,接口代码也在此定义,简单说,所有定义的方法的信息都保存在该区域,此区域属于共享区间;

2023-01-20 10:49:34 838

原创 JVM快速入门学习笔记(一)

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。简单来说JVM是用来解析和运行Java程序的。

2023-01-17 00:12:09 403

原创 分布式CAP和BASE理论学习笔记

CAP理论是计算机科学家Eric Brewer在2000年提出的理论猜想,在2002年被证明并成为分布式计算领域公认的定理,其理论的基本观念是,在分布式系统中不可能同时满足以下三个特性

2023-01-14 22:00:00 656

原创 JUC并发编程学习笔记——CAS个人理解

即compare and swap(比较与交换),是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。

2023-01-13 22:15:00 261

原创 JUC并发编程学习笔记——AQS个人理解

AQS是AbstractQueuedSynchronizer的简称,是构建锁和同步器的框架,是并发容器JUC(java.util.concurrent)下locks包内的一个类,AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架;底层实现的数据结构是一个双向链表。

2023-01-12 11:42:06 430

原创 JUC并发编程学习笔记(六)线程池及分支合并框架

线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。

2023-01-07 23:34:01 373

原创 JUC并发编程学习笔记(五)读写锁和阻塞队列

**回顾悲观锁和乐观锁的概念****悲观锁**:单独每个人完成事情的时候,执行上锁解锁。解决并发中的问题,不支持并发操作,只能一个一个操作,效率低顾名思义,就是比较悲观的锁,总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(**共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程**)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中`sy

2023-01-05 16:48:16 336

原创 JUC并发编程学习笔记(四)callable接口与辅助类

目前我们学习了有两种创建线程的方法一种是通过创建 Thread 类,另一种是通过使用 Runnable 创建线程。但是,Runnable 缺少的一项功能是,当线程终止时(即 run()完成时),我们无法使线程返回结果。为了支持此功能,Java 中提供了 Callable 接口。

2023-01-02 23:17:16 465

原创 JUC并发编程学习笔记(三)集合线程安全及多线程锁

一个对象里面如果有多个 synchronized 方法,某一个时刻内,只要一个线程去调用其中的一个 synchronized 方法了,其它的线程都只能等待,换句话说,某一个时刻内,只能有唯一一个线程去访问这些synchronized 方法。锁的是当前对象 this,被锁定后,其它的线程都不能进入到当前对象的其它的synchronized 方法加个普通方法后发现和同步锁无关换成两个对象后,不是同一把锁了,情况立刻变化。synchronized实现同步的基础:Java中的每一个对象都可以作为锁。

2023-01-01 22:56:31 339

原创 JUC并发编程学习笔记(二)Lock接口及线程间通信

Lock 锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作。它们允许更灵活的结构,可能具有非常不同的属性,并且可能支持多个关联的条件对象。Lock 提供了比 synchronized 更多的功能。

2022-12-30 21:29:50 193

原创 JUC并发编程学习笔记(一)基本概念篇

协程,英文Coroutines,是一种比线程更加轻量级的存在。协程不是进程,也不是线程,它就是一个可以在某个地方挂起的特殊函数,并且可以重新在挂起处继续运行。所以说,协程与进程、线程相比,不是一个维度的概念。一个进程可以包含多个线程,一个线程也可以包含多个协程,也就是说,一个线程内可以有多个那样的特殊函数在运行。但是有一点,必须明确,一个线程内的多个协程的运行是串行的。如果有多核CPU的话,多个进程或一个进程内的多个线程是可以并行运行的,但是一个线程内的多个协程却绝对串行的,无论有多少个CPU(核)。

2022-12-29 18:37:03 534

原创 Ngnix学习笔记

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

2022-12-27 16:25:00 89

空空如也

空空如也

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

TA关注的人

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