
Java虚拟机
happyzhang0502
这个作者很懒,什么都没留下…
展开
-
虚拟机类加载机制之类加载时机(JVM学习笔记)
类声明周期 类从被加载到虚拟机内存开始,到卸载出内存为止,他生命周期包括了: 加载->验证->准备->解析->初始化->使用->卸载什么情况下开始类加载第一阶段?遇到new,getstatic,putstatic或者invokestatic这4条字节码指令时。如果类没有惊醒过初始化,则先触发其初始化。常见场景:new实例化对象,...原创 2018-04-22 16:46:53 · 218 阅读 · 0 评论 -
虚拟机类加载机制 第二节:类加载的过程(JVM笔记)
加载 加载阶段是类加载的过程的一个阶段,在加载阶段虚拟机需要完成三件事:通过一个类的全限定名来获取定义此类的二进制字节流将字节流所代表的静态存储结构转化为方法区的运行时存储结构java堆中生成一个代表这个类的java.lang.Class对象,作为方法区这些数据的访问入口 加载完成后外部的二进制字节流就按照虚拟机所需的格式存储在方法区,方法区中的数据存储格式由虚拟机自行定义。验证 虚原创 2018-04-23 00:41:46 · 278 阅读 · 0 评论 -
虚拟机性能监控与故障处理工具(学习笔记)
虚拟机性能监控与故障处理工具jps:虚拟机进程状况工具 可以列出正在运行虚拟机的名称,并显示虚拟机执行主类,,以及这些进程本地虚拟机的唯一ID,对于本地虚拟机来说,LVMID与操作系统进程ID一致。 jps命令格式:jps [options] [hostid]执行样例:jps工具主要选项: 选项 作用 -q...原创 2018-04-18 23:39:19 · 247 阅读 · 0 评论 -
虚拟机类加载机制 第二节:类加载器(JVM笔记)
类与类加载器 对于任意一个类都要由加载他的类加载器和这类本身一同确定其在java虚拟机中的唯一性。也就是说比较两个类是否相等,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则即使这两个类是来源于同一个Class文件,只要加载他的加载器不同,这两个类就必定不相等。双亲委派模型 站在JVM的角度讲只有两种不同的类加载器:启动类加载器,这个类加载器使用C++语言实现,虚拟机自身的一部分原创 2018-04-23 23:32:30 · 226 阅读 · 0 评论 -
高效并发 第一节:java内存模型(JVM笔记)
高效并发 第一节:java内存模型(JVM笔记) java虚拟机规范试图定义一种java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,让java程序在各平台都能达到一致性的内存访问效果。主内存与工作内存 java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 这里所说的变量包括实例字段静态字段构成数组原创 2018-04-25 00:32:00 · 379 阅读 · 0 评论 -
高性能硬件上的程序部署策略(深入理解JVM虚拟机笔记)
高性能硬件上的程序部署策略 高性能硬件上部署程序,主要方式有两种: 1.通过64位的JDK来使用大内存 2.使用若干个32位虚拟机建立逻辑集群来利用硬件资源 对于用户交互性强、对停顿时间敏感的系统,可以给java虚拟机分配超大堆内存的前提是有把握把应用程序的Full GC频率控制的足够低,至少低到不会影响用户使用,譬如十几原创 2018-04-20 23:58:22 · 340 阅读 · 0 评论