码迷,mamicode.com
首页 >  
搜索关键字:常量池    ( 950个结果
jvm个人理解
java堆图解:类加载子系统:负责从文件或网络加载class信息,存放在方法区的内存空间中。方法区:存放类信息、常量信息、常量池信息、包括字符串和数字常量java方法区和堆一样,方法区是一块所有线程共享的内存区域,它保存系统的类信息,比如类的字段。方法区的大小决定了系统可以保存多少个类,如果系统定义太多的类,导致方法区溢出。虚拟机同样会抛出内存溢出错误。方法区可以理解为“”永久区“”(Perm)堆
分类:其他好文   时间:2017-12-23 14:17:11    阅读次数:124
深入浅出java常量池
理论 jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令。 本地方法栈是jvm调用操作系统方法所使用的栈。 虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。 虚拟机堆是jvm执行java代码所 ...
分类:编程语言   时间:2017-12-21 23:07:31    阅读次数:197
java基础进阶一:String源码和String常量池
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢。 本文链接:http://www.cnblogs.com/NiceCui/p/8046564.html 邮箱:moyi@moyibolg.com 日期:2017 12 15 1. String 介绍,常用方法源码分析 2. Str ...
分类:编程语言   时间:2017-12-16 15:51:04    阅读次数:166
Java中 == 与 equals 的区别及理解
区别: “==” 比较的是两个引用在内存中指向的是不是同一对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致。 如果两个对象的引用相同时(指向同一对象时),“==”操作符返回true,否则返回flase。 注:如果有对内存分配及变量存储位置(堆、栈、方法区常量池、方法区静态区)感兴趣的可 ...
分类:编程语言   时间:2017-12-15 22:36:40    阅读次数:217
==和equals的比较
字符串只要new,就会产生一个新的地址 == :比较的是地址 str1,str2存储在常量池中,内存优化,是同一个字符串 equals :比较的是内容,只要内容一样结果就为true 1 package myeclipseFiles2; 2 3 public class String1 { 4 5 p... ...
分类:其他好文   时间:2017-12-12 12:16:54    阅读次数:161
2.2.10数据类型String的常量池特性
在JVM中具有String常量池缓存的功能 将synchronized(string)同步代码块和String联合使用,结果出现意外 测试 结果是无限循环的打印a 出现这种情况的原因是因为String的两个值都是AA,两个线程持有相同的锁。所以造成线程B不能执行,这就是String常量2池带来的问题 ...
分类:其他好文   时间:2017-12-08 22:53:20    阅读次数:195
深入理解JVM阅读笔记-内存溢出小结
JAVA系统除了程序计数器和虚拟机内存之外的其它几个内存区域都有发生OutOfMemory(OOM)的可能。堆,栈,方法区,静态常量池,直接内存,都是可能的。 1.Java堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对 ...
分类:其他好文   时间:2017-12-08 10:28:48    阅读次数:187
Java 对象创建过程
对象创建 在语言层面,创建一个对象通常仅一个new关键字就可以解决了,但是在虚拟机中,对象的创建要经过一个复杂的过程。 方法区中的常量池 当虚拟机遇到一个new关键字时,首先去方法区中的常量池中找有没有这个类的符号引用,并检查这个符号代表的类是否已经被加载、解析和初始化过,如果没有先执行类的加载过程 ...
分类:编程语言   时间:2017-11-27 01:22:07    阅读次数:152
Java虚拟机运行时数据区域划分
Java虚拟机数据运行时区域 方法区(Method Area) 存储加载的类信息,常量,静态变量,编译器编译后的代码等数据。虽然JVM规范把方法区描述为堆的一个逻辑部分,但它却有一个别名叫做Non-Heap。Class文件中除了有类的版本,字段,方法,接口等描述信息外,还有一项是常量池,用于存放编译 ...
分类:编程语言   时间:2017-11-27 00:01:31    阅读次数:213
对象创建方法,对象的内存分配,对象的访问定位
对象创建方法: JVM遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、连接和初始化过。 如果没有,那必须先执行相应的类的加载过程。 对象的内存分配: 对象所需内存的大小在类加载完成后便完全确定(对象内存布局),为对象分配空 ...
分类:其他好文   时间:2017-11-19 14:53:19    阅读次数:112
950条   上一页 1 ... 45 46 47 48 49 ... 95 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!