Java相关编程思想

Java相关编程思想_第1张图片少用继承多用“组合”——在现有类的基础上组织一个新类。

 

 

2.继承要用“is”来检验,如果继承者is被继承者,说明这是一个比较好的继承。

 

3.向上造型,把实现方法留给继承者去实现。(动态绑定)

 

4.把接口理解为抽象类的进一步抽象。

 

5.对象如何存储以及如何销毁:C++认为程序的执行效率是最重要的一个问题,所以它允许对象的存储以及存在时间可在编写程序时决定,只需将对象放置在堆栈或者静态存储区域即可。而Java采取第二种方法,第二个方法是在一个内存池中动态创建对象,该内存池亦叫“堆”或者“内存堆”。若采用这种方式,除非 进入运行期,否则根本不知道到底需要多少个对象,也不知道它们的存在时间有多长,以及准确的类型是什么。这些参数都在程序正式运行时才决定的。若需一个新对象,只需在需要它的时候在内存堆里简单地创建它即可。由于存储空间的管理是运行期间动态进行的,所以在内存堆里分配存储空间的时间比在堆栈里创建的时间长得多(在堆栈里创建存储空间一般只需要一个简单的指令,将堆栈指针向下或向下移动即可)。(Java为了方便和不易出错付出了性能代价)(推荐一首好歌for river)

 

6.迭代器(Iterator)将集合细节与用于访问那个集合的代码隔离开。(增强for循环底层就是Iterator)

 

7.list用的是链表来实现,vector是用数组实现的。

 

8.Java是单根结构,根为Object对象。

 

9.最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么 每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。

 

10.网络安全:数字签名。

 

11.有六个地方都可 以保存数据:寄存器;堆栈(ram);堆(ram);静态存储(ram);常数存储(rom);非RAM存储(流/硬盘)

 

12.为了效率,主要类型变量存储在堆栈中,不需要new

 

13.return有两个作用:返回,退出。

 

14.==比较的是句柄。equals比较句柄内容(java编程思想里面说的是默认比较句柄,大多数类库重写equals,所以比较句柄内容,昏。。)

 

15.人类语言通过冗余消除歧义,Java没有冗余。。

 

16.finalize()目前为止还没用到,有空再看。

你可能感兴趣的:(java)