自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XHHP

只有非常努力,才能看起来毫不费力

  • 博客(184)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java容器源码面试知识点汇总(超详细!)

Java容器源码(一)——ArrayList源码分析(基于JDK8)Java容器源码(二)——Vector源码分析(基于JDK8)Java容器源码(三)——CopyOnWriteArrayList源码分析(基于JDK8)Java容器源码(四)——LinkedList源码分析(基于JDK8)Java容器源码(五)——HashMap源码分析(基于JDK8)Java容器源码(六)——HashS...

2019-09-20 15:19:15 991

原创 Java并发面试知识点汇总(超详细!)

Java并发编程知识点总结(一)——并发编程基础知识Java并发编程知识点总结(二)——线程的状态Java并发编程知识点总结(三)——Java内存模型以及Happens-Before原则Java并发编程知识点总结(四)——Synchronized实现原理以及优化Java并发编程知识点总结(五)——volatile实现原理Java并发编程知识点总结(六)——多线程下的final关键字Java并发编程知识点总结(七)——原子性、有序性、可见性Java并发编程知识点总结(八)——AQS源码分析之独占

2019-09-18 10:53:20 3380 1

原创 Python数据分析在数学建模中的应用汇总(持续更新中!)

(一)、Numpy库的使用1、Numpy常用方法使用大全(超详细)(二)、Pandas库的简单使用1、Series和DataFrame简单入门2、Pandas操作CSV文件的读写3、Pandas处理DataFrame,Series进行作图(三)、Matplotlib库进行绘图1、Matplotlib绘图之属性设置2、Matplotlib绘制误差条形图、饼图、等高线图、3D柱形图(...

2019-07-29 22:26:33 6793 2

原创 深入理解ConcurrentHashMap1.8源码

之前介绍了ConcurrentHashMap1.7,采用的是数组+分段锁的方式来实现的。虽然说采用分段锁的方式能够在一定程度上提高并发的效率,但是锁的粒度是Segment级别的,其实还是挺大的。于是,ConcurrentHashMap1.8继续在1.7版本上进行改进,将锁的粒度进一步减小,变成Node级别,又提升了并发的效率。

2022-12-31 15:56:38 936 1

原创 深入理解ConcurrentHashMap1.7源码

ConcurrentHashMap1.7的设计思想还是很精妙的,值得我们学习。它将所有的HashEntry分配到多个Segment上,当进行put,remove等修改操作的时候,不需要锁整个ConcurrentHashMap,只需要锁修改的HashEntry所在的段,一定程度上提高了并发的效率。对于ConcurrentHashMap1.7的扩容,只能对Segment内的HashEntry数组进行扩容,不能增加Segment的个数。ConcurrentHashMap1.7 最最最最最详细源码分析。

2022-12-31 10:17:35 971

原创 深入理解ConcurrentLinkedQueue源码

ConcurrentLinkedQueue的设计方式采用的是延迟更新头指针和尾指针。通常我们为了保证同步,在入队和出队的时候需要加入synchronized或者锁,但是这种方式是消耗很大的。而Doug Lea大师使用CAS的方式轻松化解线程不安全问题。其实他也可以通过自旋的方式来做到实时更新头指针和尾指针,但是这会带来一定的消耗。延迟更新的设计方式则可以大大减少CAS的次数,提升效率。并发容器之ConcurrentLinkedQueue。

2022-12-30 23:03:53 680

原创 Java重点源码回顾——HashMap1.8

在之前的文章中,我们介绍了HashMap1.7的源码,今天我们来看下HashMap1.8的源码。HashMap1.8相比于1.7最大的改变就是改变了1.7中采用数组+链表的方式存储键值对,转而由数组+链表+红黑树的方式来存储键值对。HashMap1.8的底层结构如下图所示:当链表中结点数较少(小于8)的时候,还是采用数组+链表的方式。当链表中结点过多,就会造成查找效率低下的情况,就会转而采用数组+红黑树的方式。

2022-12-30 20:45:43 995

原创 Java重点源码回顾——HashMap1.7

HashMap在我们的日常使用中非常多,所以今天来阅读下它的源码,了解它具体的设计思想,能够帮助我们扩宽视野。HashMap两个主要的版本是1.7和1.8,都是线程不安全的。1.8版本是在1.7版本的基础上引入了红黑树等优化,提升整体的效率。今天我们先来简单了解下HashMap1.7版本的源码。它的主要特点总结如下:在HashMap1.7中,并没有引入红黑树。所以采用的方式还是拉链法。因为HashMap1.7是采用拉链法存储数据的,所以需要将key-value键值对封装成一个节点类,如下所示:从代码上

2022-12-30 16:44:51 837

原创 Java容器源码重点回顾——LinkedList

.LinkedList是。LinkedList的底层数据结构是链表,。因为LinkedList实现了Deque接口,这也是使它具有双端队列的特性。此外,

2022-12-17 16:10:44 567

原创 Java容器源码重点回顾——CopyOnWriteArrayList

CopyOnWriteArrayList就是针对了读写场景下互斥的缺陷,进行优化。它在每次需要进行修改的时候,先拷贝一份原来的数组,在拷贝的新数组上进行修改,最后再将引用指向新数组。这样就能保证,有线程在修改时,读线程不会被阻塞。提高了读写的性能。

2022-12-16 17:24:55 396

原创 Java容器源码重点回顾——Vector

Vector是一个古老的类,现在很少使用了,基于数组实现的,是一个动态数组,数组容量是可以自动增长的。(注意:Vector只能保证单个方法的线程安全,组合方法是没法保证线程安全,具体可见)因为Vector和ArrayList的代码极为相似,建议没有看过ArrayList源码的同学可以先看下。看完ArrayList源码再看Vector就会很轻松。

2022-12-15 17:41:00 635

原创 Java容器源码重点回顾——ArrayList

ArrayList本质上是一个动态数组,是基于数组实现的,其容量是能自动增长。但是ArrayList是线程不安全的。..

2022-12-14 21:40:20 175

原创 生产者和消费者问题

生产者-消费者是一个经典的多线程协作问题。所谓生产者-消费者问题,实际上是包含两类线程,一种是生产者线程,用于生产数据,另一种是消费者线程,用于消费数据。为了解耦生产者和消费者的关系,通常会采用共享的数据区域。生产者往共享区域放数据,无需关心消费者的行为。消费者从共享区域取数据,无需关心生产者的行为。接下来,我们介绍几种方法来完成生产者-消费者模型。

2022-12-13 20:54:48 2278

原创 深入理解ReentrantReadWriteLock源码

之前我们介绍过ReentrantLock,它是基于AQS同步框架实现的,是一种可重入的独占锁。但是这种锁在读多写少的场景下,效率并不高。因为当多个线程在进行读操作的时候,实际上并不会影响数据的正确性。因此针对读多写少的场景,java提供了ReentrantReadWriteLock(可重入读写锁)。读写锁允许同一时刻被多个读线程访问,但是当写线程在访问时,其他所有的读线程和写线程都会被阻塞。ReentrantReadWriteLock是包含读锁和写锁的,从代码中能够看到:读锁和写锁之间是存在一些关系的,具

2022-12-07 10:47:36 426

原创 MySQL如何保证高可用

正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确执行,备库就能达到跟主库一样的状态,这就是最终一致性。这里我们再放上MySQL主备切换的流程图:主备切换可能是一个主动的运维动作,如软件升级等。也可能是被动操作,如主库所在机器掉电等。主备同步的过程通常有以下三步:所谓主备延迟,就是同一个事务,在备库执行完成的时间和主库执行完成的事件之间的差值,也就是T3-T1。我们可以在备库上执行show slave status命令,会返回seconds_bebind_master,用于表示当前

2022-12-05 17:44:23 372

原创 深入理解ThreadLocal源码

在之前介绍的多线程编程中,我们通常会利用synchronized或者各种lock来控制临界区资源的同步顺序,从而来解决线程安全问题。这实际是一种时间换空间的优化。线程安全问题的核心就是多个线程会对同一个临界区资源进行操作。ThreadLocal则是采用的是空间换时间的思想,让每个线程都拥有自己的共享资源,各自使用各自的,这样就不会出现线程安全问题。ThreadLocal意为“本地变量”,也就是达到人手一份的效果,不会出现竞争的情况。但是这种方式的缺点就是消耗的内存会大很多。

2022-12-01 16:15:35 378

原创 MySQL如何保证主备一致?

如下图展示的是基本的主备切换流程:在状态1中,主库是A,备库是B,所以客户端的读写都直接方法节点A。由于节点B是节点A的备库,所以备库B只是将A的更新都同步过来,本地执行,这样可以保证节点B和节点A的数据一致性。如果发生主备切换,就会从状态1变成状态2,节点A成为备库,节点B成为主库。在状态1中,虽然节点B没有被客户端直接方法,但是还是接下来我们看下节点A到节点B的流程图:实际上备库B和主库A之间维持了个长连接,主库A中有一个线程(dump_thread),专门用于服务和备库B的长连接。

2022-11-25 15:59:41 543

原创 next-key lock案例

next-key lock案例

2022-11-14 11:35:28 1220 1

原创 幻读是什么,幻读有什么问题

如果查询的是主键\索引列,则是行锁。如果查询的是没有主键\索引的话,则是表锁。对于for update加的是行锁还是表锁,可以看面试官问:select…for update会锁表还是锁行?来源:自己整理的MySQL实战45讲笔记。

2022-11-11 17:12:49 3121

原创 MySQL中的随机抽取

MySQL中的随机抽取

2022-11-05 15:42:34 3014

原创 orderby是如何工作的?

orderby是如何工作的?

2022-11-03 19:32:17 258

原创 count()这么慢,我们该怎么办

count()字段优化

2022-11-01 17:29:24 2793 1

原创 为什么表数据删一半,表文件大小不变?

MySQL

2022-10-30 16:34:54 789

原创 为什么我的MySQL会抖一下?

为什么我的MySQL会抖一下

2022-10-24 10:51:16 2765

原创 如何给字符串字段加索引?

如何给字符串字段加索引

2022-10-22 15:17:53 1654

原创 MySQL为什么会选错索引?

MySQL为什么会选错索引

2022-10-20 16:16:34 389

原创 普通索引还是唯一索引?

那么肯定会需要在上面建索引,那是从业务上来说,两种索引都可以。但是从性能角度看,是该选择唯一索引还是普通索引呢?为了简单起见,还是用前面的例子来说明。

2022-10-18 15:41:55 420

原创 事务到底是隔离还是不隔离?

MySQL事务隔离

2022-10-14 18:53:21 568

原创 行锁:怎么减少行锁对性能的影响

行锁:怎么减少行锁对性能的影响

2022-10-11 14:11:33 634

原创 全局锁和表级锁

全局锁和表级锁

2022-10-04 11:33:40 769

原创 深入浅出索引(下)

深入浅出索引

2022-09-30 21:29:50 537

原创 深入浅出索引(上)

深入浅出索引

2022-09-29 21:47:50 346

原创 事务隔离:为什么你改了我还看不见?

MySQL事务隔离

2022-09-24 14:58:31 438

原创 日志系统:一条更新SQL是如何执行的?

一条更新SQL是如何执行的?

2022-09-23 15:53:26 1422

原创 基础架构:一条查询SQL是如何执行的?

一条SQL是如何执行的

2022-09-22 17:05:29 679

原创 《Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction》论文笔记

一、摘要过往的方面级情感分析抽取任务中,往往只会抽取aspect and/or opinions,忽略了它们之间的关系。本文提出的任务是 Aspect-Opinion Pair Extraction(AOPE) 任务,旨在成对抽取aspects和opinions。本文提出的模型是Synchronous Double-channel Recurrent Network(SDRN 同步的双通道循环神经网络)。主要的思想是构建opinion entity extraction unit(观点实体抽取单元)

2021-11-13 22:20:26 694

原创 《Opinion Word Expansion and Target Extraction through Double Propagation》论文笔记

一、摘要本文旨在于解决两方面的问题。opinion lexicon expansion(意见词典扩展)opinion target extraction (意见目标扩展)为了解决上面两方面的问题,通过使用依赖解析器去扩展意见字典和挖掘目标,使得opinion words和targets建立联系。作者使用双向循环的方法来使用信息在opinion words和target之间不断传播。这种方法的好处就是只需要一个初始的opinion字典即可。二、介绍opinion lexicon就是包

2021-11-10 14:39:24 559

原创 《Aspect-Category-Opinion-Sentiment Quadruple Extraction with Implicit Aspects and Opinions》论文笔记

一、摘要产品的评论中包含了许多隐含的方面和意见,但是在以往的方面级情感分析中常常忽略这一点。本文提出了一个新的任务,Aspect-Cateogry-Opinion-Sentiment(ACOS)四元组抽取任务,以此来支持从评论中挖掘更多的隐含方面和意见。此外,作者还构建了两个新的数据集来适应这项任务,Restaurant-ACOS 和 Laptop-ACOS。两个数据集都包含了四元组抽取和隐含的aspects 和 opinions。作者还尝试用四个baseline 系统去进行测试二、介绍

2021-11-10 14:38:10 1874 1

原创 《XLNet:Generalized Autoregressive Pretraining for Language Understanding》论文笔记

一、摘要因为拥有双向建模的能力,降噪的自编码预训练模型(如BERT)通常会比基于自回归的语言模型拥有更好的效果。但是BERT模型也存在缺陷,如忽略了masked位置之间的依赖关系、预训练和微调之间存在差异(预训练有mask标签,应用在下游任务的时候没有mask标签)。本文提出的XLNet,整合了两大类模型的优点,改进了各自的缺点,主要改进:通过最大化所有可能的分解顺序的排列的期望可能性去学习双向的文本依赖。克服了BERT模型的缺点融合了Transformer-XL的思想在BERT论文使

2021-11-10 14:34:27 635

原创 《Transformer-XL_Attentive Language Models Beyond a Fixed-Length Context》论文笔记

一、摘要传统的Transformers受限于固定长度的文本。本文提出了Transformer-XL模型,这个模型使得文本的依赖能够超越固定文本的长度,并且不会产生时间上的错乱。模型由片段级别递归和新型的位置编码方案组成,主要解决了文本长距离依赖和文本碎片化问题,在时间上面也比vanilla Transformer快很多。Transformer-XL模型在enwiki8数据上取得0.99的困惑度,text8上取得1.08困惑度,WikiText-103上取得18.3的困惑度,One Billion

2021-11-10 14:27:49 1196

SemEval数据集.rar

资源包含SemEval-14 Restaurant、SemEval-14 Laptop、SemEval-15 Restaurant等50多种中英文常用情感分析数据集

2021-11-11

KMP64_2019.12.23.02.exe

这是KMPLAYER的2019版的安装包,可以直接进行安装,体验超级好,页面干净,并且支持倍速播放等。

2020-01-11

美赛M奖论文.rar

这个文件是2018年美国大学生数学建模比赛M奖论文,压缩包里面是一个M奖论文!!! 这个文件是2018年美国大学生数学建模比赛M奖论文,压缩包里面是一个M奖论文!!!

2020-01-10

IntelliJ IDEA汉化jar包.rar

IntelliJ IDEA汉化jar包可以用于将IDEA汉化,步骤简单

2019-07-06

JavaEE开发的颠覆者 Spring Boot实战 完整版项目例子.rar

这个资源是JavaEE开发的颠覆者 Spring Boot实战的电子书,完整版的项目及例子

2019-07-06

dosbox安装包.rar

这个资源是DOSBOX安装包的资源,可以用于学习汇编语言

2019-07-06

计算机组成原理与汇编语言易小琳、鲁鹏程(课件,部分答案,实验)

这个资源是计算机组成原理与汇编语言的资料,作者是易小琳、鲁鹏程。里面包含全部课件以及部分章节答案,以及所有实验内容

2019-06-13

空空如也

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

TA关注的人

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