随笔 - 2228  文章 - 4  评论 - 371  阅读 - 1109万

随笔分类 -  offheap

Metaspace 之三--jdk8 Metaspace 调优
摘要:简介 jdk8的元空间的初始大小是21M,如果启动后GC过于频繁,请将该值设置得大一些。 更多Meatspace内容见《Metaspace 之一:Metaspace整体介绍(永久代被替换原因、元空间特点、元空间内存查看分析方法)》 如果应用启动时,FGC出现了,可能是由于metaspace导致,例如 阅读全文
posted @ 2019-01-16 13:50 duanxz 阅读(25441) 评论(0) 推荐(1) 编辑
Java NIO系列教程(五)Buffer
摘要:Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。缓冲区实际上是一个容器对象 阅读全文
posted @ 2017-04-24 23:51 duanxz 阅读(1459) 评论(0) 推荐(0) 编辑
十二、jdk工具之jcmd介绍(堆转储、堆分析、获取系统信息、查看堆外内存)
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V 阅读全文
posted @ 2016-11-29 22:22 duanxz 阅读(26388) 评论(0) 推荐(3) 编辑
Java堆外内存之五:堆外内存管理类ByteBuffer
摘要:本篇主要讲解如何使用直接内存(堆外内存),并按照下面的步骤进行说明: 相关背景-->读写操作-->关键属性-->读写实践-->扩展-->参考说明 相关背景-->读写操作-->关键属性-->读写实践-->扩展-->参考说明 希望对想使用直接内存的朋友,提供点快捷的参考。 数据类型 下面这些,都是在使用 阅读全文
posted @ 2016-11-24 15:17 duanxz 阅读(1326) 评论(0) 推荐(0) 编辑
Java堆外内存之四:直接使用Unsafe类操作堆外内存
摘要:在nio以前,是没有光明正大的做法的,有一个work around的办法是直接访问Unsafe类。如果你使用Eclipse,默认是不允许访问sun.misc下面的类的,你需要稍微修改一下,给Type Access Rules里面添加一条所有类都可以访问的规则: 在使用Unsafe类的时候: 发现还是 阅读全文
posted @ 2016-11-22 18:41 duanxz 阅读(7402) 评论(0) 推荐(0) 编辑
Java堆外内存之三:堆外内存回收方法
摘要:一、JVM内存的分配及垃圾回收 对于JVM的内存规则,应该是老生常谈的东西了,这里我就简单的说下: 新生代:一般来说新创建的对象都分配在这里。 年老代:经过几次垃圾回收,新生代的对象就会放在年老代里面。年老代中的对象保存的时间更久。 永久代:这里面存放的是class相关的信息,一般是不会进行垃圾回收 阅读全文
posted @ 2016-11-22 15:16 duanxz 阅读(20470) 评论(1) 推荐(9) 编辑
Java堆外内存之六:堆外内存溢出问题排查
摘要:一、堆外内存组成 通常JVM的参数我们会配置 -Xms 堆初始内存 -Xmx 堆最大内存 -XX:+UseG1GC/CMS 垃圾回收器 -XX:+DisableExplicitGC 禁止显示GC -XX:MaxDirectMemorySize 设置最大堆外内存,默认是-xmx-survivor,也就 阅读全文
posted @ 2016-11-22 15:07 duanxz 阅读(23213) 评论(0) 推荐(0) 编辑
GC之五--SystemGC完全解读
摘要:目录: GC之一--GC 的算法分析、垃圾收集器、内存分配策略介绍 GC之二--GC日志分析(jdk1.8)整理中 GC之三--GC 触发Full GC执行的情况及应对策略 gc之四--Minor GC、Major GC和Full GC之间的区别 GC之六--SystemGC完全解读 概述 JVM的 阅读全文
posted @ 2016-11-22 15:06 duanxz 阅读(3175) 评论(0) 推荐(0) 编辑
Java堆外内存之二:堆外内存使用总结
摘要:目录: 《堆外内存操作类ByteBuffer》 《DirectBuffer》 《Unsafe(java可直接操作内存(),挂起与恢复,CAS操作)》 有时候对内存进行大对象的读写,会引起JVM长时间的停顿,有时候则是希望最大程度地提高JVM的效率,我们需要自己来管理内存(看起来很像是Java像C++ 阅读全文
posted @ 2016-11-22 11:22 duanxz 阅读(1778) 评论(1) 推荐(0) 编辑
Spark Tungsten in-heap / off-heap 内存管理机制--待整理
摘要:一:Tungsten中到底什么是Page? 1. 在Spark其实不存在Page这个类的。Page是一种数据结构(类似于Stack,List等),从OS层面上讲,Page代表了一个内存块,在Page里面可以存放数据,在OS中会存放很多不同的Page,当要获得数据的时候首先要定位具体是哪个Page中的 阅读全文
posted @ 2015-04-18 18:04 duanxz 阅读(2151) 评论(0) 推荐(0) 编辑
ehcache基本原理
摘要:ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实 阅读全文
posted @ 2015-03-26 23:18 duanxz 阅读(6169) 评论(0) 推荐(0) 编辑
Java堆外内存之一:堆外内存场景介绍(对象池VS堆外内存)
摘要:最近经常有人问我在Java中使用堆外(off heap)内存的好处与用途何在。我想其他面临几样选择的人应该也会对这个答案感兴趣吧。 堆外内存其实并无特别之处。线程栈,应用程序代码,NIO缓存用的都是堆外内存。事实上在C或者C++中,你只能使用未托管内存,因为它们默认是没有托管堆(managed he 阅读全文
posted @ 2013-06-18 09:27 duanxz 阅读(6035) 评论(0) 推荐(1) 编辑
原生内存(堆外内存)
摘要:在JVM使用的内存中,通常堆消耗的部分最多,但是JVM也会为内部操作分配一些内部。这些非堆内存就是原生内存。 应用中可以通过JNI的malloc()类似的方法或者是使用NIO的API分配。JVM使用的原生内存和堆内存的总量,就是一个应用总的内存占用(Footprint)。 1、测量内存占用 unix 阅读全文
posted @ 2012-08-09 15:00 duanxz 阅读(4885) 评论(1) 推荐(0) 编辑
Unsafe魔术类(java可直接操作内存(),挂起与恢复,CAS操作)
摘要:java为什么会引入unsafe类 sun.misc.Unsafe至少从2004年Java1.4开始就存在于Java中了。在Java9中,为了提高JVM的可维护性,Unsafe和许多其他的东西一起都被作为内部使用类隐藏起来了。但是究竟是什么取代Unsafe不得而知,个人推测会有不止一样来取代它,那么 阅读全文
posted @ 2012-08-08 16:25 duanxz 阅读(1953) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示