声明:本文只是我的个人经验之谈,或者连经验之谈都算不上,因为我觉得自己还是个新手,没有什么经验可谈,就算是我分享一下自己从开始学习Java到现在的一些心路历程吧,各位看官暂且看吧,欢迎交流。第一部分算是我与Java之间的故事,第二部分是我的个人学习经验和体会,不喜欢看故事的,直接看第二部分,谢谢!

  第一部分:

  作为一个学习Java的非计算机专业的学生,我觉得学习Java是有难度的,这种难度是因为我们不了解或者没有相关的学习经验而导致的,当然,与兴趣爱好也有分不开的联系。我是一个IT爱好者,由于不是计算机相关专业的,所以大学期间计算机就成了我的益达爱好,大学四年我都是与计算机为友的,时至今日,我对计算机依然是如此的痴迷。虽然大学四年都在学习It,但在计算机的这条路上,我只是个无人指引It爱好者,我不知道该如何学习,也不知道该学什么,所以大学四年我都是在随着自己的爱好在学习,学过c语言、Python、易语言、bat脚本等,但是基本上都是学完数据基础部分就结束了,因为我不知道该如何进阶,其实我特别期待自己能熟练的掌握某一门计算机语言,但是很多事往往就是如此的事与愿违,大学毕业我也依旧没有很好的掌握一门编程语言。

  大学毕业以后,距离入职还有一段时间,我觉得没有什么事,我就翻开自己之前买的Java书籍,开始翻阅,然后照着书本上的代码开始一行一行的开始敲,但还是不理解,但依然就这样敲了一个多月。后来入职以后(因为没底子,所以没敢找计算机相关专业的工作,7月中旬入职),为期一个多月的培训,也没怎么看,这一两个月就这样荒废过去了,也正是这一两个月让我萌生了转行的打算,我觉得干自己不喜欢的工作真的太没劲了,然后又一次燃起斗志开始学习。

  大概从9月份开始,我开始一边看视频,一边看书,一边敲代码,然后一点一点的开始学习,其实这段时间我觉得自己进步不大,而且很多东西都不理解,但是依然不休不止的坚持着。一直到11月份,偶然的一次机会,加入了一个Java学习的QQ群,群里面一位网友分享了一个链接,说是腾讯的公开课,然后就去看了。感觉看了以后收获很大,让我开了眼界,也深入的了解了Java,了解了Java web ,然后一直看了差不多有一进一个月,听了公开课老师的建议,然后又开始去学前端,因为老师说学习Java从前端开始学习比较好入门。然后花了一个多月在学习前端,从html,到javascript、css,到JQuery,我觉得前端学到差不多了,可是这时候我迷茫了,我开始怀疑自己能不能找到工作,我觉得要学到东西好多呀,然后又一个多月就这样被我在迷茫中度过了。后来春节放假,回家和同学、朋友聚了几次,也聊了很多,经过我的深思熟虑,然后我依然决然的再次拿起Java,开始学习。春节以后,回到公司,也没有什么事,一天上班挺无聊的,然后我就开始看电子版的《Thinking in Java》,越看越觉得收获大,然后很多天都在看这本书,也帮我揭开了很多以前不理解不明白的知识点(强烈推荐那些入了门,或者学完基础的同学去看这本书,收获会很大的,这本书在Java界的名声挺大的),后来我都打算报班了,可是想着我都坚持了这么久了报班值得吗,不如自己制定一些计划,然后有计划的学习,所以我就开始了新的学习旅程,这一次也是我觉得自己最接近未来的一次努力,因为我能够深刻的体会到自己的进步和改变。

  因为之前把基础都学的差不多了,所以后面剩的基础知识不是很多,所以接下来的不到一个月的时间里,我觉得自己进步真的很大,也感觉每天都有新的收获很进步,我觉得我的很快就能实现自己的转行计划了。最后,盗用我们老总的话来结束我的故事,我觉在Java学习这条路上每个人都是一个圆,我们学到的或者掌握的知识是圆里面的,而我们没有掌握的知识则是圆外面的,随着我们知识的增长,我们会发现自己掌握的越来越多,但同时也会发现,我们不懂的也越来越多,知识是学不完的,重要的是保持一个学无止境的态度。

  第二部分:个人学习经验和体会 

  第一点,我觉得学习Java最重要的是坚持,要有坚定的目标。这一点有点老生常谈了,但是事实就是如此,你如果静不下心,如果耐不住寂寞,如果不能坚持,那么你永远都无法真正掌握一门技能。纵然你再有天赋,不坚持,永远到不了终点。我学习Java快一年了,这一年中,多次差点荒废掉,能够坚持到现在,很大程度上是因为我喜欢计算机,我打算转行到It,这一切自始至终都是我所想的,我觉得你只有想清楚了自己得而学习目的,你才能更好的坚持,也才能更好的继续学习。

  第二点,学习方法层面。 

  首先肯定要学基础的,而且要花很长的时间去学习,但是作为一门编程语言,不仅要学习看书,更重要的是要实践。多敲代码,多上机练习,这才是关键,如果你把书上的每一个例子都动手敲一遍,肯定比你看书要学到的更多,多敲几次,每一次都会有不一样的理解和收获,这也会是我的经验,我就是这么过来的,其实我很早就有看Java的书籍,但总是看不懂,理解不了,后来静下心来把书上的代码敲了几遍,感觉就慢慢入门了,也理解为什么要这么写……总之,学基础的第一要务是要实践。

  其次,多思考,这一点学什么都一样,不思考,不多问几个为什么,你永远都领悟不到更深层次的东西,同时,有问题尽可能的去查找,比如上网搜索或者查阅书籍资料,如果找不到再去请教身边的同事、盆友或者老师。这样做,一方面能够增强你查阅资料的能力,另外一方面能够让你养成独立思考问题的习惯,而这两者都是对你以后很有帮助的,特别是随着你的能力的增长,研究的领域慢慢深入,能帮到你的人会越来越少,这时候你只能靠自己。
  然后,要善于总结和分析。就是在自己学完一个板块要自己总结一下,这样有助于你梳理知识点,同时也方便以后查阅和复习。
最后呢,就是要尽可能多的去做一些简单的小项目,这一点尽可能的贯穿于学习的整个过程,因为实例练习有助于加深你对知识的理解,同时也可以帮助你把多个知识点串联起来。在做小项目或者实例练习的时候,尽可能多思考,多琢磨,多测试,尽可能精简的代码数量,这样可以培养你的项目思维,对于你以后开发项目有很大的帮助。

  同时,很重要的一点是要坚持尽可能的徒手敲代码,不要借助任何的工具(不带自动补全),这应该是作为Java开学工程师最基本的素质,再说了你如果不徒手敲代码,笔试的时候你怎么能完整的写完一个程序。

  最后,多花时间去研究优秀的代码。就像写文章一样,我们要多读多看,汲取他人代码中的养分,将好的方法、代码应用到自己的程序中。

  还有一点,就是写代码的时候尽可能的规范,提升代码的可读性,同时也方便别人阅读你的代码,这一点在大公司尤为重要。

  以上言语如有不妥之处,欢迎您来指正。由于时间关系,很多内容还没有进一步的提炼和加工,后续会更新提炼,谢谢!

我个人的Java学习经验(一家之言)的更多相关文章

  1. Java学习经验

    随着Java学习的深入,越来越感觉记笔记的重要性,一方面可以使自己更加善于总结,提高对项目和自己的认知,另一方面可以让知识条例更加鲜明,并且加深对知识点的记忆.Java是一门很早开始兴起的语言,用途非 ...

  2. 从零基础到拿到网易Java实习offer,谈谈我的学习经验

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  3. Java基础学习经验分享

    很多人学习Java,尤其是自学的人,在学习的过程中会遇到各种各样的问题以及难点,有时候卡在一个点上可能需要很长时间,因为你在自学的过程中不知道如何去掌握和灵活运用以及该注意的点.下面我整理了新手学习可 ...

  4. java入门经验分享——记面向对象先导课程学习感想

    选择在暑期学习面向对象先导课程的初衷是为大二下学期面向对象课程做一些铺垫,接触入门java语言.在接触java的过程中,就编程语言的学习方法而言,我从刚入学时的手慌脚乱四处寻求帮助到现在慢慢养成了自己 ...

  5. 阿里十年架构经验总结的Java学习体系

    Java学习这一部分其实是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个 ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  8. Java学习路线图,专为新手定制的Java学习计划建议

    怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:    首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA).J ...

  9. 20145330第五周《Java学习笔记》

    20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...

随机推荐

  1. 1)Linux学习笔记:crontab命令

    crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 配置文件 ``` SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin: ...

  2. 初识Google code jam平台

    为了熟悉一下code jam的平台,今天简单试了一下,做了一下Qualification Round Africa 2010的三道题目,都是很基础的. A题:给一个数n和一系列数a[],从a[]中找出 ...

  3. bzoj1396

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1396 题目大意: 题解:后缀自动机,只出现一次,那么就是right值为1,那么对于一段1-- ...

  4. Spring Boot Web Executable Demo

    Spring Boot Web Executable Demo */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.sr ...

  5. UVa 507 - Jill Rides Again

    题目大意:最大和子序列问题.由于具有最大和的子序列具有一下性质:第一项不为负数,并且从第一项开始累加,中间不会有和出现负数,因为一旦有负数我们可以抛弃前边的部分以得到更大的子序列和,这将会产生矛盾. ...

  6. 堡垒机--paramiko模块

    做堡垒机之前,来了解一下paramiko模块. 实际上底层封装的SSH. SSHclient(1) import paramiko #实例化一个ssh ssh = paramiko.SSHClient ...

  7. Java打印

    Java打印 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Gra ...

  8. HDU-2573-Typing

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2573 这题把%s与gets()的输入法搞混了一直感觉没有错,就是找不出哪里错了, 题目思路不是很难. ...

  9. JavaSwing JScrollPane的使用

    JavaSwing JScrollPane的使用: 参考:http://duyz.blog.ifeng.com/article/340649.html package com.srie.test; i ...

  10. JWPlayer支持SD/HD

    First, we have to render two versions of our video: an SD (standard definition) and HD (high definit ...