Java一直是企业级别开发最喜欢选择的编程语言,从java目前的就业形势来看还是相当不错的,由于手机安卓开发的需要,许多人也开始转战Java的学习,极客营觉得虽然java开发人员的需求量变得越来越大,但这并不代表做java开发人员的技术就可以一成不变,java技术更新的很快,而且在现在中国的培训机构里java学员都是批量生产的,那么竞争压力也是很大的。对于新开始学的学生来说,主要主要掌握什么基础比较好。
一、掌握静态方法和属性
静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
二、重视接口
在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。
三、学好集合框架
Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。
由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。
四、例外捕捉
Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。
Java的初学者应该充分学习好这种例外捕捉机制,养成良好的编程习惯。
1. 想“学习”某门编程语言的话,理论上是不需要掌握什么其他知识的,零基础即可进行学习。
2. 但如果想学得透彻,并提升学习的效率,我认为至少需要先掌握《计算机组成原理》和《操作系统》的基础知识。
如果能够做到理解冯诺依曼体系,搞清楚硬件与软件的定义和联系,理解计算机工作的过程和指令系统、存储系统、CPU、输入输出系统等在这一过程中发挥的作用和扮演的角色。那么在学习编程语言的时候许多基础问题便会迎刃而解。否则一个绝对0基础的初学者直接学习编程语言时,可能会遇到很多问题,想象一下,如果一个人不明白CPU的工作原理,要直接去理解多线程,理解重入锁,理解volatile,或一个人不明白存储系统和外部存储介质的区别,直接去学习IO、NIO、GC的话,其过程必然是充满困惑的。
3. 要学好一门编程语言,数据结构也是必不可少的知识,搞不清楚算法复杂度的程序员也就只能做做填空式的增删改查了。然而在没有对高级编程语言有基本的入门理解之前是很难去学习数据结构的,所以对于0基础的初学者而言,编程语言和数据结构这两门课程最好是并行进行的。
4. 如果再深入到具体的应用领域上的话,要学的东西有更多,但不在此问题的讨论范围之内了