TIJ swot_JAVA的初学者(五)

原创 2004年09月16日 02:32:00

1.7 Object landscapes and lifetimes

Well, mentioned something about C++

C++ takes the approach that control of efficiency is the most important issue, so it gives programmer the choice to determine the storage and lifetime while the program is being written, by placing the objects on the stack or in the staic storage area. (what the hell is that?) But this approach obviously sacrifices the flexibility.

In Java, objects are created dynamically in a pool of memory called the heap. In this approach, we dont know how many objects we need until the run-time. But because the storage is managed dynamically, at run-time, the amount of time required to allocate storage on the heap is significantly longer than the time to create storage on the stack.

Then , another issue, the lifetime. In a language like C++, it must be determined programmatically when to destroy the object, which can lead to memory leaks if you don't do it correctly. Java provides a feature called garbage collector that automatically discovers when an object is no longer in use and destroys it.

1.7.1 Collections and iterators

In OOP language, we have a set of containers to expand themselves whenever necessary to accomodate everything we place inside it. Such as, in C++ we have Standard Template Library(STL), Object Pascal has Visual Component Library(VCL). In Java, we we standard libraries, like vector, sets, queues, hash tables, trees, stacks, etc.

And, there comes iterator, which is an object as well. Its job is to select the elements within a container and present them to the user of the iterator.

The container, via iterator, is abstracted to be simply a sequence.

In vresion1.0 and 1.1, Java has standard iterator, called Enummeration. Java2 has added a much more complete library that contains an iterator called Iterator.

1.7.2 The singly rooted hierarchy

All classes in Java are inherited from class Object.

Hoop! What do I know?

Singly rooted hierarchy is good for OOP and easier to implement a garbage collctor. Come back later!

 

 

 

给初学者的RxJava2.0教程(五)

如果这都不爽,可以看公众号系列: RxJava2.0教程(一)  http://mp.weixin.qq.com/s/Nr9kxDR2hRWvfqHUdDF-XA RxJava2.0...
  • qq_28563283
  • qq_28563283
  • 2017年04月05日 18:19
  • 213

给初学者的RxJava2.0教程(五)

前言 大家喜闻乐见的Backpressure来啦. 这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip. 正题 ...
  • yangxi_001
  • yangxi_001
  • 2017年06月13日 15:03
  • 211

wxpython初学者(五)之 Skip()

import wx class MouseEventFrame(wx.Frame): def __init__(self,parent,id): wx.Frame.__init...
  • lotluck
  • lotluck
  • 2015年09月16日 23:37
  • 518

给初学者的RxJava2.0教程(五)

转自:http://www.jianshu.com/p/0f2d6c2387c9 前言 大家喜闻乐见的Backpressure来啦. 这一节中我们将来学习Backpressu...
  • cool_fuwei
  • cool_fuwei
  • 2017年04月17日 19:49
  • 459

给初学者的RxJava2.0教程(五)

 前言 大家喜闻乐见的Backpressure来啦. 这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip. 正题 ...
  • u012493388
  • u012493388
  • 2017年06月08日 16:36
  • 114

初学者学Java(五)

知识补充 在讲后面知识之前,我想先补充几个相关的小知识点。                                        Java API文档 我在这里说的第一个就是Java API文...
  • yejinwei1220
  • yejinwei1220
  • 2013年09月21日 14:29
  • 501

为新手准备的30个JAVA程序问题和好的练习

Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。有超过30亿的设备是运行在Java之上的。根据Orac...
  • u010763162
  • u010763162
  • 2015年10月16日 14:45
  • 549

spring初学者理解及学习

Spring属性注入理解先来谈下对于spring中xml与java类间的理解,在spring中通过添加对于spring框架类的引用 便可以在xml中使用相应关键字,而这些关键字以我目前的理解便是spr...
  • liu_tianbo
  • liu_tianbo
  • 2017年12月22日 18:52
  • 8

给初学者的RxJava2.0教程(五)

前言 大家喜闻乐见的Backpressure来啦. 这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip. 正题 上一节中我们说到Z...
  • ssllkkyyaa
  • ssllkkyyaa
  • 2018年01月07日 10:59
  • 11

给初学者的RxJava2.0教程(五)

前言 大家喜闻乐见的Backpressure来啦. 这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip. 正题 上一节...
  • baidu_36204446
  • baidu_36204446
  • 2017年06月15日 11:34
  • 258
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TIJ swot_JAVA的初学者(五)
举报原因:
原因补充:

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