自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小雨的博客

大家共同学习

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 kafka源码研究之分区状态

      kafka的分区状态通过PartitionStateMachine来进行维护,下面通过源码来对这个类进行探究: 一   该类成员变量部分:private val controllerContext = controller.controllerContextprivate val controllerId = controller.config.brokerIdpri...

2018-08-16 09:08:04 741

原创 Kafka官网翻译

一 topic和Logkafka的topic是一个发布消息的分类,kafka里的topic一直是有多个消费者,也就是说,kafka可以有0、1或者多个订阅者去订阅写在topic里的消息。对于每一个topic来说,kafka集群都会保持一个分区的日志,如下图:每一个分区都是一个有序的、且顺序不变被追加写的记录,结构化的日志,每一条记录都会被分配一个叫做偏移量的连续的数字i...

2019-07-22 09:21:09 213

原创 java内存模型之锁的内存语义

前面我们介绍了java中的volatile关键字的作用,我们都知道,volatile有这样几个作用: 1 保证内存可见性 2 防止内存重排序 3 保证单个变量的读/写的原子性相对于锁,volatile更加轻量级。不过多线程中锁也是用的更多一点的,而且锁的功能更加强大。...

2019-07-22 09:19:21 170

原创 JVM常用命令总结

一 jstat命令jstat -gcutil pid interval(ms)每隔1秒查看一次GC的次数和时间

2019-07-22 09:19:07 159

原创 Hive优化及yarn调优

set hive.exec.reducers.bytes.per.reducer=100000000;set hive.optimize.cp=true;set hive.optimize.prunner=true;set hive.exec.parallel=true ;set hive.exec.parallel.thread.number=8;set mapred.compress...

2019-07-22 09:18:28 1139

原创 红黑树

因为最近正在学习Java8中的HashMap,其中用到了红黑树,所以就单独拿出一篇博客来学习红黑树,下面进入到我们的学习过程

2019-07-22 09:18:19 140

原创 SparkStreaming源码阅读

在了解SparkStreaming之前,先来弄清几个变量: //生成SparkJob,使用JobGenerator来生成Spark Job,然后在一个线程池运行这些Job private[streaming] val scheduler = new JobScheduler(this) // private[streaming] val waiter = new Contex...

2019-01-16 20:05:53 219

原创 ReentrantLock源码

目录公平锁的实现:非公平锁的实现:在看公平锁的实现之前,我们先来看ReentrantLock中一个静态内部类Sync,Sync是一个抽象的静态内部类,集成了AbstractQueuedSynchronizer抽象类.源码如下:Sync是ReentrantLock实现同步控制的基础,非公平锁和公平锁都是其子类,使用AQS的state变量来代表锁被持有的次数 /**...

2019-01-16 16:30:17 346 2

原创 同步队列

 一  AQS同步队列实现分析AQS是一个1  同步队列AQS是通过一个内部的FIFO的同步队列来管理同步状态,当线程获取锁失败的时候,当前想线程以及当前线程的状态等信息,会被构造成一个节点加入到同步队列的尾部,然后阻塞当前线程。那么这个节点保存哪些信息呢?当前线程的引用、等待状态以及当前节点的前驱节点和后继节点。同步器中存在两种引用:指向首节点的引用和指向尾节点的引用....

2019-01-12 15:34:03 1307

原创 JDK源码学习之路数据结构之-HashMap

在讲解具体的源码之前,先来对其jdk的介绍做一个翻译,下面是jdk源码对其介绍: HashMap作为Map接口的实现,提供了所有的可选择的映射的操作,大致上HaspMap和HashTable相等(不是线程安全和允许空值除外),HashMap对map的key的顺序没做出任何保证,特别是不会保证顺序恒久不变。 假定hash方法可以将元素适当的散列在各个桶之间,那么h...

2018-12-02 17:32:50 163

原创 SpringBoot学习之路之IDEA创建spring项目

一 Idea创建Spring项目1 新建工程 2 输入工程相关信息点击"Next"3  选择Lombok 4 完成

2018-12-02 10:44:57 99

原创 Hive窗口函数

原始表数据:   结果如下:hive> select     >     id,    >     name,    >     score,    >     row_number() over(partition by name order by score desc) as r1,    >     dense_rank()...

2018-11-28 11:24:09 569

原创 线程通信机制

一  java实现线程通信机制主要通过以下几种方式1 while()轮询2 等待/通知机制wait()、notify()、notifyAll()结合synchronized关键字3 条件对象:ConditionCondition和ReentrantLock重入锁  此外,java为线程间通信还提供了一些关键字:synchronized、volatile、final,...

2018-09-24 16:23:47 1630

原创 Linux磁盘挂载

1 查看有哪些磁盘?fdisk -l|grep sd  2 添加分区新建分区输入:n(我这里只需要一个分区,所以默认就可以):输入t选择id修改分区系统类型,输入p查看分区类型 3 输入 w 完成保存 4 查看是否有分区了 5  建好分区后要格式化分区,建立文件系统 6 这样文件系统就创建好了,下面选择一个挂载点完...

2018-09-12 17:45:47 332

转载 java内存模型之volatile变量

一   volatile关键字的作用1  保证任意单个变量读/写的原子性,即使是64位的long/double变量,也能保证其读/写具备原子性,但是在类似vlolatile变量的复合操作上,volatile关键字将不具备原子性2  保证变量的可见性,即对一个变量的读,总能看到其他任意线程对该vlolatile变量的最后写入  二 volatile关键字的内存语义1 读的内存...

2018-09-11 19:44:10 117

原创 Java内存模型

首先我们先谈谈什么是数据竞争,数据竞争的定义:1 在一个线程正在写一个变量2 在一个线程中正在读一个变量3 变量的写和读没有通过同步来进行排序当程序中存在数据竞争的时候,往往会产生违背直觉的一些结果,在一个多线程程序中,如果进行了正确的同步,那么这将是一个没有数据竞争的程序。JMM对于正确同步的多线程程序做了内存一致性的保证:  如果一个多线程程序是正确同步的,那么程序...

2018-09-06 10:17:23 89

原创 scala重要函数:过滤函数

一  过滤函数1 filter函数def filter(p: A => Boolean): Repr = filterImpl(p, isFlipped = false)  传入一个返回结果为Boolean类型的函数,将此函数应用到集合中的每一个元素,然后将集合里所有满足该条件的元素作为一个子集返回案例: 2 partition函数传入一个返回类型为Boolea...

2018-08-17 16:00:51 5062

自己总结的多线程

多线程 , java,多线程并发,对于多线程的原理以及使用做了初步的介绍

2018-04-02

空空如也

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

TA关注的人

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