虚继承派生类对象的内存布局。菱形继承到底是怎么共享虚基类对象的,这里有详细讲解和代码测试。...
分类:
其他好文 时间:
2014-09-09 23:09:19
阅读次数:
441
1. Java代码编译和执行的整个过程包含了三个重要的机制:Java源码编译机制类加载机制类执行机制2. 关于Java源码编译机制 Java源码编译由以下三个过程组成:分析和输入符号表注解处理语义分析和生成class文件 生成的class文件包括的信息有:结构信息(class文件格式版本号以及各.....
分类:
其他好文 时间:
2014-09-09 17:46:09
阅读次数:
224
在Java中我们无须关心内存的释放,JVM提供了内存管理机制,有垃圾回收器帮助回收不需要的对象。但实际中一些不当的使用仍然会导致一系列的内存问题,常见的就是内存泄漏和内存溢出
内存溢出(out of memory ):通俗的说就是内存不够用了,比如在一个无限循环中不断创建一个大的对象,很快就会引发内存溢出。
内存泄漏(leak of memory):是指为一个对象分配内存之后,在对象已经不在使...
分类:
编程语言 时间:
2014-09-09 16:09:59
阅读次数:
222
在本文描述它们的区别之前,先来了解一下JVM运行时数据区的内存模型。 《深入JAVA虚拟机》书中是这样描述的:JVM运行时数据区的内存模型由五部分组成: 【1】方法区 【2】堆 【3】JAVA栈 【4】PC寄存器 【5】本地...
分类:
其他好文 时间:
2014-09-09 13:54:19
阅读次数:
201
jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈:调用本地jni方法的时候而创建的。这里分配的jvm之外的内存空间。方法调用结束之后销毁。pc寄存器:这个保存线程当前..
分类:
其他好文 时间:
2014-09-09 13:48:59
阅读次数:
227
AppMaster向RM请求资源
//APPMASTER向RM发送心跳,更新资源请求结构,从分配好的内存结构取出分配的资源,具体任务分配是后台异步的由NM发送心跳驱动
MRAppMaster
:serviceinit
// service to allocate containers from RM (if non-uber) or to fake it (uber)
conta...
分类:
其他好文 时间:
2014-09-09 12:31:48
阅读次数:
244
JAVA虚拟机系列(一) 类的加载目录1 类的初始化过程2 详解初始化时的各个阶段一、类初始化的过程先来看一个CLASS文件在整体生命周期里会遇到的阶段:xxxx.class --->加载---->连接--->初始化---> 使用--->卸载。我们将会在本章讨论一下xxxx.class--->加载-...
分类:
其他好文 时间:
2014-09-09 11:56:38
阅读次数:
155
在加载阶段主要用到的是方法区:方法区是可供各条线程共享的运行时内存区域。存储了每一个类的结构信息,例如运行时常量池(Runtime Constant Pool)、字段和方法数据、构造函数和普通方法的字节码内容、还包括一些在类、实例、接口初始化时用到的特殊方法。如果把方法的代码看作它的“静态”部分,而...
分类:
其他好文 时间:
2014-09-09 11:52:08
阅读次数:
201
冯诺依曼体系结构JAVA核心优势:跨平台---通过JVM(java虚拟机)来实现JVM:Java虚拟机的一种规范标示符:只能以下划线、美元符号($)、字母、数字组成,不能以数字开头float:(占用4个字节的储存空间)浮点数并不能精确地表示所有的小数,存在舍入误差double占用8个字节的存储空间c...
分类:
编程语言 时间:
2014-09-09 11:41:38
阅读次数:
169
基本回收算法 1. 引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。2. 标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段...
分类:
其他好文 时间:
2014-09-09 10:36:38
阅读次数:
205