- 博客(6)
- 收藏
- 关注
原创 个人对String,StringBuffer,StringBuilder的一些理解
使用findBugs检查代码的时候发现,它会要求你将字符串拼接的操作全部换成StringBuilder,之前了解过String,StringBuilder和StringBuffer之间的区别,但是未进行深入的理解,本篇文章就来分析下它们之间的区别,顺便分析下String类的源码。三者的关系如下图所示:public class Test4 { privat...
2019-02-27 21:12:13 270
原创 Linux CPU飙升到了100%怎么排查
首先可以肯定的是,飙升到了100%肯定是代码的问题了,比如写了个while的死循环之类的,而解决问题的方法就是要把这段代码给找出来。首先使用top命名观察下,最耗资源的进程是哪个?哪个CPU跑满了:这里看到98.9%其实是没关系的,因为服务器有20个核,所以理论上要跑到2000才算是全部的CPU跑满了,接着再按“1”可以看到每个CPU的使用率。找最耗CPU资源的进程:输入...
2019-02-27 20:44:24 10223
原创 线程池自带的那些拒绝策略
今天被边上的小伙伴问到如果线程池处理不过来,但是队列又是个有界队列的时候该怎么办,害得我又翻了半天书重看了下线程池的相关内容。哎,有些东西一段时间不用之后就有可能忘了,所以趁这个机会来深入了解下JDK1.8线程池的拒绝策略,其实也蛮简单的。 线程池的拒绝策略有如下四种:AbortPolicy:丢弃任务并抛出RejectedExecutionException异常 (默认)Disca...
2019-02-20 22:44:11 1844
原创 浅析HBase1.2.0的Split机制
日前,在项目进行过程中,需要把一部分不大不小的数据暂时存起来,所以个人想到的就是放到HBase好了,手上刚好有现成的代码和环境,但是扔到表中发现表从最初的1个Region分裂成了4个Region。而系统在hbase-site.xml文件中Store的大小最大设置的是10G: </property> <property> <...
2019-02-19 19:05:13 1153
原创 从reduceByKey执行过程分析ShuffleReader
Spark是以Shuffle作为Stage的分界的,Shuffle分为ShuffleWrite和ShuffleRead两个过程。ShuffleWriter负责将中间结果写到磁盘上,可以理解为是当前Stage结束的收尾操作;最后ShuffleRead用于读取ShuffleWrite生成的Shuffle文件,可以理解为它是下一个Stage开始的那个操作;之前已经分析过三种ShuffleWrit...
2019-02-01 18:08:07 1481 1
原创 Spark的Shuffle(三) -BypassMergeSortShuffleWriter
来介绍一下最后一种Shuffle的方式ByPassMergeSortShuffleWriter,它和已经废弃的HashShuffleWriter类似,区别在于map端的多个文件会被汇总成一个文件,这样就大大减少了磁盘IO的压力。 ByPassMergeSortShuffleWriter流程示例如下:使用这种Shuffle方式需要满足两个条件:没有定义mapSideCom...
2019-02-01 17:51:49 1443 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人