JVM
文章平均质量分 89
hxcaifly
这个作者很懒,什么都没留下…
展开
-
【JVM第四篇】:Class文件中的常量池详解(下)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010349169/article/details/40301985 NO9.类中引用到的field字段在常量池中是怎样描述的?(CONSTANT_Fieldref_info, CONSTANT...转载 2018-09-28 17:34:54 · 471 阅读 · 0 评论 -
【JVM第三篇】:Class文件中的常量池详解(上)
NO1.常量池在class文件的什么位置?           我的上一篇转载 2018-09-28 17:33:06 · 2861 阅读 · 0 评论 -
【JVM第一篇】:java内存区域以及虚拟机对象探秘
1.java内存区域 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动而存在,有些区域依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范SE7版》的规定,Java虚拟机所管理的内容将会包括以下几个运行时数据区域,如果所示: 1.1.程序计数器 程序计数器是一块较小的空间,类似...原创 2018-09-28 09:34:23 · 311 阅读 · 0 评论 -
【JVM第十一篇】:深入理解volatile关键字的作用
在Java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块(synchronized) 和 volatile 关键字机制。 synchronized(不做过多解释) 同步块大家都比较熟悉,通过 synchronized 关键字来实现...原创 2018-09-14 20:56:06 · 383 阅读 · 0 评论 -
【JVM第二篇】:Linux与JVM的内存关系分析
引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用 了),如下图所示。同时,由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了? ...原创 2018-09-09 22:33:52 · 826 阅读 · 1 评论 -
【JVM第十三篇】:JVM的类加载机制
前言 我们知道,Java源代码(.java文件)需要通过编译器编译成字节码文件(.class)后由类装载子系统(ClassLoader)载入运行时数据区(<jdk1.8之前是载入方法区,>=jdk1.8以后是载入元数据区)才能被后续的Java运行程序(线程)正常使用(实例化或引用)。 那么类装载的具体机制是什么样的呢?下面就让我们一起进一步来了解下吧! JVM类装载概述 与C/C++那...转载 2018-12-02 13:52:36 · 261 阅读 · 0 评论