码迷,mamicode.com
首页 >  
搜索关键字:java虚拟机    ( 4370个结果
JVM 笔记:Java内存区域
对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权为的“皇帝”又是从事最基础工作的“劳动人民”----既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,由虚拟机管理内存这一切看起来都很美好。不过,也正是因为Java程序员把内存控制的权力交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了...
分类:编程语言   时间:2016-04-24 06:26:17    阅读次数:185
[读书笔记]OSGI-灵活的类加载器架构
以下内容来自周志明的《深入理解Java虚拟机》。 学习JEE规范,去看JBoss源码;学习类加载器,就去看OSGI源码。 OSGI,即Open Service Gateway Initiative,是一个基于Java语言的动态模块化规范。 一个模块只有Export过的package才能由外接访问。 ...
分类:其他好文   时间:2016-04-23 23:00:34    阅读次数:212
Java的四种引用,强弱软虚,用到的场景
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。 1 . 强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象...
分类:编程语言   时间:2016-04-22 19:13:31    阅读次数:184
java程序中对堆栈的理解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器...
分类:编程语言   时间:2016-04-22 18:57:43    阅读次数:269
JVM运行时数据区域分析
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 原文链接:http://sparkyuan.me/2016/04/22/JVM运行时数据区域/ ,转载请注明出去程序计数器(PC)程序计数器(Program Counter Reg...
分类:其他好文   时间:2016-04-22 18:49:44    阅读次数:200
java虚拟机和Dalvik虚拟机的区别
java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈。 基于栈的机器必须使用指令来载入和操作栈上数据,所需指令更多更多dalvik虚拟机是基于寄存器的 java虚拟机运行的是java字节码。(java类会被编译成一个或多个字节码.class文件,打包到.... ...
分类:编程语言   时间:2016-04-20 22:01:13    阅读次数:286
Java虚拟机垃圾收集器与内存分配策略
Java虚拟机垃圾收集器与内存分配策略概述 那些内存需要回收,什么时候回收,如何回收是GC需要完成的3件事情。 程序计数器,虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性,内存随着方法结束或者线程结束就回收了。 java堆与方法区在运行期才知道创建那些对象,这部分内存分配是动态的,本章笔记中分配与回收的内存指的就是:java堆与方法区。 判断对象已...
分类:编程语言   时间:2016-04-19 19:47:33    阅读次数:225
深入理解JVM实战(三)——垃圾收集策略详解
Java虚拟机的内存模型分为五个部分,分别是:程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。这五个区域既然是存储空间,那么为了避免Java虚拟机在运行期间内存存满的情况,就必须得有一个垃圾收集者的角色,不定期地回收一些无效内存,以保障Java虚拟机能够健康地持续运行。这个垃圾收集者就是平常我们所说的“垃圾收集器”,那么垃圾收集器在何时清扫内存?清扫哪些数据?这就是接下来我们要解决的问题。...
分类:其他好文   时间:2016-04-19 19:39:38    阅读次数:156
Java内存溢出示例
按照java内存的结构,发生内存溢出的地方常在于堆、栈、方法区、直接内存。 一、堆溢出 堆溢出原因莫过于对象太多导致,看代码: 二、栈溢出 根据JAVA虚拟机规范描述:如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError 如果虚拟机在扩展栈时无法申请到足够的内存 ...
分类:编程语言   时间:2016-04-17 16:09:10    阅读次数:261
java字节码指令集
字节码指令集 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成。 对于大部分为与数据类型相关的字节码指令,他们的操作码助记符中都有特殊的字符来表明专门为哪种数据类型服务:i代表对int类型的 ...
分类:编程语言   时间:2016-04-16 21:09:01    阅读次数:185
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!