1,用句柄操作对象,句柄是对象的标识,对象是真实存储数据的结构化的内存。

2,所有对象都必须创建后才能使用。

3,对象保存的位置:

  a,寄存器,由编译器控制,程序员无法知晓。

  b,栈,比如对象的句柄就放置其中,但切记对象本身并不会放到栈里,因为所有的对象都必须“创建”。

  c,堆,对象的存储位置。

  d,静态区,切记对象本身并不会放置其中,存储其中的还是句柄。

  (如此一来,被static修饰的对象,其句柄是存储于静态存储区的,未被修饰的,多数放置于栈中,但对象本身,由于其必须“创建”性,皆位于堆里)

  e,常数存储,比如代码中的常数值,它们跟代码一样,视为不会被改变,位于常数存储区里。

  f,非RAM存储,比如文件,存储于硬盘中。

4,数组,实际创建的是对象句柄的数组,到这里基本可以理解别人为什么说JAVA里全是引用(句柄)了,且JAVA会对数组的边界进行检查。

5,绝对不要尝试清除对象,DELETE只存在于C++中,JAVA有自己的一套内存自动回收机制。

6,作用域,跟C++类似,区别在于JAVA不允许当前作用域里的变量名称与该作用域的子作用域里有同名的变量。

7,作用域结束时,句柄会随之消失,但句柄背后的真实对象,并未立即消失,它会等待被回收。

8,类的字段(成员变量)会被赋予默认初值,但局部变量不会。

9,对于类的静态字段,通过类名及对象名都可以访问,且其唯一存在。

10,所有JAVA文件会被默认导入java.lang.*,当需要其它类时,需要由程序员自行使用import关键字导入。

转载于:https://www.cnblogs.com/Marstar/archive/2012/03/19/2406375.html

【15】一切都是对象相关推荐

  1. 15. 深入解析Pod对象(二):使用进阶

    15. 深入解析Pod对象(二):使用进阶 15.1 Projected Volume,投射数据卷 备注:Projected Volume 是 Kubernetes v1.11 之后的新特性 在 Ku ...

  2. 细读 Thinking in Java (一)一切都是对象

    前言 <Thinking in Java>做为Java最经典的学习书籍之一,不论是对于学习java的新手或是有一定经验的程序员来说都有不同的学习价值,在工作的这两年多当中由于种种杂事一直没 ...

  3. Java编程思想学习-《第二章 一切都是对象》

    第2章 一切都是对象 尽管Java是基于C++的,但是相比之下,Java是一种更"纯粹"的面向对象程序设计语言.Java语言假设我们只进行面向对象的程序设计.也就是说,在开始用Ja ...

  4. 15 | 深入解析Pod对象(二):使用进阶 笔记

    15 | 深入解析Pod对象(二):使用进阶 笔记 1.Kubernetes 支持的 Projected Volume(Kubernetes v1.11 之后) 2.容器健康检查和恢复机制 1.Kub ...

  5. python里的类与一切事物都是对象

    对于python,一切事物都是对象,对象基于类创建 列如 name='csdcs' li=[1,3,43] 上面两个都是对象,因为它们都是python中的 类里面存着许多的功能,功能的集合,     ...

  6. 对象存储使用案例_连云数据都有“对象存储”了,你还是单身?

    没错,对象存储(OOS,Object-Oriented Storage)可不是一项"在你嫌男票/女票烦的时候暂时寄存的服务",而是中国电信为客户提供的一种海量.弹性.高可靠.高性价 ...

  7. 一切都是对象---JAVA编程思想

    一切都是对象 "如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界."--Luduing Wittgerstein(1889-1951) 尽管Java是基于C++的,但 ...

  8. 深入理解javascript原型和闭包(1)——一切都是对象

    "一切都是对象"这句话的重点在于如何去理解"对象"这个概念. 当然,也不是所有的都是对象,值类型就不是对象. 首先咱们还是先看看javascript中一个常用的 ...

  9. 在python中、处理的一切都是对象_Python 3+ 一切都是对象

    对于 Python 来说,一切都是对象 . 这句话很重要,当你对某个特性不了解时,回想下这句话也许就能想通 一个整数一个对象,一个浮点数也是一个对象,一个函数也是一个对象 >>> i ...

  10. 第2章 一切都是对象

    第2章一切都是对象 对象的定义(类型).创建.存储.操纵.销毁.组成,引用(基本变量名)的初始化 2.1 用引用操纵对象 ·编程语言操纵内存中元素的方式: ·C.C++:基于特殊语法的间接表示-指针 ...

最新文章

  1. C语言---写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串
  2. jmeter响应断言使用_十二、Jmeter断言-响应断言、Json断言和Beanshell断言
  3. mysql 取 浮点运算_mysql 浮点型运算误差原因分析及解决方法
  4. MySql分页存储过程
  5. 【codevs3324】新斯洛克
  6. 计算机桌面怎么换服,电脑管家桌面整理怎么更换电脑壁纸?
  7. C#中设置webBrowser为可编辑模式
  8. android boot.img 结构,android boot.img文件结构、拆包、打包
  9. 转:把二元查找树转变成排序的双向链表
  10. 人工智能学习思维导图
  11. WinSocket模型的探讨——select模型
  12. AWS - VPC Peering
  13. 简单文本API的解析(一言)
  14. 关于先有鸡蛋还是先有鸡的理解
  15. ITS_Android_S 重构的梳理
  16. oracle 12 无法启动,Oracle 12.2监听无法启动解决方法
  17. Linux内核机制总结进程管理之SMP调度(六)
  18. java 打印出如下图案(菱形)
  19. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之02EC20模组硬件供电和开关机复位操作
  20. 爬虫--05:多线程与生产者消费者模型

热门文章

  1. git pull命令报错
  2. qmake构建项目详细讲解
  3. 错误: -source 1.6 中不支持 diamond 运算符
  4. linux文件描述符、软硬连接、输入输出重定向
  5. python模块--subprocess
  6. ORDER BY分类
  7. REST测试工具之curl(URL多参数)
  8. PHP 实现文件下载实例
  9. 用好IE9浏览器必须要知道的九件事
  10. PHP设计模式——职责链模式