Java开发2018年值得学习的10大技术
作为一个开发人员,我们最大的挑战就是保持自己了解新的技术。技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架。
就拿2017年来说,AR、VR、区块链、人工智能等等已经扑面而来了。除了这些离我们较远的,说几个离我们最近的:JDK 9、 Spring 5、 Spring Security 5、 Spring Boot 2、ServiceMesh等。这一年对于一个Java开发来说可能是最忙碌的一年了,我们还在学习使用Java 8的Stream API的时候,Java 9的模块化已经来了。除此之外,JDK 9 还有很多有趣的功能如Jigsaw、JShell、Stack-Walking API等,所以,仅仅是这些东西足够2018年的你好好学习一番了。
再拿Spring来说说,可能情况更加严重,毫不客气的说,很多人可能还不知道Spring 4有哪些特性,甚至项目中还在用Spring 3.1 ,更别提新出来的Spring 5、 Spring Security 5这些东西了。
想想有多可怕,我们现在用的竟然是五六年前的技术。
前几天在帮GitChat审稿的时候,有一篇文章名字大概叫《搭建企业级项目》之类的文章,但是仔细一看,里面的内容竟然还是让开发者通过导入jar包的方式搭建SSH环境,看到这里,我真的有点担忧,尤其那些初级Java开发者,甚至是还没毕业的你。或者是很多工作了多年的你。新技术,请学起来!!!跟我一起!
下面是我列的我的2018学习清单(和Java相关部分),供你参考。
01
Gradle
Java世界中主要有三大构建工具:Ant、Maven和Gradle。经过几年的发展,Ant几乎销声匿迹,还剩Maven和Gradle两种,maven是我目前工作中用的版本管理工具。maven现在已经是行业标准,Gradle算是后起之秀,很多人对他的了解都是从android studio中得到的,Gradle抛弃了Maven的基于XML的繁琐配置。取而代之的是Gradle采用了领域特定语言Groovy的配置,大大简化了构建代码的行数。
正好也可以借着学习Gradle的机会深入学习一下Groovy。
02
Python
最近我已经在开始学习Python了。最初想学习他的动机是想借助Python做一些爬虫、数据分析相关的事情。作为一种语法简单的高级语言,Python有很多优点。对于一个Java程序员来说,学习Python是很容易的。
在StackOverflow2017开发者调查中。所有最受欢迎的语言中,Python超越PHP位居第五,在你最希望使用哪种语言排行榜中,Python 夺冠,而去年仅仅第四。所以,如果你准备学习一门新的语言,Python绝对是个很好的选择。
03
Java 8 和 Java 9
就像我说的,我和绝大多数Java开发人员一样,仍然在学习Java 8。2018年仍然会继续学习并大量使用Java 8。
我也会花一些时间学习Java 9的新特性,比如Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell等也在学习清单中。
04
Spring 5
2017年我们见证了见证了Spring和Java生态系统的许多重大升级,Spring 5.0就是其中之一。
Spring 5 的新反应式编程模型、HTTP/2 支持,以及 Spring 通过 Kotlin 对函数式编程的全面支持这些都值得我们好好了解一下。
05
Spring Security 5.0
Spring Security 5.0 提供了许多新功能,并支持 Spring Framework 5.0,总共有 400 多个增强功能和 bug 修复。在Spring Security 5.0.0之前,密码是明文保存,十分不安全,这一次的新版本则使用更安全的密码存储方式。
Spring Security 5.0.0的主要亮点在于它只需要最小化的JDK 8、反应式安全特性、OAuth 2.0(OIDC)和现代密码存储。
06
Spring Boot 2
Spring Boot 2.0 基于 Spring 5 Framework ,提供了 异步非阻塞 IO 的响应式 Stream 、非堵塞的函数式 Reactive Web 框架 Spring WebFlux等特性。
很多使用过SpringBoot的人都知道,使用SpringBoot搭建Web应用真的是又快又好,相信Spring Boot 2会带来更多惊喜。
07
Apache Spark 和 Kafka
另外一件2018年要深入学习的是大数据相关的知识。特别是Apache Spark 和 Kafka两个框架。
我不确定我是否会有时间看其他大数据技术,这两个至少在当前还是比较火的。
08
ServiceMesh
显然,这是个新东西,很新。或许在读这篇文章的你并没有听说过。那么恭喜你,此时此刻你已经在这个方面超过了大部分程序员。
ServiceMesh,他被业内誉为下一代微服务,现在整个领域都处于初级阶段。早学早受益。
09
Serverless
无服务器运算(英语:Serverless computing),又被称为功能即服务(Function-as-a-Service,缩写为 FaaS),是云计算的一种模型。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云平台来提供。
这东西,听上去就很高大上。
10
Others
Docker 、MicroService、Kubernets、Spring Cloud、Redis....
2018年,欢迎你和我一起学习
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
面包店里的编程狂想
小黑最近手头有点紧,于是想着去面包店里兼职赚点外快。刚刚到面包店里上班就看到面包师傅在做蛋糕和面包,但是都是手工一个个在做,半个小时才能做出一个蛋糕。程序员出身的小黑就不由自主地思考起来,要是能开发出一台机器,它能自动做蛋糕,那该多好啊。10分钟就能做出一个蛋糕,10分钟就能做好一批面包,这样效率又高,又可以减掉人力成本。我们用 Java 语言描述一下这个场景: 小黑把这个想法告诉了店长,店长说:不错,小伙子很有想法。我会尝试着去做一做,要是做出来了肯定能大大提高生产效率!不知道过了多久,小黑发现店里竟然真的用机器来做蛋糕和面包了。 但生活中的场景往往是复杂多变的。就在小黑惊讶的时候,店里来了一个顾客,他想要一个水果蛋糕,但他特别喜欢杏仁,希望在水果蛋糕上加上一层杏仁。这时候我们应该怎么做呢? 最简单的办法是直接修改水果蛋糕机的程序,做一台能做杏仁水果蛋糕的蛋糕机。这种方式对应的代码修改也很简单,直接在原来的代码上进行修改,生成一台专门做杏仁水果蛋糕的机器就好了,修改后的 FruitCakeMachien 类应该是这样子: 虽然上面这种方式实现了我们的业务需求。但是仔细想一想,在现实生...
- 下一篇
程序员被聘用的13个开发技能
1.JavaScript 这些日子,开发人员掌握JavaScript总不会错。JavaScript能力是目前为止被高层执行人员和招聘人员誉为最频繁的追捧技能。JavaScript已被证明是当今市场中高度可移植和宝贵的技能。 2.了解大数据 大数据项目相较于去年继续扩大,而且在这几年里也没有放缓的迹象。开发人员必须有全面的(商业智能)和分析产品,机器学习工具和其他可以转移、存储和汇总大量数据解决方案的知识。只有这样,他们才能帮助他们的公司存储,交互和分析大数据,以便于做出更好的业务决策。 3.掌握全栈 现在许多的顶级公司都在寻求可轻松应对各种技术和平台的全栈开发人员。 4.涉及开发运营 炽热的就业前景并不是考虑在简历中添加开发运营经验的唯一原因:开发运营实践会让你成为一个更优秀的开发人员和一个更有价值的合作者。 开发运营实践还可以提高团队凝聚力和业务敏捷性。这是一种能让企业加速领先一步的边缘技能。 5.多样化 相比前几年,现在的企业希望寻找更丰富的技能。Java和C#仍然占据市场部分份额,但是当你去看那些在上次经济衰退之后成立的公司,那么你将看到各种类型的语言需求:Ruby on Rai...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程