作者:Nikita Salnikov-Tarnovski 译者:Amanda
校对:
“你好,你能过来看看帮我解决一个奇怪的问题么。”就是这个技术支持案例使我想起写下这篇帖子。眼前的这个问题就是关于不同工具对于可用内存大小检测的差异。
其实就是一个工程师在调查一个应用程序的过高的内存使用情况时发现,尽管该程序已经被指定分配2G堆内存,但是JVM检测工具似乎并不能确定进程实...
分类:
其他好文 时间:
2015-05-07 19:00:10
阅读次数:
134
【值类型在装箱过程中内部发生的事情】1.在托管堆中分配好内存。分配的内存量是值类型的各个字段需要的内存量加上托管堆的所有对象都有的两个额外成员(类型对象指针和同步快索引)需要的内存量。2.值类型的字段复制到新分配的堆内存。3.返回对象的地址。现在,这个地址是对一个对象的引用,值类型现在是一个引用类型...
JVM管理的堆内存中,几乎存放了所有的对象实例,如果一个对象已经使用完毕(没有任何引用指向它),那么,该对象所占用的内存应该被回收利用,而这些工作就是JVM垃圾收集器的工作
垃圾收集器在对堆内存进行回收之前,第一件事情就是要确定哪些对象还“存活”,哪些已经“死去”,其内存将要被回收,下面就来讲——根搜索算法
在讲根搜索算法之前,因为一个对象在没有任何引用指向它的时候,其所占内存才具备回...
分类:
编程语言 时间:
2015-05-05 22:02:17
阅读次数:
130
iOS中Block介绍(一)基础一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。二、热身先看一个比较简单的Block例子:intmultiplier...
分类:
移动开发 时间:
2015-04-30 19:44:20
阅读次数:
141
成员变量和局部变量的区别?
A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值...
分类:
其他好文 时间:
2015-04-29 11:49:20
阅读次数:
101
-Xms JVM初始分配的堆内存大小,默认是物理内存的1/64。 -Xmx JVM最大分配的堆内存大小,默认是物理内存的1/4。 -XX:PermSize JVM初始分配的非堆内存大小,默认是物理内存的1/64。 -XX:MaxPermSize JVM最大分配的...
分类:
其他好文 时间:
2015-04-24 12:44:19
阅读次数:
151
/*
成员变量和局部变量。
作用范围。
成员变量作用于整个类中。
局部变量变量作用于函数中,或者语句中。//例如在for循环中
在内存中的位置:
成员变量:在堆内存中,因为对象的存在,才在内存中存在。
局部变量:存在栈内存中。
*/
//c.color = "blue";改变的不是类中的值,而是改变的对象中的值。就相当于给一个车图上颜色,而不是改变图纸的颜色值。...
分类:
其他好文 时间:
2015-04-24 09:12:58
阅读次数:
97
"=="操作符的作用1、用于基本数据类型的比较2、判断引用是否指向堆内存的同一块地址。equals所在位置:在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写public boolean equals(Object obj) { ...
分类:
编程语言 时间:
2015-04-23 01:45:20
阅读次数:
182
在这篇教程中我们将学习几种现有的垃圾回收器。在Java中,垃圾回收是一个自动的进程可以替代程序员进行内存的分配与回收这些复杂的工作。这篇是垃圾回 收教程系列的第三篇,在前面的第2部分我们看到了在Java中垃圾回收是如何工作的,那是篇有意思的文章,我推荐你去看一下。第一部分介绍了Java的垃 圾回收,主要有JVM体系结构,堆内存模型和一些Java术语。
Java有四种类型的垃圾回收器:
...
分类:
其他好文 时间:
2015-04-22 09:33:33
阅读次数:
135
Java的内存分配与回收全部由JVM垃圾回收进程自动完成。与C语言不同,Java开发者不需要自己编写代码实现垃圾回收。这是Java深受大家欢迎的众多特性之一,能够帮助程序员更好地编写Java程序。
关于这篇教程是系列第一部分。首先会解释基本的术语,比如JDK、JVM、JRE和HotSpotVM。接着会介绍JVM结构和Java 堆内存结构。理解这些基础对于理解后面的垃圾回收知识很重要。
Java...
分类:
编程语言 时间:
2015-04-21 14:43:14
阅读次数:
176