`
jiangwenfeng762
  • 浏览: 286225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java方法区

 
阅读更多

 

先以两个问题开篇:

1.如果一个类有多个子类,那么new多个子类对象时,父类的对象是一个还是多个?

2.每个类型有一个常量池,还是每个对象都有自己的常量池?

你可以很快地正确回答吗?了解了java虚拟机方法区的原理,这两个问题就很清晰了。

java虚拟机把内存划分为方法区、堆和线程栈。简单说方法区用来存储类型的元数据信息,一个.class文件是类被java虚拟机使用之前的表现形式,一旦这个类要被使用,java虚拟机就会对其进行装载、连接(验证、准备、解析)和初始化。而装载(这里涉及到类加载器的相关理论)后的结果就是由.class文件转变为方法区中的一段特定的数据结构。这个数据结构会存储如下信息:

类型信息

这个类型的全限定名

这个类型的直接超类的全限定名

这个类型是类类型还是接口类型

这个类型的访问修饰符

任何直接超接口的全限定名的有序列表

字段信息

字段名

字段类型

字段的修饰符

方法信息

方法名

方法返回类型

方法参数的数量和类型(按照顺序)

方法的修饰符

 

除了常量以外的所有类

 

分享到:
评论

相关推荐

    java-内存-方法区介绍

    存放类的class字节码信息、静态与非静态方法、静态成员变量、常量、字符串常量池

    深入讲解Java虚拟机系列之方法区

    深入讲解Java虚拟机系列之方法区

    详谈java 堆区、方法区和栈区

    下面小编就为大家带来一篇详谈java 堆区、方法区和栈区。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java 内存中 堆、栈、常量池、方法区的总结

    详细的总结了java中在内存中创建的堆、栈、方法区、常量池的区别和用途

    美团和蚂蚁金服面试笔记.pdf

    Java内存模型 线程公有方法区:Java方法区和堆一样,方法区是一块所有线程共享的内存区域,他保存系统的 类信息。比如类的字段、方法、常量池等。方法区的大小决定系统可以保存多少个类。如果 系统定义太多的类,...

    Java多线程 之 临界区、ThreadLocal.docx

    synchronized关键字不属于方法特征签名的一部分,所以可以在覆盖方法的时候加上去。也就是说,在父类的方法声明上可以没有synchronized关键字,而在子类覆盖该方法时加上synchronized关键字。 注意:使用...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA语言中read方法分析

    在JAVA语言中,输入和输出功能依靠流来完成,输入输出流则 依靠InputStream和OutputStream两个类及其子类实现。lnputStream 类及其子类主要负责输入数据, 如果需要通过键盘输入数据. InputStream类巾的read方法是...

    java处理图片背景颜色的方法

    主要为大家详细介绍了java处理图片背景颜色的方法,蓝底寸照批量转换为白底,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAVA_API1.6文档(中文)

    java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...

    一种基于Java语言的LiDAR点云数据处理方法

    通过对某测区的Li DAR点云数据进行处理,并比较了不同语言环境下的处理结果,验证了在Java语言环境下该方法进行Li DAR点云数据处理的可行性,以及利用该方法引入树结构的网格空间索引在Java语言环境下的实现性。

    Java开发技术大全(500个源代码).

    mutexThread.java 一个能管理临界区的线程类 demoMutex.java 使用上面这个类来演示线程的互斥 commSource.java 一个共享资源的类 demoSynchrony.java 演示线程的同步 setDataThread.java 设置数据的线程类 ...

    java源码包4

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java api最新7.0

    java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...

    详细地址抽取全国省市区

    详细地址抽取全国省市区,包含2018版最新全国省市区基础数据,使用方便简单,仅一java表态方法就可解析地址中省市区,不依赖数据库,防重复解析,防三级地址重名干扰。

    Java 1.6 API 中文 New

    java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...

    Java虚拟机规范.Java SE 8版.zip

    第2章概述Java虚拟机的整体架构,包括class文件格式、数据类型、原始类型、引用类型、运行时数据区、栈帧、浮点算法、异常等,这对理解本书后面的内容有重要帮助;第3章详述如何将Java语言编写的程序转换为Java...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

Global site tag (gtag.js) - Google Analytics