【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作(1)-阿里云开发者社区

开发者社区> 沉默王二> 正文

【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作(1)

简介: 【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作
+关注继续查看

最近又有一个读者“在你的世界各地”向我提了上面这个问题。但说实话,这个问题并不太好问答。因为 Java 是一门“历史悠久”的编程语言,它的学习资料多到令人眼花缭乱。


但不能为自己找借口啊,毕竟读者就是上帝。于是我花了一个月的时间,精心为你准备了一份万字长文,史上最佳的 Java 自学指南,保证你能找到一份满意的工作。


先来梳理一下读者强调的关键词,有 3 个,分别是“零基础”、“自学”、“找到工作”。


1)“零基础”意味着我提供的学习路线不能太难,或者说应该是循序渐进的。


2)“自学”意味着我提供的学习素材不能太枯燥,或者说应该是幽默风趣的。


3)“找到工作”意味着学习周期要尽可能的短,但还要学有所成。


01、为什么要学 Java


因为 Java 是世界第一的编程语言啊!谁给的底气?大概是 TIOBE 这个编程语言排行榜吧。


TIOBE 是编程语言流行趋势的一个指标,每月更新,基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(Google、Bing、Wikipedia)进行计算。


image.png

上面这幅图是几个热门编程语言(Java、C、Python、JavaScript 等等)近些年来的增长趋势。可以看得出,Java 霸占这份榜单很多年,并且还会持续更久。


1)简单易学,老少咸宜。Java 继承了 C++ 语言面向对象的核心技术,舍弃了容易引起错误的指针,移除了运算符重载和多重继承等难以理解的概念,增加了垃圾回收机制,这些大大简化了程序员的开发成本。


2)跨平台。任何平台只要安装了 JVM(Java 虚拟机),就能运行 Java 程序。真正实现了“Write once, run anywhere”。


3)丰富的类库。全球约有 900 万名 Java 开发人员,创造了一个充满活力和积极进取的 Java 社区,开源类库非常丰富。借助这些类库可以让开发者避免重复造轮子,不用去关注 Java 底层的开发,只关注业务的实现。


4)广泛使用。据估计,全球范围内有超过 30 亿部设备运行 Java,超过其他任何一种语言。Java 被用于众多全球知名的网站中,包括 eBay.com、Linkedin.com、Amazon.com 和 Facebook.com。这一点应该是 Java 屹立不倒的深层次原因吧,大家都在用,才是真的强啊。


5)薪资可观。很多企业都需要 Java 方面的人才,这是一个非常现实的原因,为了生计着想,学习 Java 这个方向不会有错!


02、哪些 Java 知识不需要再学了


张无忌在学太极拳的时候,他爹的师父张三丰告诫他一定要把之前所学习的武功全部忘掉,忘得越多就会学得越快。


同样的,自学 Java 的时候一定要先知道哪些 Java 知识不需要再学了,毕竟技术的更新迭代就好像火箭一样快,Java 的一些知识点早已经过时了。如果不懂得断舍离,那学起来就不免太痛苦了。


1)AWT 和 Swing


真不知道为什么,有些书籍还在介绍 AWT 和 Swing,这就好像不知道大清朝早已经亡了几百年一样。已经 9102 了,谁还会用 AWT 和 Swing 去开发桌面应用呢?


就我所知,C++ 程序员会用 MFC,C# 程序员会用 Winform 和 WPF。甚至还可以用一种更时髦的技术(比如 Electron)把 Web 网页裹一层华丽的外衣,变成可执行文件。


2)Applet


作为网页插件技术,Applet 压根就没流行起来,就连曾经的热门 Flash 也要淘汰了。


3)XML


XML 还没有被淘汰,应用的地方还有不少。但是作为一种数据传输格式,它正在被 JSON 替代。


4)JDBC


我个人不建议再学习偏底层的 JDBC 了,尤其是对于时间宝贵的自学程序员来说。与其花这点时间,不如把精力投入到 MyBatis 的学习上。


5)Struts


Struts 是早年一个优秀的 MVC 框架,单从技术的角度来看,还是蛮不错的。但是自从有了 SpringMVC 后,Struts 就被拍死在沙滩上了。


6)Hibernate


在我刚参加工作那会(2010 年的时候),持久层框架用的正是 Hibernate。但时过境迁,Hibernate 太重量级了,学习成本太高,取而代之的是轻量级的 MyBatis(支持定制化 SQL、存储过程以及高级映射)。


7)JSP


说起来惭愧,我现在维护的一个项目,视图层用的依然是 JSP。但如今流行的是“前后端分离”,JSP 就显得不合时宜了。


03、学习 Java 需要安装的软件


工欲善其事必先利其器,战斗之前我们要先配备好武器。


1)JDK


JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。


2)IDE


集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。


在我初学 Java 的时候,老师竟然告诫我们不要使用 IDE(当时是 MyEclipse 风靡的年代),而要使用文本编辑工具,比如说 Editplus、Nodepad++。


老师说的有一定的道理,比如说,在没有代码提醒的帮助下,我们能够通过不停的手敲记住一些 Java 的常见名词。但在我看来也就仅此而已。


没有 IDE 的帮助,让初学者对编程望而生畏,因为那些名词实在是太多了。我们班当时很多同学就是因为觉得太痛苦了,就放弃编程了。


我到现在也不太会敲 extends、implements(在 Eclipse 中复制出来的),不会敲又怎样呢?有好的工具,我们就应该利用,不应该受苦。


下面是最为受欢迎的 IDE 的榜单。


image.png


对于我来说,一直喜欢的是 Eclipse,这可能是一种情怀吧。


据说,喜欢 IntelliJ IDEA 的 Java 程序员越来越多了。


3)JAD


将源代码转换成二进制执行代码的过程叫做“编译”,一般指的是将 Wanger.java 编译成 Wanger.class 字节码文件;而将字节码文件转换成源代码的过程叫做“反编译”,比如将 Wanger.class 转成 Wanger.java。


JAD 是一款老牌的、经典的 Java 反编译工具。更重要的是,JAD 能够让我们深入的了解 Java 代码的工作机制。


比如说有这样一段代码:


String chenmo = "沉默";

String wanger = "王二";


System.out.println(chenmo + wanger);


它的“庐山真面目”是下面这样子的。


String chenmo = "\u6C89\u9ED8"; // 沉默

String wanger = "\u738B\u4E8C"; // 王二

System.out.println((new StringBuilder(String.valueOf(chenmo))).append(wanger).toString());



4)Maven


Maven 是一个项目管理和自动化构建工具,基于项目对象模型(POM)的概念,可以管理项目的构建、报告以及文档。作为 Apache 组织中的一个颇为成功的开源项目,Maven 主要服务于基于 Java 的项目构建、依赖管理和项目信息管理。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9959 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2487 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9134 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13712 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4441 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7315 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22341 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
1084
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载