
JVM虚拟机
Tong_Nan
这个作者很懒,什么都没留下…
展开
-
深入理解JVM虚拟机(二)Java内存区域
深入理解JVM虚拟机(二)Java内存区域一 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一...转载 2019-07-18 17:12:56 · 220 阅读 · 0 评论 -
深入理解JVM虚拟机(三)垃圾收集器与内存分配
深入理解JVM虚拟机(三)垃圾收集器与内存分配概述垃圾收集器并不是Java伴随出来的,而是在1960年的lisp上运用,比Java要早很多当时思考的是:哪些垃圾需要被回收,什么时候回收,怎么回收1.堆空间的结构图所示的 eden 区、s0(“From”) 区、s1(“To”) 区都属于新生代,tentired 区属于老年代。大部分情况,对象都会首先在 Eden 区域分配,在一次新生代垃...转载 2019-07-18 17:48:10 · 192 阅读 · 0 评论 -
深入理解JVM虚拟机(六)类文件结构
深入理解JVM虚拟机(六)类文件结构一 概述在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新...原创 2019-08-12 10:14:04 · 194 阅读 · 0 评论 -
深入理解JVM虚拟机(七)类加载过程
深入理解JVM虚拟机(七)类加载过程Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢?系统加载 Class 类型的文件主要五步:加载->连接->初始化->使用->卸载。连接过程又可分为三步:验证->准备->解析。加载类加载过程的第一步,主要完成下面3件事情:通过全类名获取定义此类的二进制字节流将字...原创 2019-08-12 10:29:01 · 250 阅读 · 0 评论 -
深入理解JVM虚拟机(八)类加载器
深入理解JVM虚拟机(八)类加载器类加载器所有的类都由类加载器加载,加载的作用就是将 .class文件加载到内存。JVM 中内置了三个重要的 ClassLoader,除了 BootstrapClassLoader 其他类加载器均由 Java 实现且全部继承自java.lang.ClassLoader:BootstrapClassLoader(启动类加载器) :最顶层的加载类,由C++实现...原创 2019-08-12 10:41:00 · 214 阅读 · 0 评论