Java学习方法和经验分享,小白看过来
这几天,近百名初学java粉丝咨询我如何自学java,因精力有限不能一一回复,现系统整理一套java初学者最佳的学习方法、误区、路线、大纲及资料,希望对你有所帮助。
我可以很明确的告诉你,学习java不难,难的是没有人告诉你学习的方法,学习路线的重侧点,以及每个阶段的坎。我知道我并不是最牛的java大佬,但我知道我会是引导你入门的java程序员!
首先了解一下java的未来发展方向
有一些初学者在学java,但是却不知道学了java可以做什么。我来粗略的总结一下。
做桌面程序
桌面程序,就是我们平常使用的客户端。由于java是一门跨平台的语言,所以用java写的桌面程序天生就是跨平台的。但是,不得不说,awt和swing做一个桌面程序实在是太痛苦了,javafx也不咋地。所以,除非你神经大条或者只是想学习了解一下。不建议这条路。
做游戏
在我的印象里。。用java写的游戏只有mc。。。我知道肯定还有别的,但是应该都不怎么出名吧。所以,很明显,这也不是一条有前途的路,除非你也能写个mc出来。现在做游戏还是c++,lua,js,c#多一点吧。讲道理我也不太熟,但是我知道,用java写游戏不靠谱。
写服务端
这是学java的三个最好的选择之一。现在大型的网站基本上都是用java写的。虽然现在服务端百花齐放,php,nodejs,go,ror,python都在抢这一块的饭碗,但是java还是有很大的竞争力的。不信?bat现在在春招,你去看一下岗位,都有招java的,但是其他的呢?反正我是没看到。。
当然,我这不是在说java无敌,宇宙第一,而是说,java在服务端的前景还是很好的。
唯一的不好就是,学的人有点多,初级程序员满地跑,没有一定的实力还是不怎么好混的。不过,我感觉现在java服务端找工作还好。。反正我找个实习两天就找到了。
android
这个就是最好的选择之二了。不多说了,有google爸爸支持,android未来n年还是死不了的。虽然现在也可以用kotlin开发,google也在推自己的dart语言。但是java的地位还是无法撼动的。
遗憾的是,听说最近android不怎么好找工作。当然,我只是听说,毕竟我不是专业的。
嵌入式
n年前,还是直板手机的年代。我记得有的手机支持java。。可以安装后缀为.jar的软件。当时觉得这种手机牛比的不得了。因为我在用这种手机之前一直在用辣鸡国产,那种叫斯凯平台的?忘了名字了,反正用键盘输入*#220807#,就可以召唤神龙的那种手机。。。。
扯远了,当时那种支持java的手机,就是使用的一种叫做javame的技术。javame就是一种轻量级的java,可以在移动设备运行java程序。
大数据
这是最后一个我推荐的方向。都说现在是数据时代。各种大数据技术层出不穷。目前处理大数据的技术有python,java,R等。虽然说java没有绝对的优势,但是也是一大霸主。不服?hadoop就是用java实现的,还用多说什么么?
其次是要学习什么内容(Java学习路线)
1.Java SE部分 初级语法,面向对象,异常,IO流,多线程,Java Swing,JDBC,泛型,注解,反射等。
2.数据库部分,基础的sql语句,sql语句调优,索引,数据库引擎,存储过程,触发器,事务等。
3.前端部分, HTML5 CSS3 JS, HTML DOM Jquery BootStrap等。
4.Java EE部分,Tomcat和Nginx服务器搭建,配置文件,Servlet,JSP,Filter,Listener,http协议,MVC等。
5.框架部分,每个框架都可以分开学,在去学如何使用SSM 或者SSH框架,如何搭建,如何整合。开发中为什么会用框架,Rest是啥?Spring为啥经久不衰,底层如何实现等。
6.23种设计模式,掌握常用的,比如单例模式的多种实现,责任链模式,工厂模式,装饰器模式等,了解常用场景。
7.基础算法和数据结构,八大排序算法,查找算法。
8.熟练使用maven等构建工具,git等版本控制工具,熟悉常用linux命令,log4j,dubug,junit单元测试,日志打印工具,Redis等NoSql。
当然,以上是我个人的见解。每个人都应该有各自的人生规划,你也可以按照自己的规划来。
最后就是如何学习java
1、多积累学习资料,像是视频、文章、相关工具、源码,现在网络这么发达,多积累为己所用,再实惠不过了。
2、学习零基础的时候视频大于书籍,甚至完全可以不用看书,网上搜索Java零基础能找到好多完整课程的视频,或是再对照着相关课件,自学完成入门没问题,也不用担心自己看视频没有保障,你在课堂上听课也是同理,只不过这是一个自律的过程。
Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通
这是我之前跟着学习的Java入门基础教程,很适合准备入行开发的零基础员学习Java,视频中穿插多个实战项目。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。
3、多看大神写的优秀代码,自己照着勤加练习,过程中更要养成良好的写代码习惯,为将来打下基础,时间长了自己也能写出漂亮的代码了。参考过程中也要注意思考这其中包含的知识点都有哪些,不知不觉之中又可以复习一遍知识点。
4、再就是学会分享。大家一起学习,每个人都分享一下自己学习的知识点和解决问题的思路,那会是多么大的一笔财富。和别人聊起相关技术的时候,你就有了谈资。结识的同学,也会是一笔宝贵的财富,互相请教问题,你的眼界知识面会更广。
5、实践!实践!实践!重要的事情说三遍,学完一个小阶段就可以尝试着编写一个项目试试,运用自己学过的知识点,这样就可以融会贯通加深记忆!
总结
在平时的学习过程中,尝试着把学习当做工作来做,提前感受和体验工作。学习过程的项目实战也要认真对待,既是对专业技能的“二次学习”,也是对项目经验的积累。
这就是我的一些学习方法,希望这套学习方法也适合你们大家。也想给那些有学习基础的同学一点警醒,有基础固然很好,但是你再多付出点努力,岂不是能够走得更高更远!
Java学习方法和经验分享,小白看过来相关推荐
- java学习方法和经验
谈谈我的 java学习方法和经验.首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程.IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再 ...
- 学习半年Java的初次经验分享
班长叫我去分享一下学习经验,我总结了很多大佬的自学博客,在结合自己的实际经历,给大家分享了这篇自学博客,建议小白看,大佬请回避.小生自知资历不够,未来还会持续改进. 我从去年11月学的Java,到现在 ...
- 三本可爱小表妹,面试小米Java技术岗经验分享(已拿offer)
前几天得知以前总是跟在我屁股后面的小表妹一次性拿下小米Java技术岗offfer,导致我越发觉得自己真心有点菜鸡,我弱小的心灵受到了一万点暴击! 首先介绍一下表妹的情况: 某理工类院校本科,之前一段实 ...
- 进程管理程序java,运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析...
运维经验分享作为一个专题,目前共7篇文章 ====================================分割线====================================== C ...
- 德邦面试java_【德邦物流Java面试】德邦面试被耍经验分享。-看准网
德邦物流因为人员流动较大,所以常年都在招人,各大招聘网站都有招聘信息,只要大专以上学历,毕业再两年以内,投了简历就会叫你来面试,不过面试容易,想要录取却没那么简单.面试分为四轮,第一轮:笔试(主要是一 ...
- java工程师面试经验分享1-面试准备
目录 前言 原因分析 面试准备: 1.复习 2.面试题&笔试题 3.简历 4.平台 1.很多朋友说我投了简历但就是一直没有面试通知. 2.很多人会问:我挑公司也需要时间,哪有时间投这么多家呢? ...
- 程序人生|五年java 含泪总结,建议小白看
关注公众号"AI码师"领取2021最新面试资料和java学习路线 最近在网上看到很多人都在写自己的工作总结,我在想我要不要也跟风一下,思考之后,于是就有了这篇文章 这篇文章主要讲述 ...
- Java基础学习经验分享
很多人学习Java,尤其是自学的人,在学习的过程中会遇到各种各样的问题以及难点,有时候卡在一个点上可能需要很长时间,因为你在自学的过程中不知道如何去掌握和灵活运用以及该注意的点.下面我整理了新手学习可 ...
- 14年的面试官经验分享,看完必有收获
面试,是找到好工作的过程中,最最重要的一环. 在我14年的职业生涯中,亲自面试的人应该不下1000人了. 看过的简历还要更多,尤其是微软上海早期扩张的时候. 所以今天,我就从自身经历出发,给你分享一些 ...
最新文章
- 【机器学习基础】让人惊艳的决策树可视化
- 物联网蓝牙模WiFi无线模块技术和ZigBee技术再智能家具领域发展对比?
- centos7 LVM调整,划分home部分容量到root
- 【Clickhouse】实时日志数据写入Clickhouse
- MySQL Spatial Data Types
- 体验Microsoft Longhorn 和 Google Earth 带来的视觉震撼
- SSH项目搭建-03-DAO层,Controller层创建及代码抽取
- uniapp H5 扫码 扫一扫 功能
- Xposed+JustTrustMe解决SSL证书问题
- sd卡卡槽_SD卡面包板插槽DIY图解
- linux mv文件个数,关于linux:mv一个文件,其中包含Shell脚本中的空格
- HTC Vive Pro eye 眼动数据简单获取
- cad看图软件哪个更好用(免费cad看图软件推荐)
- 删除外键的sql语句
- python有架构师吗_运维架构师-Python 自动化运维开发-021
- BZOJ 2039: [2009国家集训队]employ人员雇佣 最小割 二元组建图模型
- 敏捷迭代就是小瀑布吗?为什么创业团队更敏捷?
- 【生活随笔】夜色漫步
- 弧焊机器人断弧_qlh 2焊接机断弧如何修理
- 黑群晖安装Transmission和emby搭建家庭影音娱乐中心服务器(上)