自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (1)
  • 收藏
  • 关注

翻译 翻译:Java GC 调优(七) 并发收集器

并发收集器是指垃圾回收的大部分过程都是并发完成的垃圾收集器,Java HotSpot VM提供了两种并发收集器: 1.并发标记清除(CMS):主要针对需要较短的垃圾收集暂停时间的应用程序,并且垃圾收集过程中程序仍然可以使用剩余处理器资源运行。 2.垃圾优先(G1):适用于具有大内存的多处理器机器。在满足垃圾收集暂停时间目标的同时还能实现高吞吐量目标。并发收集器开销 并发收集器以处理器资源(应用程序也会使用到这部分处理器资源)交换垃圾收集暂停时间。 垃圾收集时最大的...

2020-07-13 10:33:14 144

翻译 翻译:Java GC 调优(六) 并行收集器

并行收集器(也称为吞吐量收集器)是一种类似于串行收集器的分代收集器。串行收集器和并行收集器的主要区别是并行收集器有多个线程,这些线程用于加速垃圾收集。 通过命令行选项-XX:+UseParallelGC启用并行收集器。默认情况下,使用这个选项,次要(Minor)和主要(Major)都并行收集,以进一步减少垃圾收集开销。并行收集器的垃圾收集器线程数 当机器上硬件线程数量为N(N>8)时,并行收集器使用N乘以固定比例作为垃圾收集器线程的数量。 当N较大时,这个比例...

2020-07-10 17:15:15 283

翻译 翻译:Java GC 调优(五) 几类垃圾收集器

之前的讨论都是关于串行收集器的。Java HotSpot VM包括3种不同类型的收集器,不同类型收集器的特性存在明显差别。串行收集器(Serial Collector) 串行收集器使用一个线程来执行所有的垃圾收集操作,因为不存在线程之间的通信开销,串行收集器性能相对高效。 串行收集器最适合于硬件或平台为单处理器的情况,因为它不能利用多处理器的优势,尽管它对于在多处理器上运行的小数据集(最多100 MB)的应用程序很有用。在某些硬件和操作系统配置上,JVM默认选择串行收集器,也...

2020-07-10 11:47:57 133

翻译 翻译:Java GC 调优(四) 影响垃圾收集性能的因素

影响垃圾回收性能主要的因素有两个:堆内存以及年轻代空间在堆中的百分比。堆空间 影响垃圾收集性能的一个重要因素时可用内存总量。因为垃圾收集总是发生在代满时,因此吞吐量与可用内存总量成反比(下面的内容都以最简单的串行垃圾收集器为例,其他垃圾收集器情况会有所不同)。影响不同世代空间的参数 有许多参数会影响代的大小。下图描绘了在堆中提交空间与虚拟空间的区别。在虚拟机初始化时,堆的整个空间被保留。保留空间的大小可以使用-Xmx命令指定。如果-Xms参数的值小于-Xmx参数的值,那么并不是所...

2020-07-08 19:02:01 261

翻译 翻译:Java GC 调优(三) GC实现

Java平台的一个优点是,它使开发人员免受复杂的内存分配和垃圾收集的影响。 但是,当垃圾收集成为主要瓶颈时,了解GC实现的某些方面是很有用的。垃圾收集器对应用程序使用对象的方式进行了假设,这些假设反映在可调参数中,可以通过调整这些可调参数来提高性能,同时又不牺牲抽象的强大功能。分代垃圾收集 当对象在运行的程序中不能从任何其他活动对象的引用访问它时,这个对象被GC认为是垃圾,它的内存可以被VM重用。 理论上,最直接的垃圾收集方法就是在每次运行时对每个可访问对象进行迭代...

2020-07-08 16:47:47 292

翻译 翻译:Java GC 调优(二) 调优参数说明

JVM为垃圾收集器(GC)、堆(Heap)大小和运行时编译器(Runtime Compiler)提供了与平台相关的默认参数。这些参数符合不同类型应用程序的需求,同时调优时只需要输入较少的命令。此外,基于行为的调优可以动态优化堆的大小,以满足应用程序的特定行为。默认参数比较重要的垃圾收集器,堆大小,编译器默认参数: 1.GC:garbage first (G1)收集器 2.线程数:GC线程的最大数量受到堆大小和可用CPU资源的限制 3.初始堆大小:初始堆大小为物理...

2020-07-07 15:09:41 488

翻译 翻译:Java GC 调优(一) 简介

简介 从web服务到各种桌面app,各种各样的程序都使用到了Java。根据程序的不同部署范围,Java提供了多个垃圾收集器,每个垃圾收集器都为不同的需求进行设计,通常情况下,Java平台会根据程序运行的计算机类型选择最合适的垃圾收集器。但是,这种选择并不适用于每个应用程序,如果用户对于程序性能有较为严格的要求,则需要开发人员显示地选择垃圾收集器并调优某些参数,以达到所需的性能水平。垃圾收集器(GC)是什么?垃圾收集器(gc)自动管理应用程序的动态内存分配需求,垃圾收集器通过以下操作执行自动..

2020-07-07 12:36:00 318

原创 使用NewHadoopRDD實現HBase分布式Scan操作

作上文的補充

2017-04-27 22:49:19 799

原创 在自定义数据源中使用sparksql(Spark2.0+)带示例

主要原理spark sql 核心: ParseInterface: 专门负责解析外部数据源SQL的SqlParser。目前自带的parser已经能满足各种需求 RunnableCommand: 从反射的数据源中实例化relation,然后注册到temp table中。 Strategy: 将plan映射为物理计划。 RelationProvide

2017-04-27 01:03:29 1785

原创 Spark RDD生成HFile快速导入数据到HBase

Spark RDD生成HFile快速导入数据到HBase主要思路通过观察hbase regionserver对put操作的处理,可以发现,数据首先写入到 memstore,在达到指定大小后会调用StoreFile的Writer类将数据flush到存储设 备中,如果开启过压缩算法则会先执行相应的压缩,得到压缩后的数据和数据结 构再进行写入。 通过观察HBase的StoreFileWriter,

2017-01-23 02:41:01 3090 1

原创 使用Spark RDD实现HBase分布式scan

使用Spark RDD实现hbase分布式Scan主要思路利用Spark RDD的分布式计算,将一个Scan任务按照自定义的范围切分为小的scan,使用这些RDD实现对scan的并行查询,提高查询效率。核心是手动实现RDD的compute方法与getPartitions方法。关于Spark RDD本文中使用到的关于Spark RDD方面的知识主要集中在RDD分区计算上,查看spark源码即可知道,s

2017-01-22 02:10:23 1722

原创 scala入门:逆变与协变

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-01-08 19:41:36 897

空空如也

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

TA关注的人

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