前言:
这本书外面有了大量的c++特点和java进行比拟,如果对c++不是很理解的须要学习一些c++的基本知识,当然作为java开发者的进阶也很必要,毕竟java的底层是用c++写的。
一、 把握数据存储和内存调配
首先,书中一开始就说了咱们在程序运行期间,要做到数据保留在什么中央要成竹在胸,特地是内存的调配,如果不想成为一个高级点的程序员这点能够疏忽。因为在数据较大的状况下,做web开发的后端工作者须要优化数据库以及优化内存设置,当然还有优化代码,缩小不必要的内存开销。最终就能达到高效的目标。
二、java中的数组
简直所有编程语言都反对数组,但c++中的数组,咱们尽量不必应用,因为c++的数组越界不会校验,这样,c++能够‘越界’赋值,而后取值时可能会报指针谬误【野指针】,这样问题还难以发现。正是因为每次设置值都会校验数组是否越界,所以java操作数组的效率 不如 c++.
三、java中内存开释
java有回收机制,c++中没有可能会存在大意的状况,就是遗记革除对象。从而造成内存溢出。
四、对于合成和继承的设计
合成: 所谓合成就是类外面蕴含其余类对象 或外部类 (我的了解)
对于一个类尽可能能多级衍生子类 ,进行拓展父类的办法,当然也不须要层层继承,造成运行效率会升高,还有就是复杂程度过高。一半倡议不必超过5级。
五、新旧汇合
- 如图 Vector 、BitSet 、Stack 、Hashtable 是java 1.1外面就有的汇合类
- 设计不反对泛型,这样什么类型的值都能塞进去,造成的较坏的影响是类信息会被摈弃。这样在java的jvm外面是 类型擦来源[email protected]搞@^&代*@码网除。
当初咱们罕用的汇合 List Set
本文来源于:程序员ken,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina)、掘金,转载请注明出处。