本文纯属闲聊,不具有学习或参考的意义。
Java这个单词直到上大学的第一天才被我知道,记得当时还是面试卓越班的时候。为了介绍自己会一点编程,之前也看过一点Java(可以说几乎不会,不过之前诺基亚手机就可以经常看到Java的图标,【诺基亚好像是用qt写的,后面手机系统没有用qt写,真是可惜了,虽然还有qt quick,但是比起Android,还是有一些差距】)。由于不会读这个单词,当时面试的时候,就说了之前学过一点**“爪哇”**。现在回想起来,都觉得有些好笑。
在大学还没有开始上课之前,就在舍友的鼓动下,入了第一本java书籍,厚的像一本字典。入手后,几乎没有翻过。因为大一学习的第一门语言是C++,平时项目,也没有与java相关。当时在学校的网校中上课时,学习的方向为Android,从中学习过一些java(由于党校学习,和网校学习时间冲突了,导致后面很多课都没有去上,作业也没有完成,最后被网校淘汰了【如果最后留下来的同学,可以第二年给下一届的同学上课,一般能留下来的都是大佬(每期作业都能淘汰不少人),最后毕业去向也都是大厂】),用的书是红色的《第一行代码》(应该是第一版本,现在都出道第三版,使用kotlin了,时间过的真快)。
再次翻起这本书,还是大二的时候,当时学习的课程为Java,使用的书籍为《Java语言程序设计教程》和《Java web开发实战经典》)。先学了Java se,再学习了java ee,记得当时学习的还是古老的java bean(mvc),现在都是Spring Cloud了,再次感慨技术更新迭代之快。学习了半年还是难入Java的门,当时配置tomacat,就把我卡住了半天()。而且当时也没有加入什么实验室什么,没有实际的项目来练手,学过就忘记了,背的那些理论知识纯属是为了应付考试。
后面大三开设了Android课程,第一行代码也已经更换了版本,虽然学习到了一些知识,不过只是停留在简单的demo上(新手入门级别),没有实际项目练手【不过当时竟然,老师还在课上学习使用xml写老年机的软件,这…】。
后面实训,又接触到了Spring Boot,不过当时学的比较马虎,就照着老师的demo敲了一遍代码,后面就没有再深入了。可以说至此,就算是放弃了(也没有机会接触这方面的项目【比如某些网站的后端开发等】)。后面实际项目中,编程也很少用到Java。
再次拾起Java,是因为有项目需求,需要写一个Spring Cloud的微服务(感觉2/3的时间在弄架包和依赖,1/3的时间做开发),作为网页接口,来调用处理代码。另外阅读的一些技术书籍中,案例使用的语言是Java。
于是又再次拾起java的基础知识,相较于之前,这次没有选择很厚的书籍作为学习参考,而是使用《head first of java》这本书加上网络上的资料,感觉这本书学习了比较有趣(图文并茂,以实际例子作为学习的路线,强烈推荐,另外同系列中,关于Python那本也不错)。希望这次入门后,可以长久的学习和使用Java来做程序开发(比较后悔当初没有加一个实验室,通过做项目来加强对Java的学习)。
之前使用过Scala来写过一些spark的数据操作,感觉Scala就像是升级版的Java,很多东西都再此封装了,就比如创建类,它可以自动识别创建的类型,不用再写new的类型等,而且也可以直接调用Java中的方法。之前曾一直有人说kotlin会取代Java在Android上的地位(谷歌主推kotlin),但是多年过去,Java在Android领域的市场份额依旧很坚挺(在Android中,Java 不会抛弃的,因为 Android 的系统源码就是 Java 写的,没必要抛弃)。在Web方面,Java更是无法被其他语言所取代。不过学习Java的难点不是在其语言本身,而是所使用的框架、网络知识等运用。