深入理解jvm
天在亮了
这个作者很懒,什么都没留下…
展开
-
《Java虚拟机》之垃圾收集器和内存分配策略
目录一.概述二.内存回收的实现三.再谈引用四.再论对象生死与否五.垃圾收集算法一.概述在上一节中我们谈论到自动内存管理机制,很显然,对于虚拟机而言,其不断的创建对象和销毁对象的过程,必然有内存操作上的“得与失”。针对有限的内存资源,我们显然要做到资源最优化,那么这就是我们将要做到的内存回收,即实现垃圾收集器。在实现真正的内存回收前,我们不妨考虑下:...原创 2019-01-20 11:53:48 · 116 阅读 · 0 评论 -
《Java虚拟机》之内存管理机制
《Java虚拟机》之内存管理机制为什么Java程序员要理解jvm原理Java作为一门面向对象的编程语言,与C++之间有一个明显的隔离区,即为内存动态分配和垃圾回收机制。对于我们Java程序员来说,相对于C++里面的需要为每一个new操作去手动配写delete/free代码,得益于虚拟机自动内存管理机制,我们完全可以省去这一繁杂的步骤。当然了,这个有利必有弊。由虚拟机自动管理内存,表面看来不错,...原创 2019-01-09 20:50:44 · 202 阅读 · 1 评论 -
《Java虚拟机》之类加载机制
一.类加载的时机 类从被加载到虚拟机内存开始,到卸载出内存为止,大致的生命周期为:加载(loading)->验证(Verification)->准备(Preparation)-》解析(Resolution)-》初始化(Initialization)->使用(Using)-》卸载(Unloading)等七个阶段。 在这当中,加载,验证,准备,初始...原创 2019-02-27 20:58:10 · 133 阅读 · 0 评论 -
《Java虚拟机》之类加载器
什么是类加载器 Java类加载器的作用是在运行时加载类,它通过加载class文件,网络上的字节流或者是其他来源构造class对象,用于生成对象在程序中运行。什么是类加载器 类加载器是一个用来加载类文件的类。类加载器虽然只用于实现类的加载动作。但它在Java程序中的作用远不限于类加载器。对于任意一个类,都需要由加载它的类加载器和这个类本身以通确立其在Java虚拟机中的...原创 2019-02-27 21:00:35 · 217 阅读 · 0 评论 -
《Java虚拟机》之内存模型与线程(上)
一.Java内存模型 JMM(Java Memory Model)的出现是为了屏蔽掉各种硬件和操作系统之间存在的内存访问差异,以期实现Java程序在各种平台上都可以达到一致的内存访问效果。 1.1主内存和工作内存 Java内存模型的只要目标时定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中去除变量这样的底层细节。需要注意一点,这里的变量与Java编程...原创 2019-03-01 17:02:06 · 139 阅读 · 0 评论 -
《Java虚拟机》之内存模型与线程(下)
在编程学习中,并发是我们躲不开的一个话题。在Java语言里的并发,大多数都与线程离不开。我们将探讨在Java虚拟机里面线程是如何实现的。二.Java与线程 当说起进程时,我们第一想起的就是多线程。在开始分析之前,我们有必要明确何为进程,何为线程。我们知道,一个良好的定义和理解是对系统学习的一大助力。在百度百科中的对线程和进程的定义是这样的: 线程(thread)是操作...原创 2019-03-02 16:46:33 · 137 阅读 · 0 评论