美文网首页
了解JVM 特性

了解JVM 特性

作者: 小眼睛卡卡 | 来源:发表于2017-07-23 18:02 被阅读0次

与平台无关

Java语言的一个重要特性就是与平台无关性。JVM是实现这一技术的关键。

JVM对类的加载机制请参考 Java 类加载器的工作机制

堆和栈的区别

jvm 中堆和栈属于不同的内存区域。栈区用于存放方法帧和局部变量,堆区用于存放对象,也就是对象分配在堆上。栈区比较小,但是速度快,栈区数据不在多线程之间存在共享,堆是被整个JVM所有的线程共享的。

JVM内存分配

1、基本类型数据变量和对象的引用都是在栈上分配的

2、堆内存用来存放new的对象和数组

3、类变量(static修饰的变量),程序在第一次加载的时候就在堆中为类变量分配内存,堆中的内存地址存放在栈中

4、实例变量:当new对象的时候,系统在堆中为其开辟不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一串数字来表示这个变量在堆中的物理位置,实例变量的生命周期———当实例变量的引用失去后,将会被GC列入可回收名单列表,但并不是立即释放堆中内存

5、局部变量:因为其声明在方法中或者某段代码里,执行他的时候会在栈中开辟内存,当局部变量一但脱离作用域,内存立即释放

相关文章

  • 了解JVM 特性

    与平台无关 Java语言的一个重要特性就是与平台无关性。JVM是实现这一技术的关键。 JVM对类的加载机制请参考 ...

  • Java并发之二:JVM视角下的volatile

    了解volatile语义对了解多线程的其他特性很有意义,所以把它放在前面讨论。 volatile是JVM提供的最轻...

  • Java 线程安全

    参考《深入了解Java虚拟机,JVM高级特性与最佳实践》 线程安全的实现方法 互斥同步: 指再多线程访问贡献数据...

  • 从内存的角度看Java引用和对象

    0. 引言最近在读《深入理解Java虚拟机:JVM高级特性与最佳实践》和《Java编程思想》,通过学习和了解Jav...

  • Java虚拟机类加载机制学习总结(脑图)

    参考:《深入理解Java虚拟机:JVM高级特性与最佳实践》JVM——自定义类加载器

  • JVM内存模型(jvm 入门篇)

    概述 jvm 入门篇,想要学习jvm,必须先得了解JVM内存模型,JVM内存模型,JVM内存模型,JVM内存模型,...

  • Java虚拟机类加载机制(七)

    读书笔记 深入理解Java虚拟机:JVM高级特性与最佳实现(第二版) 概述 深入了解了Class文件存储格式的具...

  • JVM了解

    java程序运行流程草图 说明:.java编译成面向jvm的class文件,供jvm解释执行 JVM结构 JVM的...

  • 了解JVM

    JVM是一种规范oracle jvm文档:https://docs.oracle.com/javase/specs...

  • JVM知识点总结(一):概览

    JVM知识点总结(一)by Kay 2017.8.26 总结参考资料:《深入理解Java虚拟机:JVM高级特性与最...

网友评论

      本文标题:了解JVM 特性

      本文链接:https://www.haomeiwen.com/subject/fpumkxtx.html