80%人自学java失败 原因是什么

一、80%人自学java失败 原因是什么

说到原因我自己就是个自学失败者,总结了以上这4点原因

1、 坚持不下去,定力问题。不少学生选择自学学习java,然而,自学需要长达半年以上的定力和毅力,每天要坚持看书,还要勤上机联系。然而,许多学生就是坚持不下来,3天打鱼,2天晒网,结果半途而废。

2、 缺乏辅导和指导。不少学生在学java的过程中,会遇到不上难题,比如,编写一个程序,怎么搞都不成功,结果也查不到是哪错,甚至一个问题很有可能脱一个月解决不了。缺乏必要的辅导和指导,而使许多自学者遇到问题时,不知所措,从而放弃学习。

3、缺乏学习氛围。惰性是人类的共性,在缺乏外在压力和阶段目标的前提下很难保障时刻保持进度,尤其是在困难重重之下,经常受外界的干扰而转移精力。

4、学习材料问题:目前相关的技术书籍种类和内容良莠不齐,有些书籍内容经常存在错误现象,书上的案例经常在机器上运行不了。所以,错误的学习材料及教材也会带人进入歧途,而使学生们备受打击,而不知所措,甚至学了1年,跌跌涨涨而没有学通,很有可能是教材就是错的。最终丧失学习动力。

因此,最终我是放弃了自学,但是,我可以很肯定的告诉你,我是java开发工程师,目前工作3年了!远标java出来后就没有那么迷茫了!

二、零基础学java应该从哪里开始?

第一阶段:Java语言入门到精通

学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程、并发、异常及网络编程,这些我们称之为JavaSE基础。当你掌握了这些内容之后,你就可以做出诸如:电脑上安装的迅雷下载软件、QQ聊天客户端、考勤管理系统等桌面端软件。

第二阶段:JavaWeb核心技术

掌握前端技术只能做静态网站,但它页面数据一成不变,而动态网站可以根据数据库中变更的数据实现不同的内容展示,应用更广泛,因此程序员必须要学会做动态网站。使用Java做动态网站,我们需要学习Servlet、Filter、Session、Cookie、JSP、EL表达式、JSTL等做动态网站的完整知识体系,学完可研发出OA系统、内容网站、BBS等。

第三阶段:编程强化

前面学了JavaSE基础,但它在企业级应用中程序处理业务的效率并不高、扩展差,编程强化是对JavaSE基础的加强,将针对性的提高程序处理业务的执行效率、增强程序扩展性。编程强化将加强多线程高级学习,涉及线程内存、线程通信等技术。学完以后,能增加一个中级程序员的知识储备,无论在面试过程中还是将来技术的深入打一个良好的基础。

第四阶段:项目管理工具

公司开发都是团队协同开发,为更好的掌握实际开发,我们还需要学习常用的项目管理平台、版本控制器、项目构建工具以及自动化部署工具。项目开发一定是有版本升级的,管理好项目进度和版本需要Git、Maven、Sonar这样的系统平台。学习完软件项目管理后,将掌握整个项目实际开发过程以及整个项目开发过程中所使用协同开发工具。

三、怎样才能学好java

目前 Java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 Java 学好。除非像电影「骇课任务」(Matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 Java 包括了下列的范畴:

* 认识 Java 的原理

* 学会 Java 语言

* 物件导向的思维

* API

* 开发工具的用法

下面分别就这几点详细阐述。

学习 Java 的原理

了解 Java 的原理,才有可能真正体会 Java 的一切,学习任何事情,只要能掌握原理,就会比较顺利。我发现许多人使用 Java 已经逾年,却连 Java 最基本的特质都不清楚。

一般来说,资讯系毕业的学生,对於资讯的新事物学习的速度,会比其他科系来得快,就是因为四年的教育为他们奠定了学习新事物的基础,这也是资讯系课程的价值所在。

除非你受过的基础训练够扎实,否则在学习或使用 Java 的过程中,你一定会需要参考到这些资讯系学科的知识。我建议各位可以在闲暇之余,把资讯系课本的书拿来读一读。这是治本之道,绝非立竿见影的特效药,必须要有耐心。

学习 Java 语言

学习 Java 语言很简单,毕竟 Java 语言也只包含五十多个关键字(keyword)与几十个算符(operator),再加上 Java 语法(syntax)也很简单,所以一般人可以很快就学会 Java 语言。危险的是,很多人认为已经完全掌控 Java 语言,但其实对於内部的运作机制仍不能掌握,这些盲点有时候会让你无法完全掌控 Java 语言。克服这些盲点的方式是看「The Java Language Specification, 2nd Ed.」(没有中文版)来彻底弄懂 Java 程式语言,并看「Inside the Java Virtual Machine, 2nd Ed.」(有中文版,但翻译得@#%$)来彻底掌握 Java 虚拟机器的运作方式。

学习物件导向的思维

学会了语言,并不代表就可以设计出好的物件导向系统架构。想要成为物件导向的专家,往往需要:

* 多看相关的书,特别是 Design Pattern 和 Refactoring 的书。

* 多观摩别人的程式(例如 Java API 的 design 与 implementation)

* 多写程式

学习 API

学会 Java 语言之后,还需要学会一些 API 才能写出有用的程式。Java 的 API 非常多,必须规划好一个学习路径,才不会在浩瀚的 API 大海中迷失。必备的 API 包括了:IO、New IO、Collection Framework、Network、RMI、JAXP... 等。至於其他的 API,就看你的需求而定,大致上分成:

* GUI 类:JavaBean -> Swing -> JavaHelp -> Java2D -> Image IO -> JAI -> Java 3D ...

* Enterprise 类:JDBC -> JDO -> Servlet -> JSP -> EJB -> JMS -> JTA/JTS...

* J2ME 类(这一类不是我的专长,无法提供学习顺序建议)

学习开发工具的用法

只用 JDK,是很难写出大型程式的,所以通常程式员会使用 JBuilder/VisualAge/ VisualCafe 等工具,这些软体卖这麼贵,一定有它的价值,值得花一些时间好好学习这些开发工具的使用方式,你将会发现开发工具所提供的许多功能,可以让你在开发过程中生产力大增。

祝你学习成功!!!