码迷,mamicode.com
首页 >  
搜索关键字:常量池    ( 950个结果
深入理解java虚拟机 精华总结(面试)
一、运行时数据区域 3 1.1 程序计数器 3 1.2 Java虚拟机栈 3 1.3 本地方法栈 3 1.4 Java堆 3 1.5 方法区 3 1.6 运行时常量池 4 二、 hotspot虚拟机对象 4 2.1 对象的创建 4 1. 检查 4 2. 分配内存 4 3. Init 4 2.2 对象 ...
分类:编程语言   时间:2016-05-21 19:03:39    阅读次数:493
Java中的String与常量池
string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。下面介绍java中的String与常量池。 1. 首先String不属于8种基本数据类型,String是一个类类型。 因为对象的默认值是null,所以String的默认值也是n ...
分类:编程语言   时间:2016-05-20 11:15:14    阅读次数:207
String类概述
String类字符串是一个特殊的对象,一旦初始化就不可以被改变1)比较下面的表达式的区别Stringstr1="abc";Stringstr2=newString("abc");第一种先在栈中创建一个对String类的对象引用变量str1,然后去查找"abc"是否被保存在字符串常量池中。如果没有则在栈中创建三个char型的值‘a‘..
分类:其他好文   时间:2016-05-20 06:24:00    阅读次数:190
2,理解JVM
一、内存管理: 1,内存结构: 栈和堆区别,栈是连续内存区,一般是2M单位,堆是不连续的链表。受限于虚拟内存,new时分配 PC寄存器、java栈、堆、方法区、本地方法区、运行常量池 java栈:对应一个线程,每个栈中的栈帧关联每个方法,运行一个方法创建一个栈帧,执行完就弹出栈帧。不是线程共享,不用 ...
分类:其他好文   时间:2016-05-19 23:19:12    阅读次数:163
java内存区域与内存溢出异常
java虚拟机的基本结构 类加载子系统 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分...
分类:编程语言   时间:2016-05-18 19:12:44    阅读次数:239
Java方法区和运行时常量池溢出问题分析(转)
运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名、访问修饰符、常量池、字段描述、方法描述等。 String.intern()是一个native方法,它的作用是:如果字符串常量池中已经包含了一个等于此String对象的字符串,则返回代表池中这个字符串的String对象;否则,将 ...
分类:编程语言   时间:2016-05-15 12:16:23    阅读次数:164
深入理解Java类加载
类的加载过程Java类从加载到卸载大致如下 其中的部分工作内容:一、加载使用类的全名获取二进制流,在内存中生成class对象。 二、验证保证class文件中内容不会危害虚拟机自身的安全等。三、准备为类变量分配初始值。final等修饰的固定变量分配具体值,其他分配零值。 四、解析虚拟机将常量池中的符号引用替换为直接引用的过程 类加载器(1)Bootstrap ClassLoader 这个...
分类:编程语言   时间:2016-05-13 01:28:55    阅读次数:162
Java String 学习
String, 首先,String有字面值常量的概念,这个字面值常量是在编译期确定下来的,类加载时直接存入常量池(注意,常量池是类的常量池,类与类之间隔离)。 而运行时生成的字符串,是不在常量池中的。如果想放入常量池中,使用intern()方法即可。 其次,像字面量字符串,因为存放在常量池里边,被常 ...
分类:编程语言   时间:2016-05-08 16:29:01    阅读次数:241
【深入理解JVM】:解析与分派
解析Java中方法调用的目标方法在Class文件里面都是常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化为直接引用。(关于符号引用与直接引用,详见【深入理解JVM】:Class类文件结构)这种解析的前提是:方法在程序真正运行之前就有一个可以确定的调用版本,并且这个方法的调用版本在运行期是不可改变的,即“编译期可知,运行期不可变”,这类目标的方法的调用称为解析(Resolve)。只...
分类:其他好文   时间:2016-05-07 09:42:03    阅读次数:471
【深入理解JVM】:Java对象的创建、内存布局、访问定位
对象的创建一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。主要流程如下:1. 类加载检查JVM遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类的加...
分类:编程语言   时间:2016-05-06 15:07:40    阅读次数:176
950条   上一页 1 ... 69 70 71 72 73 ... 95 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!