
进击的兔子之JVM
rabbit_in_android
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GC收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对象垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的收集器可能会有很的差别,并且一般会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。下面是Sun HotSpot虚拟机1.6版本Update22包含的所有收集器: 上图中,如果两个收集器之间存在连线转载 2015-12-23 15:11:37 · 431 阅读 · 0 评论 -
JVM内存区域
图一:java内存结构划分 由上图可知,java内存主要分为6部分,分别是 程序计数器,虚拟机栈,本地方法栈,堆,方法区和直接内存 ,下面将逐一详细描述。 1、程序计数器 线程私有 ,即每个线程都会有一个,线程之间互不影响,独立存储。 代表着当前线程所执行字节码的行号指示器。 2、虚拟机栈 线程私有 , 它的生命周期和线程相同 。 描述的是 jav转载 2015-12-23 15:08:54 · 311 阅读 · 0 评论 -
对象创建、内存分配、访问
对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。 如下面这句代码: Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个reference类转载 2015-12-23 15:33:04 · 1326 阅读 · 0 评论 -
内存管理和GC算法以及回收策略
内存管理和垃圾回收 JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: JVM内存回收 Sun的JVMGenerationalCollecting(垃圾回收)原理是这样的:把对象分为年青代(Young)、年老代(Tenured)、持久代(Perm),对不同生命周期的对象使用不同的算法。(基于对对象生命转载 2015-12-23 14:48:20 · 7475 阅读 · 0 评论 -
JVM生命周期和类加载机制
一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main转载 2015-12-22 22:27:50 · 5399 阅读 · 0 评论 -
静态分派和动态分派
首先是两个概念: 静态类型,即是变量声明时的类型实际类型,变量实例化时采用的类型 比如我们有这样一段代码 class Human {} public class Man extends Human { public static void main(String[] args) { Human man = new Man(); } } 我们就称变转载 2015-12-23 15:50:51 · 1562 阅读 · 0 评论 -
ANDROID内存优化(大汇总——全)
版权声明:本文为博主原创文章,未经博主允许不得转载。 转载请注明本文出自大苞米的博客(http://blog.youkuaiyun.com/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选转载 2016-04-06 17:04:55 · 366 阅读 · 0 评论