乐趣区

关于java:浅读java圣经java编程思想一

前言:

这本书外面有了大量的 c ++ 特点和 java 进行比拟,如果对 c ++ 不是很理解的须要学习一些 c ++ 的基本知识,当然作为 java 开发者的进阶也很必要,毕竟 java 的底层是用 c ++ 写的。

一、把握数据存储和内存调配

首先,书中一开始就说了咱们在程序运行期间,要做到数据保留在什么中央要成竹在胸,特地是内存的调配,如果不想成为一个高级点的程序员这点能够疏忽。因为在数据较大的状况下,做 web 开发的后端工作者须要优化数据库以及优化内存设置,当然还有优化代码,缩小不必要的内存开销。最终就能达到高效的目标。

二、java 中的数组

简直所有编程语言都反对数组,但 c ++ 中的数组,咱们尽量不必应用,因为 c ++ 的数组越界不会校验,这样,c++ 能够‘越界’赋值,而后取值时可能会报指针谬误【野指针】,这样问题还难以发现。正是因为每次设置值都会校验数组是否越界,所以 java 操作数组的效率 不如 c++.



三、java 中内存开释

java 有回收机制,c++ 中没有可能会存在大意的状况,就是遗记革除对象。从而造成内存溢出。



四、对于合成和继承的设计

合成:所谓合成就是类外面蕴含其余类对象 或外部类(我的了解)

对于一个类尽可能能多级衍生子类,进行拓展父类的办法,当然也不须要层层继承,造成运行效率会升高,还有就是复杂程度过高。一半倡议不必超过 5 级。

五、新旧汇合

  1. 如图 Vector、BitSet、Stack、Hashtable 是 java 1.1 外面就有的汇合类
  2. 设计不反对泛型,这样什么类型的值都能塞进去,造成的较坏的影响是类信息会被摈弃。这样在 java 的 jvm 外面是 类型擦除。



当初咱们罕用的汇合 List Set


本文来源于:程序员 ken,专属平台有 csdn、思否 (SegmentFault)、简书、开源中国 (oschina)、掘金,转载请注明出处。

退出移动版