Java内存管理无非就是对内存进行分配和释放。对于分配来说,基本类型和对象的引用存储到栈中,常量存储到常量池中,对象存储到堆上,这是一般的分配。而对于回收来说要复杂的多,如果回收不好,还可能造成分配出去的内存得不到回收而造成内存泄漏。
这一篇将简单介绍一下Java内存的分配,下一篇将介绍内存的回收及内存泄漏等知识。
1、JVM内存模型
...
分类:
编程语言 时间:
2015-05-18 10:55:01
阅读次数:
152
简介:
Volley是Google I/O 2013上Google官方发布的一款Android平台上的网络通信库。
以前的网络请求,要考虑开启线程、内存泄漏、性能等等复杂的问题。但是Volley框架已经帮我们把这些问题处理好了,对外提供了相应的完善的请求API,我们只需要按照要求使用即可。
特点:
能使网络通信更快,更简单,更健壮
Get、Post网络请求及网络图像的高效率异...
分类:
移动开发 时间:
2015-05-17 13:47:40
阅读次数:
175
堆溢出堆(Heap)是Java存放对象实例的地方。堆溢出可以分为以下两种情况,这两种情况都会抛出OutOfMemoryError:java heap space异常:1、内存泄漏内存泄漏是指对象实例在新建和使用完毕后,仍然被引用,没能被垃圾回收释放,一直积累,直到没有剩余内存可用。如果内存泄露,我们...
分类:
编程语言 时间:
2015-05-16 14:44:02
阅读次数:
167
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器
本质
程序计数器本质上是一块较小的内存空...
分类:
编程语言 时间:
2015-05-15 21:34:05
阅读次数:
170
VisualVM是一款免费的\集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力,对Java应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。在内存分析上,JavaVi..
分类:
编程语言 时间:
2015-05-15 01:30:09
阅读次数:
37367
package cc.cc;
import java.lang.ref.WeakReference;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
/**
* Demo描述:
* Handler可能导致的内存泄露及其优化...
分类:
其他好文 时间:
2015-05-13 19:49:35
阅读次数:
96
package cc.cc;
import android.os.Bundle;
import android.app.Activity;
/**
* Demo描述:
* 非静态内部类可能导致的内存泄露及其优化
*
* 在MainActivity中定义了两个内部类InnerClassTest和ThreadSubClass.
* 在这里需要注意一个问题:
* 内部类持有外部类的引用...
分类:
其他好文 时间:
2015-05-13 19:46:52
阅读次数:
133
"在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用IntrospectorCleanupListener作为相应的解决办法。" 对于这一句...
分类:
其他好文 时间:
2015-05-13 13:19:21
阅读次数:
131
前言
你被概率性的 OOM 困扰么?有时候,OOM 像幽灵一样,挥之不去,可真想把它揪出来时,又捉之不着。或许,是时候用 LeakCanary 来诊断一下了。它是一个用来检查 Android
下内存泄漏的开源库,这篇文章主要介绍其用法、架构和其背后的实现原理。
Square 有篇文章介绍了开发这个库的原因。他们的一个付款流程里,需要用到用户的签名,他们直接用 Bitmap 来画签名...
分类:
移动开发 时间:
2015-05-13 10:37:10
阅读次数:
346
参考文献:深入理解Java虚拟机 周志明 Java编程思想 Bruce Eckel为什么自动化垃圾回收后还要了解GC呢:当需要排查各种溢出、内存泄漏问题时,当垃圾收集成为系统达成更高并发量的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。垃圾回收的主要区域:Java堆和方...
分类:
编程语言 时间:
2015-05-13 00:24:34
阅读次数:
266