- 浏览: 3069 次
- 性别:
- 来自: 上海
最新评论
文章列表
虚拟机的平台无关和语言无关性:
(1)虚拟机可以运行在各种平台上,这些虚拟机都可以在如何执行一种平台无关的字节码,实现了“一次编写,到处运行”的目的。
(2)除了平台无关,虚拟机的另一个特点是语言无关,也就是说不仅是java语言,其他语言也可以运行在java虚拟机上。即不同语言的程序可以通过各类语言的编译器把程序编译成Class(字节码)文件,从而顺利在java虚拟机上运行。
Class类文件的结构:
<!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7 ...
GC所关心的问题就是:
(1)那些内存需要回收?
(2)何时回收?
(3)怎么回收?
关注点:在程序计数器、java虚拟机栈、本地方法栈中,这些内存都是随着线程的创建而创建,销毁而销毁,这部分是不需要太过于关注内存的回收问题;而在java堆以及方法区中,对象的分配和接口不同实现类,方法中的多个分支,这些需要多少内存是在运行期间才可以确定创建那些对象。这部分内存的分配和回收都是动态的,因此垃圾收集器关注的都是这部分内存。
对象已死吗?
(1)引用计数法:这是现在主流jvm没有在使用的方法;这里可以作为了解,原理很简单,一个对象,每当一个地址指向它,引用+1,引用实效引用值则-1 ...
本章写的优点简略,有空会补充及丰富内容
前面两章讲的是理论方面的内容,本章可以通过命令和可视化界面的两种方式监控jvm的方方面面。
jdk命令行工具:
(1)jps:jvm process status tool 显示指定系统内所有的hotspot虚拟机进程。
虚拟机进程状况工具
命令格式:jps [options] [hostid] .
options: -q ,-m,-i,-v
e.g: jps -q
(2)jstat:jvm statistics monitoring tool,用于手机hotSpot虚拟机各方面的运行数据。
虚拟机统计信息监视工具
命令格式:jstat ...
说来惭愧,之前一直没有写过博客,学习的内容或者一些技术类话题也只是记录在云笔记上,今天偶然间想起来这件事情,从今天开始不定时更新博客,如有不正确或者待讨论的地方欢迎看到的朋友评论。
技术分享从学习周志明的《深入理解java虚拟机》开始吧。文章内容为本人读书笔记,如有雷同,那我们真是太有缘了。
下面进入正文:
=================================================================
JVM中运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计数器
1.程序计数器:
(1)较小的内存空间,相当于当前线程执行字节码的 ...