1 程序计数器 线程私有,记录线程所执行的字节码行号指示器。 2 虚拟机栈 描述Java方法执行内存模型 , 进入一个方法创建栈帧。 3 Java堆 存放对象实例 4 方法区:编译后的代码数据,包括加载 的类信息,常量,静态变量。 5 常量池 :class文件常量池方法区一部分存放编译器生成的字面量 ...
分类:
其他好文 时间:
2017-09-25 00:59:22
阅读次数:
216
在java中,String是字符串常量,可以从内存,同步机制,数据结构等方面分析 1:字符串中常量池的需要 String不同于普通基础变量类型的地方在于对象。java中的字符串对象都保存在字符串常量池中,创建字符串时首先会从这个常量池中查找是否已经存在相同的字符串对象,不存在的情况下才会创建新的字符 ...
分类:
编程语言 时间:
2017-09-24 14:32:24
阅读次数:
166
201621123021《JAVA程序设计》第二周学习总结 1. 本周学习总结 本周了解了JAVA的基本数据类型,及其与C语言数据类型之间的差异。 知道了JAVA如何对数组进行创建和运用。 了解了JAVA的包装类,如自动装箱和自动拆箱。 了解了JAVA作为面向对象的语言,其引用对象为常量池。 知道了 ...
分类:
编程语言 时间:
2017-09-23 18:44:06
阅读次数:
173
首先定义四个变量str 然后进行比较 每定义一个String类型,就会在内存中开辟一块空间 此处比较的是4个变量的地址 所以输出 因为变量str1和变量str3赋给的值都为“wang”; 所以这两个的值被自动存入同一个常量池, 所以此时比较str1和str3,输出的是true; str4赋给的值同样 ...
分类:
其他好文 时间:
2017-09-14 14:51:14
阅读次数:
88
为方便后面学习的理解,记录一下! 运行时数据区 1.线程共享 1.1方法区(Method Area) 1.1.1运行时常量池(Runtime Constant Pool) 1.2堆(Heap) 2.线程私有 2.1虚拟机栈(VM Stack) 2.2本地方法栈(Native Method Stack ...
分类:
编程语言 时间:
2017-09-12 19:48:23
阅读次数:
151
在JVM中有string常量池缓存的功能。 package com.leran.thread.demo1; public class Test { public static void main(String[] args) { String a = "a"; String b = "a"; Sys ...
分类:
编程语言 时间:
2017-09-10 12:30:55
阅读次数:
166
1、final相关 (1)final在编译期的优化 只有在编译阶段能确定这个final引用赋值的内容,编译器才有可能进行编译时优化,而编译期能确定的内容只能来自于常量池中,如int,long,String等常量,不包含new String()等,也不包含方法返回值。将一个方法设成final后,编译器 ...
分类:
编程语言 时间:
2017-09-09 22:32:12
阅读次数:
141
转载来源:http://www.cnblogs.com/protected/p/6419217.html 侵删! 程序运行时,有六个地方都可以保存数据: 1、 寄存器:这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配 ...
分类:
其他好文 时间:
2017-09-08 20:35:46
阅读次数:
201
java基础解析系列--String、StringBuffer、StringBuilder 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容。 String ==问题 看常量池中是否已有此字符串,如果有,将指针指向这个字符 ...
分类:
其他好文 时间:
2017-09-08 10:09:18
阅读次数:
226