首页
博客
源码
资源
博客
源码
写文章
发布博客
发布资源
登录
X
jvm
相关资讯
热门
最新
代码人生
01-01 08:00
代码人生
JVM系列之:关于JVM类加载的那些事
JVM系列之:关于JVM类加载的那些事,在上一篇文章中我们知道Java语言的类型可以分为两大类:基本类型(primitivetypes)和引用类型(referencetypes)。比如Java的基本类型,它们是由Java虚拟机预先定义好的。Java引用类型主要分为四种:类、接口、数组类和泛型参数。由于泛型参数会在编译过程中被擦除,因此Java虚拟机实际上只有前三种。在类、接口和数组类中,数组类是由
88
代码人生
01-01 08:00
代码人生
JVM入门学习日记(day05)--Java内存区域--运行时数据区之虚拟机栈
JVM入门学习日记(day05)--Java内存区域--运行时数据区之虚拟机栈,第四节:运行时数据区之虚拟机栈1、Java虚拟机栈概述由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。基于栈的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。有不少Java开发人员一提到Java内存结构,就会非常粗粒度地将J
110
代码人生
01-01 08:00
代码人生
JVM的执行程序详解+内存模型交互
JVM的执行程序详解+内存模型交互,什么是JVMjvm它是一个虚构出来的机器,但是它却又是通过在实际的计算机上仿真模拟各种功能来实现的。jvm包含了一套字节码的指令集,有一组寄存器,一个栈,一个垃圾回收堆,一个存储方法域。JVM使得Java程序只需要生成在Java虚拟机上运行代码,就可以在多种平台不加什么修改地运行。JVM在执行字节码的时候,最终还是把字节码解释成机器指令执行。JDK、JRE、JV
95
代码人生
01-01 08:00
代码人生
JVM中如何做到STW使程序暂停
JVM中如何做到STW使程序暂停,STW,即StopTheWorld,这篇文章来为大家详细介绍了JVM中是如何做到STW使程序暂停的原理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助为什么需要STW呢?试想你妈给你打扫房间的场景:把你撵出去,关上门,打扫干净,打开门,数落你,揍你…一套标准化流程后,房间干净了。打完你,***心情变好了,打麻将都能多赢点。这里面有个关键环节:把你撵出去。尽管在打
87
代码人生
01-01 08:00
代码人生
JVM强软弱虚引用记录
JVM强软弱虚引用记录,JVM四种引用级别如果一个对象存在着指向它的引用,那么这个对象就不会被GC回收?--不对有局限性Objectobj=newObject();--强引用根据引用的强弱关系:强引用>软引用>弱引用>虚引用强引用Objectobj=newObject();约定:引用obj,引用对象newObject()强引用对象什么失效?1.生命周期结束(作用域失效)publicvoidmeth
91
人工智能
01-01 08:00
人工智能
JVM整体结构(jvm的内存模型和结构)
JVM整体结构(jvm的内存模型和结构),Java虚拟机主要负责自动内存管理、类加载与执行、主要包括执行引擎、垃圾回收器、PC寄存器、方法区、堆区、直接内存、Java虚拟机栈、本地方法栈、及类加载子系统几个部分,其中方法区与Java堆区由所有线程共享、Java虚拟机栈、本地方法栈、PC寄存器线程私有,宏观的结构如下图所示:JVM结构图类加载子系统从文件或网络中加载Class信息,类信息存放于方法区
264
代码人生
01-01 08:00
代码人生
JVM-类加载机制
JVM-类加载机制,二、类加载(一)类加载包括loadinglinkinginitialization三个过程loading阶段获取此类的二进制转化成方法区的运行数据结构,在内存中生成一个代表类的class对象linking阶段会有三步验证=>准备=>解析2.1验证-需要确保class文件符合JVM规范,前缀是cafebabe结构2.2准备-未类变量赋默认的初始值,这里需要注意两点:A:被fina
141
代码人生
01-01 08:00
代码人生
JVM-运行时数据区-PC寄存器(jvm运行时数据区有哪些)
JVM-运行时数据区-PC寄存器(jvm运行时数据区有哪些),三、PC寄存器(一)PC寄存器是什么它是程序控制流的指示器,分支、循环、跳转和异常处理等基础的操作都需要依赖它来完成字节码解释器工作时就是通过改变计数器的值来选取下一条字节码指令来执行它是唯一一块在虚拟机规范中没有规定任何OOM的区域作用:用来存储下一条指令的地址,可以理解成游标或者是集合里面的迭代器(二)为什么PC寄存器要线程私有共享
166
代码人生
01-01 08:00
代码人生
JVM 垃圾回收器总结(jvm垃圾回收什么时候触发)
JVM 垃圾回收器总结(jvm垃圾回收什么时候触发),一.先回顾一下分代收集理论(毕竟hotSpot以此为基础进行收集的)当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”的理论去设计的。也就是将堆分为“新生代”与“老年代”。一个在新生代的对象经过一次次GC不断的改变着自己对象头上的GC年龄直至进入老年代,当然新生代进行收集的时候98%基本都会被清除。(简单带过具体的自己去看去吧)1.部分收集
294
代码人生
01-01 08:00
代码人生
JVM对象创建与内存分配(java对象在jvm中的存储)
JVM对象创建与内存分配(java对象在jvm中的存储),前言在我们创建对象时的一个流程是怎样的,创建的对象又应该在哪里分配给他内存,下面让我们一起来看一下吧。对象创建的流程在我们创建一个对象时,主要经历以下几个阶段:类加载检查:在分配内存之前,类必须要先加载,因此进行类加载检查。类加载就是将字节码文件读入到JVM。分配内存:一般对象都是在堆中分配内存。那么内存是如何分配的,有两种分配内存的方法:
142
«
1
2
3
4
5
6
7
8
9
10
»