Java学起来到底有多难?

  • Post author:
  • Post category:java


作为一个用 Java 十几年的老程序员来说几句。学Java对新人来说确实有点难,但是如果新人知道了正确学习方法,学习效果就会好得多。接下来我就尝试总结一下。


一、Java内容太多,要避开那些“没有用知识”

确实,Java 的知识体系繁冗复杂,比较“全家桶”不是白叫的。但是这其中很多知识点不建议学,因为这些知识工作中很少用到,相关岗位很少,面试很少问到。例如下面这些:


  • Java 的桌面 GUI 相关技术,

    包括:AWT、Swing、SWT/JFACE、JavaFx、JavaFx2

  • Java 的 XML 相关 API

  • Java 的安全相关

  • Java 的国际化

  • Java 的 native 方法

  • Struts 和 Hibernate

以上这些,大家在看视频、看书的时候,可以先跳过,以后用的到的时候,再学也来得及。


二、看视频学习,对新人可能更友好

零基础的话,我推荐

从看视频开始学习,然后有个大概印象了再看书。

对大部分小白来说,看视频容易一些,视频里每一步都有示范,你只需做好观看和模仿。


三、看书的话,按什么顺序看书?

说说学 Java 的读书路线。下面路线中的书籍我自己都看过,希望这份读书路线,能帮大家少走弯路,对大家学 Java 有个参考。

1、Java入门

入门 Java,推荐《Java核心技术

》第 11 版,这其实是一套书,分为两本:

  • 卷1 基础知识(豆瓣 9.2 分)
  • 卷2 高级特性(豆瓣 8.4 分)

我估计 70% 的 Java 程序员入门看的是这本书,写的经典、全面,对 Java 各种特性,都会有对应的代码示例。

同时,光看这本书作为入门有个问题,就是只能知其然,却不知所以然。而不知所以然,必然会导致咱们的基础会不够牢靠。

所以再推荐一本书配合《Java核心技术》一起看,书的名字叫《Java编程的逻辑》(豆瓣 9.1 分),作者马俊昌

这本书讲解 Java 基础知识的基础上还会告诉你底层的原理,比如,Java 的枚举本质是什么,还会告诉你 Java 为什么这样设计 API。

这里多说几句,入门打基础十分重要,对于编程这种实践类的学习,想打好基础,光靠读书,是远远不够的。一定要经过大量的代码练习。所以,在这个时期一定要多作代码练习。这里,我给出一些可以自己尝试的练习:

  • 排序算法的小练习
  • 字符串查找的小练习
  • 对系统文件做下增删查改
  • 递归的小练习
  • 使用 Java 集合的小练习
  • 写个小游戏、小东西能综合训练下学到的所有技能

2、SQL入门

做程序员,大部分的时候,咱们都需要通过写各种各样的 SQL 操作数据库。咱们是 CRUD Boy 嘛。

所以,SQL 咱们要学,学 SQL 我推荐《SQL必知必会(第5版)》(豆瓣 9.5 分)。

这本书的组织结构非常好,哪怕是你对 SQL 一窍不通,也能通过这本书的引导,由浅入深的把 SQL 语言学个七七八八。

3、多线程

学会了 Java 基础,知道了怎么用 SQL 之后,如果往下走,想继续提升自己该学什么?

我的答案是去深入掌握多线程编程

。因为只有懂了多线程编程,咱们才能处理各种稍微困难的需求。比如,快速处理大量用户对系统的访问;又比如,想同时访问多个第三方接口。


四、不知道学到什么程度,能找到工作?


1 基本语法

基本语法在面试里不是说会用 for 循环、if else 语句之类去写代码就行,而是利用基本语法去编写更合理、更规范、更可读的代码。

比如,是不是能让变量处于很合适的作用域?String、StringBuffer、StringBuilder 适合的应用场景是不是非常熟悉了?

如果对于 Java 的基础还很薄弱,推荐去看《  Effective Java

》,以便真的能够写出来好代码。

另外,为了能更加规范的写出高质量工程代码,推荐研究下阿里的《Java开发手册

》。

顺便在这里说一下,我目前是在职Java开发,如果在学习Java的过程当中有遇见任何关于学习方法,学习路线等方面的问题,你都可以

点击  Java技术讨论

,这里面聚集了很多正在学习Java技术的初学者,也有不少从事Java开发岗的大佬,与Java相关的问题都可以随时发出来讨论。


2 常用数据结构

如果要想通过面试找到工作,Java 中一些常用数据结构一定要好好掌握。最常用的就是以下几种:

  • LinkedList
  • ArrayList
  • Stack
  • ArrayBlockingQueue
  • LinkedBlockingQueue
  • HashMap
  • LinkedHashMap
  • TreeMap

五、学java,多看开源项目,多练手

看书和看视频,都是听和看,想学会编程,必须要多写代码。尤其是把基础学完之后,一定要自己动手写代码练习。不写代码,学完就忘了。



版权声明:本文为Jsono8原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。