[最新更新:2014/11/11] 

了解JVM虚拟机原理 是每个Java程序猿修炼的必经之路。

可是因为JVM虚拟机中有非常多的东西讲述的比較宽泛。在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描写叙述,非常难给人以形象化的认知。看完之后感觉还是稀里糊涂的。

感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》
这个系列,以图解的形式,将抽象的JVM虚拟机的知识详细化,希望可以对想了解Java虚拟机原理的的Java程序猿 提供点帮助。

上一章节《Java虚拟机原理图解》 1、class文件基本组织结构大致地介绍了class文件的组织结构,接下来,我们将深入每个结构,来具体了解它们。

这一章节呢,我们就来扒一扒
class文件里很重要 的一个数据区域------常量池。

它在JVM虚拟机中扮演了很重要的地位。

本章节将从以下几个方面来介绍常量池:

一. 什么是常量池, 为什么使用常量池

二.  常量池具体解释(上)

  • NO1.  常量池在class文件的什么位置?
  • NO2.  常量池的里面是怎么组织的?
  • NO3.  常量池项 (cp_info) 的结构是如何的?
  • NO4.  常量池 可以表示那些信息?
  • NO5.  int和float数据类型的常量在常量池中是如何表示和存储的?

              
    ( ----介绍 常量池项  CONSTANT_Integer_info, CONSTANT_Float_info)
  • NO6.  long和 double数据类型的常量在常量池中是如何表示和存储的?

              (
    ----介绍 常量池项 CONSTANT_Long_info, CONSTANT_Double_info
  • NO7.  String类型的字符串常量在常量池中是如何表示和存储的?

                 (
    ----介绍 常量池项 CONSTANT_String_info,CONSTANT_Utf8_info)
  • NO8.  类文件里定义的类名和类中使用到的类在常量池中是如何被组织和存储的?

              (----介绍 常量池项 CONSTANT_Class_info

三.  常量池具体解释(下)

  • NO9.  类中引用到的field字段在常量池中是如何描写叙述的?

               (

    ----介绍 常量池项   CONSTANT_Fieldref_info,
    CONSTANT_Name_Type_info)
  • NO10. 类中引用到的method方法在常量池中是如何被描写叙述的?

               (
    ----介绍
    常量池项  CONSTANT_Methodref_info)
  • NO11. 类中引用到某个接口中定义的method方法在常量池中是如何描写叙述的?

               (----介绍
    常量池项  CONSTANT_InterfaceMethodref_info)
  • NO12.  CONSTANT_MethodType_info
  • NO13.  CONSTANT_MethodHandle_info
  • NO13. 
    CONSTANT_InvokeDynamic_info

因为篇幅较长。该章节被分为三个部分,读者能够通过点击下列的连接查看:

第一部分:    一. 什么是常量池, 为什么使用常量池(尚未完毕,敬请期待......)

第二部分:    二. 常量池具体解释(上)

第三部分:   三. 常量池具体解释(下)(已完毕)

作者的话

本文是《Java虚拟机原理图解》系列的当中一篇。假设您有兴趣。请关注该系列的其它文章~

认为本文不错,顺手点个赞哦~~您的鼓舞,是我继续分享知识的强大动力!

-----------------------------------------------------------------------------------------------------------------------------------------

本文源自  http://blog.csdn.net/luanlouis/,如需转载。请注明出处,谢谢!

《Java虚拟机原理图解》 1.2、class文件里的常量池的更多相关文章

  1. 《Java虚拟机原理图解》1.4 class文件里的字段表集合--field字段在class文件里是如何组织的

    0.前言 了解JVM虚拟机原理是每个Java程序猿修炼的必经之路.可是因为JVM虚拟机中有非常多的东西讲述的比較宽泛.在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描写 ...

  2. 《Java虚拟机原理图解》 1.2.2、Class文件里的常量池具体解释(上)

    [last updated:2014/11/27] NO1.常量池在class文件的什么位置? 我的上一篇文章<Java虚拟机原理图解> 1.class文件基本组织结构中已经提到了clas ...

  3. 《Java虚拟机原理图解》1.3、class文件里的訪问标志、类索引、父类索引、接口索引集合

    讲完了class文件里的常量池,我们就相当于克服了class文件里最麻烦的模块了.如今,我们来看一下class文件里紧接着常量池后面的几个东西:訪问标志.类索引.父类索引.接口索引集合. 1. 訪问标 ...

  4. 《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的

    0. 前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描 ...

  5. 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的

    0.前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述 ...

  6. 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合

    讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了.现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志.类索引.父类索引.接口索引集合. 1. 访问标 ...

  7. 《Java虚拟机原理图解》 1.2.2、Class文件中的常量池详解(上)

    我的上一篇文章<Java虚拟机原理图解> 1.class文件基本组织结构中已经提到了class的文件结构,在class文件中的魔数.副版本号.主版本之后,紧接着就是常量池的数据区域了,如下 ...

  8. 《Java虚拟机原理图解》 1.2、class文件中的常量池

    了解JVM虚拟机原理 是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给 ...

  9. 《Java虚拟机原理图解》 1.2.3、Class文件里的常量池具体解释(下)

    NO9.类中引用到的field字段在常量池中是如何描写叙述的?(CONSTANT_Fieldref_info, CONSTANT_Name_Type_info) 一般而言.我们在定义类的过程中会定义一 ...

随机推荐

  1. SQL跨数据库复制表数据

    SQL跨数据库复制表数据   不同服务器数据库之间的数据操作 不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库.. ...

  2. pssh 不能执行指定用户命令

    问题: 一个脚本a.sh(必须root用户执行),在本地可以运行,通过pssh  -h ip_file "cd /home/byte/a.sh"不能执行. 原因: 分析应该是ssh ...

  3. I-frame、B-frame、P-frame及DTS、PTS的关系(转)

    基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象. ...

  4. c++ List、Vector、Stack、Queue使用

    一.List使用 引入头文件#include <list> List基本函数Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比 ...

  5. 第二百一十五、六天 how can I 坚持

    昨天刷机刷到很晚,博客都忘写了,刷了个flyme,用着没什么感觉,今天打电话试了下还有破音,有点小后悔.不行过两天再刷回来. 今天.mysql ifnull函数. 两条熊猫鱼都死了,这两天雾霾那么严重 ...

  6. VMare中安装“功能增强工具”,实现CentOS5.5与win7host共享文件夹的创建

    读者如要转载,请标明出处和作者名,谢谢. 地址01:http://space.itpub.net/25851087 地址02:http://www.cnblogs.com/zjrodger/ 地址03 ...

  7. Linux下的sort排序命令详解(二)

    有时候学习脚本,你会发现sort命令后面跟了一堆类似-k1,2,或者-k1.2 -k3.4的东东,有些匪夷所思.今天,我们就来搞定它—-k选项! 1 准备素材 [root@FDMdevBI opt]# ...

  8. 用UltraISO制作的u盘ubuntu11.04,启动失败解决方案

    错误提示:SYSLINUX 3.84 2009-12-18 EBIOS Copyright c 1994-2009 H.Peter Anvin et al 折腾的很久,尝试用Pauly的bootice ...

  9. HDU 5534 Partial Tree (完全背包变形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意: 给你度为1 ~ n - 1节点的权值,让你构造一棵树,使其权值和最大. 思路: 一棵树上 ...

  10. [置顶] 两台一级域名相同二级域名不同的服务器,怎么共享session

    比如www.hongchangfirst.com和video.hongchangfirst.com两个域名,一级域名相同,二级域名不同.每个服务器运行着不同的功能模块或者不同的子系统,他们使用不同的二 ...