java中数据的基本类型分为: 基本数据类型和引用数据类型,对此不多介绍;
 
接下来讨论一下java中数据类型存储在哪
    基本数据类型存储在哪,取决于基本类型在哪声明:
         1.基本数据类型在方法中声明时,其变量名和值都是存储在java栈中的;
               在方法中声明基本类型数据:
                    例: int  a = 10
                     ①  在栈中声明一个变量名为a的引用;
                     ②  在栈中查找是否有字面值为10的地址,如果没有就开辟一个存放字面值是10的地址;
                     ③  将变量名为a的引用指向字面值为10的地址;
 
         2.基本数据类型在类中声明时则是存储在堆内存中的;
                     ①  在类中声明的基本数据类型,在类加载时会存储到方法区中;
                     ②  在java堆中从生成代表这个类的java.lang.Class对象,作为方法区这些数据的访问入口;
                     ③  static 关键字修饰的数据是属于类本身的,存储在方法区中;
                     ④  final 关键词修饰的数据表示引用不变的,存储在常量池中;
 
         3.基本数据类型的包装类:
                     ①  Integer i = 10; 同 i = 10 的声明过程。
                     ②  Integer i = new Integer(10);   数据10 是存储在堆中的;
  
引用数据类型一定输存储在堆中的吗?
        1. 特殊的String类
                   例 : String str = “abc”;
                   ①  在栈中声明一个变量名为str的引用;
                   ②  在常量池中查找是否有“abc”的字符串对象,如果没有就在常量池中创建存储一个值为“abc”的字符串对象;
                   ③  将str的引用指向字符串对象“abc”;
                   ④ 当 再次声明 String str1 = "abc",常量池中已经有“abc”对象,所以str1直接指向abc的地址;
                   ⑤ str = str1,引用数据类型比较,比较的是应用的地址;
            注: String str = “abc” 没有创建或创建一个对象
        2.其他引用类型
                  Stirng str = new String("abc");
                   ① 在栈中声明一个变量名为str的引用;
                   ② 在堆中创建存储一个字符串对象“abc”;
                   ③ 检查常量池中是否有字符串对象“abc”,如果没有就在常量池中创建存储一个值为“abc”的字符串对象;
                   ④ 将堆中字符串对象“abc”与常量池中字符串对象“abc”联系起来,可以用intern方法返回常量池中的对象的引用;
                   ④ 将str的引用指向堆中 字符串对象“abc”;
       注: String str = new String ("abc")创建一个或两个对象;

JAVA数据类型(转)的更多相关文章

  1. 回顾java基础—Java数据类型

    1  java数据类型.8种基本类型,3种引用类型 基本类型(也称:原始类型):byte.short.int.long.char.float.double.boolean 引用类型:类,接口,数组 2 ...

  2. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  3. 多态、GC、Java数据类型

    多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...

  4. java数据类型定义与输出

    JAVA数据类型分基本数据类型和引用数据类型. 一.基本数据类型 Java里面包含8个基本数据类型,分别是: boolean.byte.char.short.int.float.douboe.long ...

  5. java数据类型图:

    java数据类型图:                                 ┏数值型━┳━整数型:byte short int long               ┏基本数据类型━━┫   ...

  6. java数据类型学习

    java数据类型基本分为两类: 一类为基本数据类型: 数值类型: 整数类型:byte.short.int.long 浮点类型:float.double 字符类型:char 布尔类型:boolean 一 ...

  7. JAVA —— 数据类型

    引言:java 数据类型可分为两大类:基本数据类型和引用类型,其中基本数据类型又包括整形.浮点型.字符型和布尔型,而引用型变量与基本类型变量不同,它的值是指向内存空间的引用(地址),引用在其他语言中称 ...

  8. java.sql.Types,数据库字段类型,java数据类型的对应关系

    以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...

  9. java数据类型,hibernate数据类型,标准sql数据类型之间的对应表

    Hibernate API简介 其接口分为以下几类: l         提供访问数据库的操作的接口: l         用于配置Hibernate的接口: l         回调接口 l     ...

  10. Java数据类型(基本数据类型)学习

    Java数据类型(基本数据类型)学习 与其他语言一样,Java编程同样存在,比如int a,float b等.在学习变量之前我就必须先了解Java的数据类型啦. Java的数据类型包括基本数据类型和引 ...

随机推荐

  1. POJ 2484 A Funny Game [博弈]

    题意:n枚硬币围成一个圈,每次每个人可以从中取走一枚或者相邻的两枚(如果两枚硬币原本中间隔着一枚硬币,后来被取走,这两枚硬币不算相邻).谁取走最后一枚硬币谁就赢了. 思路:我们可以找找规律. 首先,n ...

  2. [转载]robo3t在Ubuntu 16.04中报错的解决方法

    [问题] MongoDB的客户端robo3t在,Ubuntu 16.04中启动时报一个QT的错误: This application failed to start because it could ...

  3. 简单实现接口自动化测试(基于python+unittest)

    简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Pytho ...

  4. 又一次遇到Data truncation: Data too longData truncation: Data too long问题

    往MySQL的blob字段上传文件,结果又出现了Data truncation: Data too longData truncation: Data too long异常. 我的第一反应是查看/et ...

  5. Python标准库:1. 介绍

    标准库包括了几种不同类型的库. 首先是那些核心语言的数据类型库,比方数字和列表相关的库.在核心语言手冊里仅仅是描写叙述数字和列表的编写方式,以及它的排列,而未定义它的语义. 换一句话说,核心语言手冊仅 ...

  6. js 展开&收缩 二种

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Solidworks如何制作动画1

    1点击窗口下方的"运动算例1"可以弹出动画的面板,右击该"运动算例1"还可以对这个动画窗口重命名等操作. 2 我们从最简单的动画开始,假设图示装配体,想要把它从 ...

  8. OpenStack 安装教程(使用Fuel )

    OpenStack Fuel 安装教程 1介绍 OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基 ...

  9. 微信小程序实战 购物车功能

    代码地址如下:http://www.demodashi.com/demo/12400.html 一.准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/ ...

  10. 【Android实战】Gallary+ImageSwicther图片查看器

    仿照如今各大新闻站点图片新闻的浏览模式,上面展示详细图片(ImageSwitch),以下是能够滑动的小图片(Gallery). 当中须要注意的是ImageSwitch须要定义一个工厂返回的组件,而且能 ...