我和Java相知相守的日子
这几天在CSDN上看到了这个话题:Java 27岁了,感慨很多啊!首先想了一下我27岁的时候时候是什么状态呢?那年我刚毕业自认为已掌握了基本Java开发技术并准备在职场大展身手的时候,后面也经历了很多挫败,却是越战越勇,对Java了解的更多,也离不开它了。
Java的优点
首先,现在Java确实很壮大,相信稍微了解软件开发行业的人没有不知道它的。在招聘网站上开发相关的工作Java已经遥遥领先,我之前在华为做移动CRM外包项目的时候,之前因为各种原因使用C++开发的后台系统都已经转成Java语言了,除了C++程序员较少招聘困难外,更重要的是因为Java是在C++的基础上改进并重新设计而来,本身就很强大。 文章开头我先列举一下它牛在哪?
1.Java语言简单好学
Java丢弃了C,C++种很少使用的、难以理解的、令人迷惑的那些特性,如头指针,文件、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨、简洁,最大程度的降低了出错的可能。特别要说的是,Java语言提供了自动的垃圾回收机制,使得程序员不用为内存管理而担忧。 学计算机的应该都接触过C语言,还记得各种指针分不清指向的痛苦吗?
Java的强类型机制、异常处理、垃圾自动回收等保证了Java程序的健壮性,丢弃指针使得Java的简单易学,而且Java还有强大的安全检查机制。
2.语言是面向对象的
Java语言是一个纯面向对象程序设计语言,它提供类、接口和继承等原语,面向对象的表述方式更贴近生活易于理解。而且Java语言全面支持动态绑定,C++语言只对虚函数使用动态绑定。
Java市场无限大
目前,java语言市场占有率达20%,为世界第一编程语言。我国软件行业每年所需的java人才达30万,并且每年以22%左右的速度增长着。由此看来,java发展市场无限大。目前Java程序广泛运用于金融、电信、医疗等大型企业,成为名副其实的企业级应用平台霸主。
3.平台无关性
java语言可以一次编译,到处运行。无论是什么平台对java程序编译后都可以在其他的平台上运行,这是因为,java是解释型语言,编译器将其编译成字节码,然后在jvm中解释执行。所以只要在平台上安装了对应的jvm,那么就可以在该平台上运行。
4.java提供了很多内置的类库
通过这个些内置类库,简化了开发人员的程序设计工作,同时也缩短了项目的开发时间。例如java提供了对多线程的支持,提供了网络通信的支持,最重要的是提供了垃圾回收器,开发人员不用关心内存的管理。目前在实际项目中想要什么功能或者实现效果,基本上可以在网上找到相关描述,省去了重复造轮子的过程。
我跟Java相知
我大学的专业是计算机科学与技术,当然很早就接触到了Java,但是我当时对未来很是迷茫,不知道自己未来要干些什么,以至于别的方向和自己喜欢的东西都研究了一个遍,却漏掉了程序开发这个专业对口工作,所以对Java初次接触印象不深,课程也是好好上了,算是点头之交吧。真正对Java开发有印象的时候是到大四开始谈论就业话题的时候,身边有的同学报了达内之类的培训班,有的看马士兵老师的网课自学,而我啥也不会内心很慌,好在家里也不指望我挣钱,于是我就考研了,暂时避过了这个就业问题。但是从这开始对未来的就业道路也有了一些规划,自己还是挺喜欢编程这个行业的,就选Java了吧,做一个专业的developer。
我跟Java相守
- 2015年开始读研,没有搞学术研究,而是选择了实战积累经验。从第二年开始跟导师做一些简单应用系统开发,当时用的是struts2+spring+hibernate+sqlserver, 也经常会扣些细节或者看看面试题,也算是没有虚度时光。
- 毕业的时候想回山东工作,但是山东的且会去哈工大校招的企业太少了,浪潮又是高姿态,于是面试了一个青岛的外企,看的出来面试官很喜欢我,跟我聊了很多。当时他问我一个问题,如果Java岗位招够了让我去做C++开发我愿意调剂吗,我也是出生牛犊不怕虎,想着只要他敢要我就敢去,反正也有试用期培训呢。现在想起来这个想法真是愚蠢,隔行如隔山,后来给的岗位不仅开发语言换了,行业也不对口,坑惨了,好在我当时跟着导师做项目也是积累了不少经验,迅速回济南重新找了Java开发工作。
- 去年公司的项目改为前后端分离的架构,前端页面交互采用经典的vue2,但是前端工程师项目组只有一个,招聘也因为各种原因失败,总之就是非常缺前端,我自告奋勇承担了一些前端的开发工作。我的初衷是帮项目团队度过难关,后来感觉好像走偏了项目经理希望我转前端开发,于是我就被推到了一个分叉口,是坚持做Java后端还是转前端开发呢?我是挺喜欢前端的,但是经验、基础方面都很欠缺,后端是我的强项,抛弃它也很不舍,感觉这就像个是否要移情别恋的决断。中间纠结的过程就不说了,最终决定前后端的工作都兼顾一下,希望我能做到家中红旗不倒(Java开发),外面彩旗飘飘(前端技术)。
未来展望
我要跟Java继续耗下去了,Java最近的热点领域:云原生和低代码都算是刚有个入门,希望我能有时间研究一下。