让我们不厌其烦的从内存模型开始说起:作为一般人需要了解到的,JVM的内存区域可以被分为:线程栈,堆,静态方法区(实际上还有更多功能的区域,并且这里说的是JVM的内存区域,实际上Java程序还可以调用native方法使用直接内存)。本文接下来就重点说说这三个区域。 1. 线程栈 简介 注意这个栈和数据 ...
分类:
其他好文 时间:
2017-09-21 13:51:01
阅读次数:
155
前言 JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,所以我们要了解JVM内存组成,回收算法,对象分配机制。 JVM 堆内 ...
分类:
其他好文 时间:
2017-09-19 22:49:20
阅读次数:
259
深入理解JVM之JVM内存区域与内存分配 在学习jvm的内存分配的时候,看到的这篇博客,该博客对jvm的内存分配总结的很好,同时也利用jvm的内存模型解释了java程序中有关参数传递的问题。 博客出处: http://www.cnblogs.com/hellocsl/p/3969768.html?u ...
分类:
其他好文 时间:
2017-09-19 00:21:05
阅读次数:
160
回顾 上文介绍了jvm的内存区域以及介绍了内存的溢出情况。 jvm区域分为5个,线程独有:虚拟机栈,本地方法栈,程序计数器。线程共享:方法区,堆 两种溢出:栈溢出(StackOverflowError),OutOfMemoryError(OOM) 为什么学习垃圾收集 看起来jvm好像一切帮你做好,但 ...
分类:
其他好文 时间:
2017-09-08 10:04:36
阅读次数:
322
1、JVM的内存区域划分: 大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译 成 JAVA 方法栈的),Native Method S ...
分类:
其他好文 时间:
2017-08-29 20:44:26
阅读次数:
241
HBase的几种调优(GC策略,flush,compact,split) 一:GC的调优 1.jvm的内存 新生代:存活时间较短,一般存储刚生成的一些对象 老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象 永久代:一般存储meta和class的信息 2.GC策略 Parrallel Ne ...
分类:
其他好文 时间:
2017-08-22 23:13:39
阅读次数:
174
非直接缓冲区:通过allocate()方法分配缓冲区,将缓冲区建立在JVM的内存中。 直接缓冲区:通过allocateDirect()方法分配直接缓冲区,将缓冲区建立在物理内存中。可以提高效率。 字节缓冲区要么是直接的,要么是非直接的。如果为直接字节缓冲区,则 Java 虚拟机会尽最大努力直接在此缓 ...
分类:
其他好文 时间:
2017-08-17 21:36:25
阅读次数:
270
题记:总是被绕在一个无法挣脱的并发深渊里,眼睛一闭一挣都是线程的世界。 这边最近是这样的情况: 基于JVM的内存模型,我们知道了多个线程并发访问主存里面的共享数据。这时候在每一个线程中会有一个工作内存的逻辑概念。线程和主存之间的工作方式将会遵循:lock unlock read load use a ...
分类:
其他好文 时间:
2017-08-12 17:12:23
阅读次数:
104
jvm的内存结构jvm是按照运行时数据的存储结构来划分内存结构的,jvm在运行java程序时,将他们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。运行时数据包括java程序本身的数据信息和jvm运行java需要额外的数据信息。jvm运行时数据区程序技术器..
分类:
其他好文 时间:
2017-08-08 16:50:59
阅读次数:
283
一、JVM介绍 1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个 ...
分类:
其他好文 时间:
2017-07-30 21:07:25
阅读次数:
149