大家好,今天栈长给大家分享一下我在开发过程中所知道的被淘汰的技术或者框架,有些甚至我从来没有用过,但是我知道它已经玩得很开心了。废话不多说,现在开始吹...1.Swing下面是用swing开发的:图片来自网络,有没有似曾相识的感觉?我自然明白!店长去年中秋节还用swing:,我用Java画了个月饼!Swing作为早期Java取代AWT的桌面应用程序GUI开发工具包。是一听就淘汰的技术。我觉得很丑!现在我在AWT睡眠的长河中。如果把JavaGUI库的发展历程分为三代的话,可以是:AWT>SWING>JAVAFX随着JavaFx的发布,SWING的淘汰将会加速。下面这个是用JavaFx开发的:图片来源:zhihu.com/question/54498643/answer/271632290现在JavaFx已经有十多年了,虽然这个帖子也说JavaFx已经被淘汰了,但是桌面应用是现在不是主流,我没用过不敢乱说。JavaFx在桌面应用程序开发中应该仍然占有一席之地。2.JSFJSF:JavaServerFacesJSF是一个用于构建JavaWeb应用程序的表示层框架,与Struts具有相同的性质。图源:https://javabeat.net/jsf-2/国内的JSF用户比较少,有些是老系统,国外应该还在用JSF,但是随着SpringMVC和SpringBoot的出现,JSF应该也是过时的技术了。3、EJBEJB也是神器,只见其影,不见其体。几年前,网上还有各种面试题,现在估计很难看到了。EJB:EnterpriseJavaBeans,即:EnterpriseJavaBeans在Sun公司发布的文档中对EJB的定义是:EJB是一个跨平台的组件系统,用于开发和部署多层、分布式、面向对象的Java应用系统结构。简单的说,EJB就是用来部署分布式系统的,就是把A程序放在服务器上,通过B客户端调用,是跨平台的。图源:oreilly.com由于EJB过于复杂繁琐,调试非常麻烦,现在换成了轻量级的RPC框架(Dubbo)和轻量级的Restful分布式框架(SpringCloud)。关注微信公众号Java技术栈,后台回复分布式,获取分布式架构系列教程。4、JSPJSP全称:JavaServerPages,是早期Sun公司发布的动态网页开发技术,即在HTML网页代码中嵌入JSP标签的Java代码,实现动态网页。JSP代码示例:
微信公众号Java技术栈<%out.println("你好,Java技术栈!");%>/body>这个例子只是简单地调用了JSP内置的out对象,在页面输出上显示一句话。JSP的本质其实就是Servlet。JSP文件编译后成为ServletJava类文件,因为JVM虚拟机只能识别Java字节码文件,不能识别JSP文件。在JSP时代,那时候还没有前后端分离。JSP可以包办一切,即实现静态页面和动态代码逻辑,都在一个JSP文件中。这样一来,一个程序员既是前端又是后端。不过现在在前后端分离的热潮下,前后端分工明确,后端只负责业务逻辑接口开发,前端是负责调用后端接口,然后对页面数据进行打包展示。JSP几乎被淘汰了。虽然前后端分离取代了JSP,但是并不代表JSP没有用。并不是所有的系统都是前后端分离的。比如一个只有两三个页面的动态系统,JSP和Servlet可以处理,但是你就不能去页面模板引擎,各种框架,还是前后端分离?5、StrutsStruts2那些年真是太美了。Struts2+Spring+Hibernate三大框架共同组成“SSH”——令人敬畏的JavaWeb框架三剑客。Struts我就不多说了,具体看这篇文章:Struts2为什么被淘汰了?6.MemcachedRedis近几年非常流行,现在已经取代Memcached成为缓存技术的主要中间件。在内部,Redis已经逐渐取代了Memcached,Redis被广泛用作缓存应用解决方案。为什么Redis能后来居上?关注微信公众号Java技术栈,后台回复redis,获取Redis系列教程。1)更快Memcached使用多线程模型。由于是多线程,会因为全局锁造成性能损失。Redis采用单线程模型,没有锁竞争,速度非常快。相关阅读:Redis是单线程还是多线程?2)更丰富的数据类型Memcached数据类型非常单一,只支持String数据类型,在业务实现上非常瓶颈。并且Redis支持string(字符串)、hash(散列)、list(列表)、set(集合)、zset(sortedset:有序集)等……丰富的数据类型让Redis在业务上大展拳脚。这是Redis可以替代Memcached的最重要原因之一。相关阅读:Redis的8大应用场景!而且Memcached的最大值是:1M,Redis的最大值可以是:1GB。3)数据持久化Memcached不支持持久化,Redis支持。缓存服务器断电后,Memcached数据无法恢复,但Redis可以将数据持久化在磁盘中,服务器重启后可以加载重新使用,不会因为断电造成数据丢失。比如有些数据直接放在缓存数据库中,其他地方可能没有备份。如果丢失,可能会对业务造成影响。这也是Redis一个非常有用的保障特性。总结一下,今天栈长罗列了6个即将被淘汰的经典技术或框架。虽然这些技术现在面临淘汰,但它们曾经有过一段美好的时光,值得敬畏。另外,虽然这些技术即将被淘汰,但并不代表它们就没有用了。它们仍在使用,但现在不是主流。最后,在大家的开发过程中,有没有遇到过曾经很美好,现在却快被淘汰的技术?