当今互联网份额最大的编程语言是哪一个?是Java!这两年一直有听说Java要不行了、在走下坡路了。没错,Java的确在走下坡路,未来的事情的确不好说,但是瘦死的骆驼比马大,未来的三五年之内,我相信Java仍然是行业“一哥”!各位是否和我刚学完Java基础语法时一样,陷入过不知道Java能做什么的困扰中?觉得Java只能在控制台里System.out.println打印打印猫啊狗啊、爸爸和儿子吗?
兴趣是最好的老师,HelloGitHub就是帮你找到编程的乐趣。
C++篇Python篇Go篇Java篇JavaScript篇
让我们开始~
高尔基说过:「书是人类进步的阶梯」。在历史的长河中诞生过无数的著作,计算机领域也不例外,而《ThinkinJava》就是我要重点介绍的一本著作,这本书给我的第一印象就是:全!从最基本的数据类型到之后的面向对象再到后面的泛型反射的高级话题,无所不包。我之前阅读的是第四版实体书,现在的好消息是,第五版来了!而且是以开源的形式。经过之前小项目的小打小闹,大家也有了一点编程的感觉了,是时候巩固下理论知识了,俗话说的好:「基础不牢,地动山摇」。现在这个阶段去阅读此著作一定会给你不一样的感觉,我甚至推荐你每到一个阶段,你可以回过头去翻翻这本经典书籍,每次都会有新的认识。
如果你觉得刚刚的「圣经」有点重,不妨来看看这个项目,这个项目从Java基础到标准库JVM到Spring再到各个常用到中间件Redis、Zookeeper等。每一部分都用了一张思维导图来整理出各个知识点,既能够对将学知识的大致了解,也方便了学习后,对已学知识的巩固复习,可以说良心到不行。你完全可以按照自己的节奏,学习的进度去查看每一个知识点。
MindManager二、白银坚持就是胜利2.1春天来了
Java在生产中多数是以服务端开发为主,那在服务端领域还有一个一定绕不开的Java框架就是Spring。我相信你一定听过这个名字,Spring这个框架现在基本已经是Java服务端的工业级标准了,我就职过的公司没有一个不用的,而Spring发展至今,他工程上的复杂程度也大大的提高了,各种封装和抽象,想要搞懂原理变得非常困难,但是你不需要太过害怕,因为只是完成功能上的开发和一般的使用是不需要知道Spring的原理的。Spring团队为了能进一步提升开发体验,推出了SpringBoot这个框架,你可以认为SpringBoot是对原本的SpringMVC进行封装并且内置了一个Tomcat的容器,仅此而已。最后如果是新学的话建议直接从2.0开始。
关于SpringBoot我这里推荐一个项目:
springboot-socks
项目里面内置了很多有用的片段,从最简单的HelloWorld到如何集成Mybatis啊,又或者是如何跨域,还有怎么发送邮件啊等等,都有一个对应的文件夹的示例。
此阶段建议按照以下路线学习:
完成这个阶段后,相信你对企业中的前后端交互以及框架的基本使用就有概念了。然后就能基于此,尝试做一些小功能,比如登陆,注册等等。
Java本身被诟病最多的就是语法啰嗦,hutool是一个简单易用的三方Java类库,里面包含了大量的工具类静态方法,封装了原本复杂的调用。而它的源码本身也是值得学习的优秀开源项目,通过学习它可以了解到一个优秀的lib项目是如何组织、规范代码的,也希望读者们以后都能拥有令人自豪的开源项目。
坚持到现在的你需要一个媲美生产环境的完整项目经验,而这个开源项目恰好可以满足,推荐这个项目的原因如下:
之前都是偏向实践的项目,到了这里,应该放慢脚步,往更高层的方向出发了。正所谓,「知其然,更要知其所以然」。有了实践的帮助,会让学习理论不那么枯燥,同样也因为理论,让实践有了更好的基础。
advanced-java
这个在线书籍包含了很多Java生态中的高级话题,如高并发,分布式,缓存,高可用,微服务等等。由一个问句引出读者的思考,让读者跟着作者的思路一步步的从提出问题,分析问题到最后的解决问题。
之前的小鸟,不知道有没有击中你的心灵?我反正是有,我刚开始学Java的时候也捣鼓过一些小游戏,比如扫雷,贪吃蛇,坦克大战等。那时还不知道有GitHub不然这些项目就能和大家见面了,自己当时也瞎写,对编程感觉还不强,但是亲手将一些儿时的回忆复刻出来的感觉是非常棒的,如果你也想用Java写写小游戏的话,不妨看看下面这个项目。
FXGLGames
项目中已经内置了一些简单游戏的Demo,通过学习可以让你快速上手,框架还可以将游戏轻松打包到单个可执行文件,快来试试吧!
最后
HelloGitHub想让更多人爱上编程、开源,也一直在尝试、摸索如何帮助更多的人。