学习笔记(一)

转载 2015年11月18日 21:47:14

第一章 对象导论


1、 

  JAVA:单根继承结构,即所有的类都继承终极类Object,C++则不是。

2、 

  JAVA采用动态内存的分配方式,每当创建新对象时,就要使用new关键字来构建此对象的动态实例。堆的内存池动态的创建对象,在这种方式中,知道运行是才知道需 要多少对象,他们的生命周期如何,以及他们的具体类型是什么,这些答案只能在程序运行时相关代码被执行的那一刻才能确定,需要大量的时间在堆中动态的分配存储空 间,这可能远远大于在堆栈中创建存储空间的时间。


第二章 一切都是对象


1. 引用与对象的关系

         String   s;
     此语句创建的只是引用,并不是对象。

        String  s  = new String("hello world");
    通过new操作符来实现引用和对象的相关联。

2、 数据存储位置

  1)寄存器

  在处理器的内部,不能直接控制,运行速度最快。

  2)堆栈

  位于通用RAM(随机访问存储器)中,,但通过堆栈指针可以从处理器哪里获得快接支持。堆栈指针向下移动,则分配新的内存;若向上移动,则释放内存。创建程 序时,JAVA必须知道堆栈内所有项的确切生命周期,以便上下移动堆栈指针,所以某些数据存储在堆栈中(对象引用),但JAVA对象并不存在这里。

  3)堆

  一中通用的内存池(也位于RAM区),用于存放所有的JAVA对象。编译器并不需要知道存储的数据的存活时间。使用关键字new,当执行到这段代码时,就会在堆内进行储存分配。

  4)常量存储

  程序代码内部或者ROM中(嵌入式系统)

  5 )非RAM储存

  流对象和持久化对象(磁盘)

  特例:

  基本类型不用new创建,创建一个并非引用的“自动”变量,置于堆栈中。

3、JAVA中的数组

  C++的数组就是内存块,JAVA则是创建一个引用数组。(后续章节讲到)

4、永远不需要销毁对象

  基本类型在其作用域内有效,Java对象不具备和基本类型一样的生命周期,用new创建对象时,可以存活于作用域之外。 

     {
    String  s =  new String("hello world");
      }
      在作用域的终点引用S消失,s指向的String对象仍然占据着内存空间。垃圾回收器进行处理。

5、类

  当类的成员对象是对某个对象的引用,则需要初始化。

  当类的成员对象是基本数据类型的时候,即使没有初始化,Java会确保它有个默认值。(并不适用于局部变量,可能被赋予任意值,而不会自动初始化为0)

boolean false     
char null
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d   
 6、static关键字

  static生命的事物不会与包含它的类的任何实例联系在一起,用一个存储空间

  引用有两个方法,①通过对象定位,如str.name,②通过类名引用Str.name


第三章 操作符


1、副作用

  操作符改变操作数本身。

2、赋值

  1)基本类型的赋值:

              基本类型存储了实际的数值,而非指定一个指向对象的引用,所以赋值的时候,是将一个地方的内容复制到另一个地方。赋值后没有关联。

  2)对象的赋值:

              对对象进行操作时,实际上操作的是对象的引用。

              Tank t1 = new Tank();
<span style="white-space:pre">	</span>      Tank t2 = new Tank();
              t1.num=9;
              t2.num=27;
              t1=t2;
             实际上是引用t1、t2都指向了同一个对象。(别名)

              Tank t1 = new Tank();
	      Tank t2 = new Tank();
              t1.num=9;
              t2.num=27;
              t1.num=t2.num;
            引用t1、t2指向了不同的对象。(不建议那么使用,会产生意想不到的结果)

3、算术操作符

  1)==和equal的比较

    对于对象,==比较的是对象的引用,equals()比较的是对象的内容。

  2)逻辑运算符

    不可以讲非布尔值当做布尔值在逻辑表达式中使用(c++可以)。   

                6 && 7
       3 )按位操作符

    ①<< 左移

     低位补0

    ②>>右移

     无符号补0;有符号:符号为正,高位补0,符号为负,高位补1

  4)类型转换

    ①float、double转换到int 截尾

    ②char、byte、short执行算数运行时自动转换到int











Ionic3学习笔记(一)

(一)ionic3环境准备:    1.安装Node.js(安装之后执行node -version检查是否安装成功)     2.安装npm。  命令:npm install npm -g   ...
  • Dan_2017
  • Dan_2017
  • 2017年11月28日 21:46
  • 151

C++/GDI+ 学习笔记(一)——安装、配置&使用

使用GDI+很简单。需要做的有一下几个步骤。1.       安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。2.       设置编译器的包含路径,VC6的设置方法是 Tool...
  • eplanet
  • eplanet
  • 2007年10月09日 09:11
  • 9164

Robot Framework 学习笔记(一)

序为了更好的适应工作,提前开始准备学习内容,按照个人学习进度进行阶段性总结,Robot Framework属于自动化测试框架,本文基于Windows7系统进行相关软件安装讲解。安装过程第一步: Pyt...
  • xinyu913
  • xinyu913
  • 2016年04月11日 17:03
  • 638

UNP卷一学习笔记:I/O模型

UNIX下可用的5种I/0模型: (1)阻塞式I/O   (2)非阻塞式I/O   (3)I/O复用   (4)信号驱动I/O(SIGIO)    (5)异步I/O 前4种属于同步操作,第5种属于异步...
  • u014557232
  • u014557232
  • 2016年03月19日 14:25
  • 319

【学习笔记】AWS体验之EC2

三四年前就听说aws提供一年的免费云服务,但是没有双卡,没有机会尝试。这次因为要上服务,有幸设置好了AWS账户。进入到console,乍一看眼花缭乱,习惯了之后还是非常方便的,没什么广告把~ 接下来...
  • zhangxuehui1991
  • zhangxuehui1991
  • 2017年09月10日 15:54
  • 111

[每日一学]MFC学习笔记——简单计算器

简要   本次学习内容主要是学习Windows的 Win32 API 函数的简单入门。本次课程中主要使用到的两个API函数分别为:GetDlgItemInt和 SetDlgItemInt 。 ...
  • kingsollyu
  • kingsollyu
  • 2012年10月26日 11:51
  • 3394

sql server 的T-SQL 学习笔记(八)

/******************* 函数 和 存储过程 ************************/ -- 表值函数和标量值函数 -- 系统存储过程-- 函数 -- 函数是一种用户封装...
  • chencong3139
  • chencong3139
  • 2017年07月25日 14:40
  • 236

VC/MFC学习笔记

 windows中的很多数据类型,如HWND,WParam等其实都是我们所熟悉的unsigned int等一些类型,而定义成新的形式是为了方便记忆,不要因为这个而被难住!消息队列:把消息放在队列中,应...
  • degree_37
  • degree_37
  • 2009年04月22日 16:24
  • 303

SpringMVC 学习笔记(一) Hello World

Spring MVC 是目前最主流的MVC 框架之一 Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请 求的控制器,而无须实现任何接口。 支持 REST 风格的 URL 请求 采...
  • a67474506
  • a67474506
  • 2015年06月04日 14:26
  • 2022

DevExpress学习笔记(五)-以拖拽的方式构建树(TreeList)

DevExpress学习笔记 以拖拽的方式构建树(TreeList) 本人最近在做某个项目中需要用到动态设置TreeList节点的技术,在这个过程中对于TreeList的各项功能有了初步的...
  • ltrelax
  • ltrelax
  • 2012年08月13日 12:07
  • 1231
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)