一:在JAVA中,有六个不同的地方可以存储数据:
1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 堆栈(sta...
分类:
编程语言 时间:
2016-07-03 19:40:23
阅读次数:
227
引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种: 直接使 ...
分类:
其他好文 时间:
2016-07-02 13:06:34
阅读次数:
238
在Java虚拟机规范中将Java运行时数据划分为6种,分别为: PC寄存器(程序计数器) Java栈 堆 方法区 运行时常量池 本地方法栈 一、PC寄存器(程序计数器) PC寄存器(Program Counter Register)严格来说是一个数据结构,它用于保存当前正常执行的程序的内存地址。 线 ...
分类:
其他好文 时间:
2016-06-25 23:00:28
阅读次数:
155
2.1 用引用操作对象 1.对象和引用联系起来,就可以通过引用来操作对象; 2.引用亦可单独存在,即没有和任何对象联系起来;对没有和对象联系起来的引用操作,会报错; 2.2 必须由你创建所有对象 1.存储到什么地方 寄存器 堆栈:*快速存储销毁;基本类型存储的地方 堆:*常量池;一般对象存储的地方 ...
分类:
编程语言 时间:
2016-06-24 22:00:18
阅读次数:
145
原文链接 : http://www.cnblogs.com/xiohao/p/4296088.html 一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器 ...
分类:
编程语言 时间:
2016-06-24 14:41:16
阅读次数:
219
Java创建对象的过程 Java是一门面向对象的编程语言,在Java程序运行过程中每时每刻都有对象被创建出来。在语言层面上,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象的创建又是怎样一个过程呢? 一、检测类是否被加载 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池 ...
分类:
编程语言 时间:
2016-06-15 23:58:38
阅读次数:
438
蝇量模式:让某个类的一个实例能用来提供许多“虚拟实例”。 在有大量对象时,有可能造成内存溢出,把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重复创建。(JAVA中的String,如果没有则创建一个字符串保存在字符串常量池里,否则直接返回) 类图: 某次测试结果: C ...
分类:
其他好文 时间:
2016-06-13 23:22:46
阅读次数:
190
String的Equals()和==比较 常量池(Constant Pool):指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。JVM虚拟机为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集和,包括直接常量(String,Integer和 Floating ...
分类:
其他好文 时间:
2016-06-13 18:52:45
阅读次数:
212
java常量池技术 java中常量池技术说的通俗点就是java级别的缓存技术,方便快捷的创建一个对象。当需要一个对象时,从池中去获取(如果池中没有,就创建一个并放入池中),当下次需要相同变量的时候,不用重新创建,从而节省空间。 java八种基本类型的包装类和对象池 java中的基本类型的包装类、其中 ...
分类:
编程语言 时间:
2016-06-11 20:03:04
阅读次数:
155