E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Jvm学习
JVM学习
笔记1—JVM运行机制
JVM的基本结构对于PC寄存器有个注意点,当执行本地方法时,pc的值为undefined方法区保存类的信息java堆对象保存在堆中,new出来的,是gc的主要工作区间java栈线程独有的栈由一系列帧组成,栈只进行帧的入栈出栈操作栈保存一个方法的局部变量,操作数栈,常量指针每一次的方法调用都进行一次要栈操作局部变量表包含参数和局部变量注意:非static方法的局部变量表有一个指向所在类的引用栈上分配
夜吟
·
2016-02-20 21:20
JVM学习笔记
JVM学习
-内存分配以及回收策略(三)
java技术体系中所提倡的自动内存管理最后可以归结为自动化解决两个问题:给对象分配内存以及回收分配给对象的内存,关于回收内存,上一篇已经说了很多JVM内部的垃圾收集器体系以及他运行的垃圾收集算法,现在我们在探讨一下给对象分配内存的时候需要注意的事项。 对象的内存分配,大的讲,就是在javaheap上分配,对象主要分配在新生代的Eden空间上,如果启用了本地线程缓冲分配
李晨金旭
·
2016-02-20 15:00
jvm
内存分配策略
JVM学习
-垃圾收集算法以及常用的垃圾收集器(二)
垃圾收集器与内存分配策略简介:一:垃圾收集算法1.1:简介 说起垃圾收集,大部分人都把这项技术当做java语言的伴生物,其实,GC的历史比java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言,档Lisp在胚胎的时候,人们就在考虑GC需要完成的三件事情: 1:那些内存需要回收 2:什么时候回收 3:如何回收1.2:垃圾收集算法: 由
李晨金旭
·
2016-02-20 15:00
jvm
垃圾收集器
垃圾收集算法
JVM常用参数
JVM学习
一JVM内存模型(一)
以前自己只是用java去编写程序,没有深入了解过,空闲下来自己看看书,学习JVM相关知识,这也是自我深造学习。虽然现在网上有很多这方面的博文之类,但是我认为我还有必要自己去整理写一下,毕竟看得多不如自己多动手亲自去写一遍。JAVA程序的之所以能够实现一次编译处处运行,得益于他强大的虚拟机,虚拟机会将编译好的字节码文件加载到虚拟机内存中,经过一系列的验证之后,初始化,最后在卸载加载的class文件。
李晨金旭
·
2016-02-20 12:00
jvm内存
JVM学习
(1)——通过实例总结Java虚拟机的运行机制
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下:JVM的历史JVM的运行流程简介JVM的组成(基于Java7)JVM调优参数:-Xmx和-Xms逃逸分析(DoEscapeAnalysis)的概念——JVM栈上分配实验JVM中client模式(-client)和server模式(-server)的区别查看GC日志的方法使用idea对JVM进行参数输入Java
dashuai的博客
·
2016-02-20 01:00
JVM学习
(1)——通过实例总结Java虚拟机的运行机制
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下:JVM的历史JVM的运行流程简介JVM的组成(基于Java7)JVM调优参数:-Xmx和-Xms逃逸分析(DoEscapeAnalysis )的概念——JVM栈上分配实验JVM中client模式(-client)和server模式(-server)的区别查看GC日志的方法使用idea对JVM进行参数输入Jav
木棉和木槿
·
2016-02-20 01:00
JVM学习
(2)-JVM垃圾回收算法
java虚拟回收垃圾对象时,一份分为两步:1、虚拟机在回收堆空间在之间,会先判断哪些对象已经死亡;2、然后再对这些死亡对象通过特定的回收算法进行回收 一、判断对象是否死亡1、引用计算器算法给对象添加一个引用计算器,如果其他地方引用它,计算器就加1,当引用失效时,计算器就减1。当计算器为0时,这个对象不能被再次使用,需要被回收了。优点:实现简单缺点:不能解决对象之间相互循环引用的问题。 2、根搜索算
haoran_10
·
2016-02-02 08:14
JAVA虚拟机
java垃圾回收算法
jvm学习
(三)-java的进程和线程
关于进程和线程的区别,相信每一个面试过的人都被问到过。 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的
薛聚坡
·
2016-02-02 08:12
JVM学习
(1)-JVM运行时数据区
导言:java是基于一门虚拟机的语言,所以了解并且熟知虚拟机运行原理非常重要。 先整体看一张java虚拟机技术图: 一、堆1、方法区,MethodArea,主要存放已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。又称为永久代。 比如spring使用IOC或者AOP创建bean时,或者使用cglib,反射的形式动态生成class信息,如果生成大量的动态类,造成堆内存不足,则会抛
haoran_10
·
2016-02-02 08:27
java
jvm
JAVA虚拟机
JVM学习
(2)-JVM垃圾回收算法
阅读更多java虚拟回收垃圾对象时,一份分为两步:1、虚拟机在回收堆空间在之间,会先判断哪些对象已经死亡;2、然后再对这些死亡对象通过特定的回收算法进行回收一、判断对象是否死亡1、引用计算器算法给对象添加一个引用计算器,如果其他地方引用它,计算器就加1,当引用失效时,计算器就减1。当计算器为0时,这个对象不能被再次使用,需要被回收了。优点:实现简单缺点:不能解决对象之间相互循环引用的问题。2、根搜
haoran_10
·
2016-02-01 16:00
java虚拟机
java垃圾回收算法
JVM学习
(2)-JVM垃圾回收算法
阅读更多java虚拟回收垃圾对象时,一份分为两步:1、虚拟机在回收堆空间在之间,会先判断哪些对象已经死亡;2、然后再对这些死亡对象通过特定的回收算法进行回收一、判断对象是否死亡1、引用计算器算法给对象添加一个引用计算器,如果其他地方引用它,计算器就加1,当引用失效时,计算器就减1。当计算器为0时,这个对象不能被再次使用,需要被回收了。优点:实现简单缺点:不能解决对象之间相互循环引用的问题。2、根搜
haoran_10
·
2016-02-01 16:00
java虚拟机
java垃圾回收算法
JVM学习
(1)-JVM运行时数据区
阅读更多导言:java是基于一门虚拟机的语言,所以了解并且熟知虚拟机运行原理非常重要。先整体看一张java虚拟机技术图:一、堆1、方法区,MethodArea,主要存放已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。又称为永久代。比如spring使用IOC或者AOP创建bean时,或者使用cglib,反射的形式动态生成class信息,如果生成大量的动态类,造成堆内存不足,则会
haoran_10
·
2016-02-01 16:00
java虚拟机
java
jvm
JVM学习
(1)-JVM运行时数据区
阅读更多导言:java是基于一门虚拟机的语言,所以了解并且熟知虚拟机运行原理非常重要。先整体看一张java虚拟机技术图:一、堆1、方法区,MethodArea,主要存放已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。又称为永久代。比如spring使用IOC或者AOP创建bean时,或者使用cglib,反射的形式动态生成class信息,如果生成大量的动态类,造成堆内存不足,则会
haoran_10
·
2016-02-01 16:00
java虚拟机
java
jvm
jvm学习
三--jit的理解
下面一段代码:publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub longstart=System.currentTimeMillis(); intj=0; for(inti=0;i=0&&is[k]>temp;k--){ is[k+1]=is[k]; } is[k+1]=temp; }
薛聚坡
·
2016-01-31 13:37
java-
jvm学习
(2)
考虑这么一段代码:packagetest; /** *Test: * *@
[email protected]
下午6:46:39 */ publicclassTest{ /** *main: * *@paramargs *void返回类型 */ publicstaticvoidmain(St
薛聚坡
·
2016-01-31 12:35
JVM学习
JVM的类加载通过ClassLoader及其子类来完成,分为BootstrapClassLoader、ExtensionClassLoader、SystemClassLoader及User-DefinedClassLoader。
Earic
·
2016-01-29 12:00
jvm学习
(1)
jvm内存模型是javaer的必经之路,也算是面试时候必问的问题(至少博主去年面试的几家公司都问到这个了)。 jvm内存模型其实挺乱的,这几天来缕一缕这个,慢慢得一点一点来吧,争取花几天时间把内存模型方面的东西缕清楚。 首先看这个代码:Objecto=newObject(); 相信大部分人都知道,这行代码在jvm的堆内存上开辟了一块空间(内存块),存储一个新的object
薛聚坡
·
2016-01-26 20:00
jvm
JVM学习
笔记(5)之GC类型
JDK7的5种GC类型SerialGCParallelGCParallelOldGC(ParallelCompactingGC)ConcurrentMark&SweepGC(or“CMS”)GarbageFirst(G1)GCSerialGC使用标记整理法SerialGC不应该被用在服务器上。这种GC类型在单核CPU的桌面电脑时代就存在了。使用SerialGC会显著降低应用的性能指标Paralle
WarrenWP
·
2016-01-22 15:04
java虚拟机
JVM学习
篇(4)之线程安全与锁优化
线程安全与锁优化Java中线程安全对共享数据的操作1.不可变:不可变的对象一定是线程安全的。如String类。2.绝对线程安全3.相对线程安全4.线程兼容5.线程对立线程安全的实现方法1.互斥同步(阻塞式同步)1)同步指的是:多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一个线程使用。2)互斥指的是:同步的手段。如:临界区、互斥量和信号量。3)最基本的同步互斥手段:synchronize
WarrenWP
·
2016-01-21 16:41
java虚拟机
JVM学习
篇(1)之组成结构
JVM的组成JVM由4大部分组成1.ClassLoader2.RuntimeDataArea3.ExecutionEngine4.NativeInterface。1.ClassLoader:是负责加载class文件,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由ExecutionEngine决定。2.ExecutionEngine:是执行引擎。Class文件被加载后
WarrenWP
·
2016-01-21 16:07
java虚拟机
JVM学习
笔记 -- 从一段几乎所有人代码都会犯错的代码开始
废话不多说看看这段代码。告诉我结果:importjava.io.*; classTest { publicstaticTestt=newTest(); publicTest(){ a++; b++; } publicstaticinta; publicstaticintb=0; publicstaticvoidmain(String[]args)throwsjava.lang.Except
wingichoy
·
2016-01-13 10:00
jvm
入门
JVM学习
——编译OpenJDK
最近在学习《深入理解java虚拟机第二版》这本书。书中第一部分建议大家自己编译OpenJDK。抱着学习态度也来编译个玩一玩。下面进入正题。1.编译环境介绍操作系统CentOSLinuxrelease7.1.1503(Core)Linux内核版本3.10.0-229.el7.x86_64gcc版本4.8.220140120(RedHat4.8.2-16)(GCC)openJdk版本openjdk-7
The_Flash
·
2016-01-10 16:00
JVM学习
笔记(四)------内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和JavaVisualVM。对JVM内存的系统级的调优主要的目的是减少GC的频率和FullGC的次数,过多的GC和FullGC是会占用很多的系统资源(主要是CPU
yingfeng2oo8
·
2015-12-31 17:00
JVM学习
笔记(二)------Java代码编译和执行的整个过程
Java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java源码编译由以下三个过程组成:分析和输入到符号表注解处理语义分析和生成class文件流程图如下所示:最后生成的class文件由以下部分组成:结构信息。
yingfeng2oo8
·
2015-12-31 17:00
JVM学习
笔记(三)------内存管理和垃圾回收
JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由FromSpace和ToSpace组成,结构图如下所示:新生代。新建的对象都是用新生代分配内存,Eden空间不足的时候,会把存活
yingfeng2oo8
·
2015-12-31 17:00
JVM学习
笔记(一)------基本结构
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将这两个部分进行详细学习
yingfeng2oo8
·
2015-12-31 17:00
jvm学习
总结
一.Java虚拟机管理内存包括以下几个运行时数据区域:1.程序计数器2.java虚拟机栈3.本地方法栈4.java堆(其中java堆划分为年轻带、老年代)5.方法区(java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做非堆,目的应该是与java堆区分开来。很多人都更愿意把方法区称为“永久代”,本质上两者并不等价)二.常见OOM异常1.OutOfMemoryError:Javah
yingfeng2oo8
·
2015-12-31 16:00
jvm学习
笔记2:jvm垃圾收集器与垃圾收集算法
在了解垃圾收集算法与垃圾收集器之前,应该知道在jvm中该如何确定一个对象是否还存活?因为垃圾收集器只收集那些已经死去的对象(不可能再被任何其他的对象所使用的对象)对象标记算法引用计数算法:给对象添加一个引用计数器,每当一个地方引用它时,计数器值+1,当引用失效时,计数器值-1。当计数器为0时,该对象就是不可能再被使用的了。该算法实现简单,效率也很高,但是java没有使用这种算法,主要原因是它很难解
cjavahello
·
2015-12-17 10:08
jvm笔记
JVM学习
笔记(1)--java内存区域与内存溢出异常
运行时数据区域程序计数器ProgramCounterRegister可以看作是当前线程的字节码的行号指示器,为什么说是当前线程呢?因为java的多线程是通过线程轮流切换来实现的,为了切换后能恢复到正确的执行位置,每个线程都要有一个独立的程序计数器,之间互不影响。这块内存区域被称为“线程私有”的内存。java虚拟机栈VMStack我们常说的栈内存就是指虚拟机栈虚拟机栈也是线程私有的生命周期与线程相同
Vino007
·
2015-12-09 21:00
jvm
java
JVM
jvm学习
笔记1:JVM内存数据区域介绍
1:程序计数器字节码的行号指示器,字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令,计数器是线程私有内存,多线程情况下。当虚拟机将一条线程切换到另一条线程时通过该线程内部的计数器来恢复该线程原来的执行位置如果线程执行的是一个java方法,则计数器值是正在执行的字节码指令地址,如果正在执行的是个natvie方法,则计数器值为null还有该内存区域是唯一一个在java虚拟机规范中没有规定
cjavahello
·
2015-12-04 18:50
jvm笔记
JVM内存管理和JVM垃圾回收机制
JVM学习
笔记 JVM内存管理和JVM垃圾回收 JVM内存组成结构 J
·
2015-11-13 13:30
垃圾回收机制
JVM学习
03_new对象的内存图讲解,以及引出static方法
目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -=-引出s
·
2015-11-13 07:25
static
JVM学习
04_java中的堆、栈和常量池[看到一篇好文章,加自己想法]
原文地址 http://blog.sina.com.cn/s/blog_798b04f90100ta67.html 说到java中堆、栈和常量池,首先还是看看他们各自存放的数据类型吧! 堆:存放所有new出来的对象;栈:存放基本类型的变量数据和对象的应用,对象(new出来的对象)本身并不存在栈中,而是存放在堆中或者常量池中(字符串常量对象存放在常量池中)
·
2015-11-13 06:56
java
JVM学习
积累
1. Java代码编译和执行的整个过程包含了三个重要的机制: Java源码编译机制 类加载机制 类执行机制 2. 关于Java源码编译机制 Java源码编译由以下三个过程组成: 分析和输入符号表 注解处理 语义分析和生成class文件 生成的class文件包括的信息有: 结构信息(class文件格式版本号以及各部分的数量和大小的信息)
·
2015-11-12 21:02
jvm
jvm学习
笔记(二)
垃圾收集算法:1)标记-清除算法:先标记再清除,缺点是会造成大量内存碎片。2)复制算法:虚拟机内存分为等大的两部分,一部分快用完时将这一部分复制到另一块内存上,在把复制前存放的这一块内存清除。缺点是每次只能使用一般内存,代价略高。 改进:新生代对象寿命较短,不需要按照1:1的比例划分内存,因此可以分为一块较大的eden空间和两块较小的survivor。每次只使用eden和一块survivor,
李大毛
·
2015-11-11 20:00
java程序性能优化
我看的时候花了两周,总结起来如下,纯干货(不包括JVM部分,因为个人觉得
JVM学习
看《深入理解Java虚拟机》): 1.常见的系统瓶颈因素:磁盘I/O,网络操作,CPU,java异常捕获及处理
·
2015-11-11 18:18
java
JVM学习
---JAVA内存
一、JAVA运行时数据区域:JAVA中的运行时内存区域有的随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动和结束而建立和销毁的。包括以下的几个区域。 图. JAVA虚拟机运行时数据区 1.程序计数器:线程私有的内存。作用是当前线程所执行的字节码的行号指示器。多线程是通过线程轮流切换并分配处理器执行时间的方式实现,通过程序
·
2015-11-11 16:09
java内存
博文收集
专题一:
JVM学习
笔记 1、
JVM学习
笔记(一)------基本结构 2、
JVM学习
笔记(二)------Java代码编译和执行的整个过程 3、
JVM学习
笔记(三)------内存管理和垃圾回收
·
2015-11-11 06:00
JVM学习
笔记(二)------Java代码编译和执行的整个过程
Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表 注解
·
2015-11-10 23:37
java
JVM学习
笔记(四)------内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数,过多的GC和Full GC是会占用很多的系统资源(主
·
2015-11-10 23:36
学习笔记
JVM学习
笔记(三)------内存管理和垃圾回收
JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图如下所示: 新生代。新建的对象都是用新生代分配内存
·
2015-11-10 23:36
垃圾回收
JVM学习
笔记-运行时数据区
不同于C,C++程序,Java程序的内存管理工作由Java虚拟机(JVM)接管,这减低了java程序员的负担,但如果出现内存泄露与溢出问题如报OutOfMemory,StackOverFlow异常错误时,如果不了解JVM虚拟机的内存管理细节,往往很难快速定位错误。 JVM在运行时会把其所管理的内存分为几个不同的数据区域,分别为:程序计数器,虚拟机栈,本地方法栈,堆,方法区等。这些区域存放
·
2015-11-07 12:18
学习笔记
深入
jvm学习
(1)--体系结构
第一章 一:Java的体系结构: 1:java程序设计语言 2:java class 文件格式 3:java 应用编程接口(API) 4:java虚拟机 四者之间的关系如下图: 运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然
·
2015-11-03 21:35
体系结构
JVM学习
总结五——性能监控及故障处理工具
之前扯了四篇理论,这一篇终于可以动动手了。本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态、处理故障和调优分析的利器。 不过在开始之前,我还是要先车扯两句:工具终归只是帮助我们我们处理问题的,想要快速准确的解决问题,最为关键的还是对内在理论的理解和丰富的实践经验,所以如果对JVM的内存处理机制不了解,还是要用心学习一下。好了, 子曰
·
2015-11-02 16:23
jvm
JVM学习
总结三——垃圾回收器
整两天再看调优分析的部分,发现实际运行环境下,还是要考虑配置垃圾回收器,所以这里就加一小章介绍一下。 首先来看一下HotSpot所支持回收期的关系图: 图中可以看到一共有7中垃圾回收器,以中间绿线为界,上边三个用于年轻代,下边三个用在年老代,而G1则老少通吃,黑线线表示两个回收器可搭配使用,红线则表示两者
·
2015-11-02 16:22
垃圾回收
JVM学习
总结一——内存模型
以下是个人读书后整理的知识点,同时参考并引用了以下博客:
JVM学习
笔记 JVM性能优
·
2015-11-02 16:21
内存模型
JVM学习
总结五(番外)——VisualVM
距离上次介绍Jconsole已经时隔两周了,这期间由于工作中要用go来做一个新项目,所以精力都用在入门go上了,不过发现go语言用起来真的挺不错的,比python感觉还好点,大家没事可以了解下。 言归正传,VisualVM和Jconsole同是图形化的jvm监控和分析工具,两者在一些基本功能上的使用大同小异,比如内存、线程、jvm环境参数等
·
2015-11-02 13:55
visualvm
JVM学习
总结五(番外)——JConsole
之前本来打算结合自己写的小程序来介绍JConsole和VirtualVM的使用的,但是发现很难通过一个程序把所有的场景都体现出来,所以还是决定用书中的典型小例子来讲更加清晰。 一、JConsole的基本功能 JConsole是一个机遇JMX(Java Management Extensions,即Java管理扩展)的JVM监控与管理工具
·
2015-11-02 13:49
JConsole
JVM学习
笔记
在程序用也有28效应,也就是20%的代码占用了80%的时间。 方法调用会使优化器的有效性降低,因为优化器在不同的方法调用间不能有效的工作,因此优化器在方法调用的时候就无法专注于代码了。方法调用的频率越高,方法间可以用来优化的代码就越少,优化器就会越低效。 ClassFile表中各项的含义如下: magic【u4】:0xCAFEBABE,用于辨别是不是Java class文件。 mi
·
2015-11-01 12:54
学习笔记
JVM学习
笔记
Java虚拟机内部体系结构: 虚拟机必须能够通过对象引用得到类数据:当程序在运行时需要转换某个对象引用为另一种类型时,虚拟机必须检查这种转换是否被允许,被转换的对象是否的确是被引用的对象或者是它的超类型。当程序在执行instanceof操作时,虚拟机也能进行同样的检查。最后,当程序中调用某个实例方法时,虚拟机必须动态绑定。 划分为对象池和方法池的对象如下: 保持对象数据在一起的方式如
·
2015-11-01 12:53
学习笔记
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他