用了很多年Java,10年前Java是主流,如今Java还是主流。
“Java是一门编程语言,然而又不仅仅是一门编程语言”,这大概是我个人认为对Java最为经典的解释了。
记得刚学习Java的时候,对于Java的一些概念是必须要弄清楚的,比如JVM、JDK和jre的区别,JavaSE、JavaEE和JavaME的区别。在这里,我不会去讲Java的故事,也不会用字面意思去继续谈Java是什么,而是通过对Java的认知背景,以及使用Java的感受方面,来谈一谈个人对Java的理解。
时间先回到09年,Java版本已经发布到1.6了,但很多学习资料都还是1.5版本,也就是从1.5版本开始,不再继续沿用Java 1.2版本J2SE、J2EE、J2ME的命名方式,开始启用Java SE、Java EE和Java ME。
对于Java SE,我的印象是C/S架构软件开发,或者Eclipse插件开发,应用场景还是挺多的,如果至今还有人认为Java做不了很好的桌面级软件,那我对这种情况只能评价为对Java了解太少。
而Java EE就不用太多解释了,因为这曾经是Java应用最好的一个平台,很多商用软件都是基于此平台开发的。
最后再说说Java ME,如果简单理解为手机端开发,可能不太合适,毕竟手机只是终端一种,还有其他一些终端软件,比如POS机,以及其他一些手持设备。不过在当时,Android已经发展起来了,虽然Java有Java ME版本,但我是没有见过真实使用Java ME做开发的公司或者商用软件 ,也就是说Java ME实际上发展并不太好,至少在国内是这样,或者不被众人所知。
除了,Java三大平台以及Android之外,其实还有一个主流平台,那就是Java Web了。
可能有的小伙伴会问,Java EE和Java Web不一样吗?后面会有专题文章详细解说。简单做个对比,就好比是Java ME和Android,你能说他们是一样的平台吗?
对于Java Web,之前流行一个说法,轻量级Java Web开发平台,所谓的轻量级,主要是针对Java EE平台的EJB而言的,因为在EJB 3.0之前,无论是从使用的便利性,还是运行时的性能,EJB都很重量级,恰好一些轻量级的技术如雨后春笋般出现,比如曾经非常流行的SSH平台(Spring+Struts x+Hibernatge)、SSI(Spring+Struts x+iBatis),很好的规避了EJB早期版本的一些问题。虽然后期EJB 3.0做了很大的改进,但是业界Java Web已经也变为主流。
谈到Java Web,不得不说Spring了,刚开始用Spring,主要用到IoC和AOP,并且当时的Spring Framework还依赖很多第三方插件。而如今Spring家族越来越壮大,自己实现了底层大多数第三方依赖,并且Spring Boot和Spring Cloud技术的发展,更是让Spring家族光宗耀祖,甚至说Spring也是一个独立的开发平台,也不为过。
在Java发展的过程中,虽然Sun公司也被Oracle公司收购,甚至Java高版本还会收费,但我个人认为Java的发展不会受太大的影响,毕竟Java在业界的影响力已经很强大了,就算Oracle官方Java版本收费,肯定还有有第三方组织open一些开源免费的版本。实际上,也正是因为开源的力量,才让Java有了很好的发展。
归纳总结一下:Java是一门编程语言,底层基于JVM,提供了JDK开发库、jre运行环境,并提供根据业务场景可选的开发平台(包含Jvaa SE、Java EE、Java ME、Android、Java Web),是软件开发领域一种成熟的开源解决方案。
网友评论