
java虚拟机
IPI715718
这个作者很懒,什么都没留下…
展开
-
java内存分配之堆,栈,常量池,方法区
java栈java栈,在函数的定义中定义的基本类型(int,long,short,byte,float,double,boolean,char)的变量数据和对象的引用变量分配的存储空间的地方。当在代码块中定义一个变量时,java栈就为这个变量分配适当的内存空间,当该变量退出作用域时,java栈会释放该变量的内存空间。java堆Java堆,用来存放new创建的对象(实例)和数组。该内存的...原创 2018-09-15 11:43:57 · 1773 阅读 · 0 评论 -
什么是java虚拟机
为什么会出现Java虚拟机?为甚Java跨平台原理?首先回答这两个问题不同的操作系统之间,相同的操作系统不同位数,都有着不同的指令集,例如windows和linux,64位和32位。对于不夸平台的开发语言来说,在windows开发的一套系统,放在linux上跑会出问题,因此需要为不同的操作系统开发不同的版本。但Java的跨平台正是克服了这一缺点,他在操作系统与用户的程序之间增加了虚拟机,虚拟机...原创 2018-09-15 15:50:33 · 958 阅读 · 0 评论 -
java虚拟机之内存区域和对象的访问定位
运行时数据区域虚拟机在执行java程序时,会将自己管理的内存区域划分为几个区域:程序计数器,虚拟机栈,方法区,Java堆,本地方法栈。程序计数器,是内存中一块很小的区域,主要的工作是存储下一条指令的地址。这个区域的周期是线程级别的,每个线程都拥有一个程序计数器,执行的是java方法,里面存储的是一条字节码指令地址,如果运行的是Native方法(native方法是指由非java语言实现的...原创 2018-11-24 11:03:04 · 356 阅读 · 0 评论 -
java虚拟机之GC机制和内存分配
前言:java和c++有一堵由内存动态分配的和垃圾自动回收的高墙,墙外的人都想进来而墙里面的人想出去。虚拟机运行时数据区域从周期可划分为两部分线程私有(程序计数器,虚拟机栈,本地方法栈)和线程共享(java堆,方法区),线程私有的部分会伴随着线程的结束而回收,因此我们不关心线程私有的内存空间的垃圾回收,只关注线程共享区域的垃圾回收和内存的分配。垃圾的回收思路确定对象或者数据是否为不可用...原创 2018-11-25 10:26:44 · 442 阅读 · 0 评论 -
Java虚拟机之类加载机制和双亲委派模型原理分析
定义:虚拟机将class文件加载到内存,并对数据进行校验,准备,解剖,初始化后转化为直接使用的Java类型,就是类的加载机制。类的加载过程加载——》验证——》准备——》解剖——》初始化——》使用——》卸载。类加载的时机类在虚拟机中不是虚拟机启动的时候就将所有的class文件都进行加载,而是是动态加载的。五种出发类加载的场景 当且仅当当遇到new ,getstatic...原创 2018-11-30 19:44:13 · 668 阅读 · 0 评论