Java发展到现在,哪些技术可以放弃了?(java哪些技术过时了)

  本篇文章为你整理了Java发展到现在,哪些技术可以放弃了?(java哪些技术过时了)的详细内容,包含有java发展到现在,哪些技术可以放弃了一切 java哪些技术过时了 java以后的发展 java会被淘汰吗 Java发展到现在,哪些技术可以放弃了?,希望能帮助你了解 Java发展到现在,哪些技术可以放弃了?。

   各位好啊,我是会编程的蜗牛,作为java开发者,对于各类java开发技术、开发框架肯定是多少都要了解和知道的。

  但是作为已经发展了几十年的java开发生态,各类技术层出不穷,有的新技术新框架已经对旧技术旧框架产生了颠覆性的影响,当然还有一些旧技术压根就没流行过。今天我们来看下Java那些可以放弃的技术了。

  
各位好啊,我是会编程的蜗牛,作为java开发者,对于各类java开发技术、开发框架肯定是多少都要了解和知道的。

  但是作为已经发展了几十年的java开发生态,各类技术层出不穷,有的新技术新框架已经对旧技术旧框架产生了颠覆性的影响,当然还有一些旧技术压根就没流行过。今天我们来看下Java那些可以放弃的技术了。

  来源:zhihu.com/question/305924723/answer/557800752

  Java至今已经发展了20年,其丰富的开源框架打造了一个繁荣稳固的生态圈

  
eb开发,从标配的SSH到现在SpringMVC+MyBatis组合及更高效的SpringBoot

  
DE,从当年如火如荼的JBuilder到Eclipse,再到现在的IntelliJIDEA

  随着时间推移,一些优秀的框架崭露头角,一些低效框架也慢慢退出历史舞台。

  今天,我们就来看看有哪些框架,完全可以不用学啦

  

  我判断的依据主要有以下几点:

  际开发能否用到?

  否有助于加深对技术的理解?

  面试是否有用?

  JSP在实际开发中,主要是作为MVC模型中的V(View)层出现的。当然,View层的渲染技术除了JSP,还有FreeMaker、Velocity等。

  JSP作为页面模板,在后端通过MVC框架渲染成HMTL,然后再发送到客户端(例如浏览器)来呈现。这也就是我们常说的“前后端不分离”,“混合式”开发。

  而当前,包括我所在的公司,以及大部分互联网公司。要么已经抛弃这种模式,要么正在抛弃的路上,而转向彻底的“前后端分离”。

  在“前后端分离”模式下,后端只负责提供服务接口(例如REST),而前端(例如HTML5)通过接口发送/获取,呈现数据(例如JSON格式)。

  这样,在后端,原来的MVC框架,某种意义上已经演变为MC框架。因此,与V(View)相关的一切模板技术都失去了学习的必要,其中当然也包括JSP。所以,后来的Java学习者,我的建议是:

  “完全可以放弃对JSP的学习。”

  Struts

  在Java后端开发中,MVC模型还是主流。而Struts作为一个MVC框架,单从技术上来说,还是很优秀的。

  但是,现在Spring实在是太强势了,越来越成为Java开发中的“一站式”工具包,其中的一个利器就是SpringMVC。

  望名知意,SpringMVC也是一个MVC框架。而且因为它是Spring的亲儿子,自然和Spring契合得非常完美。

  同时,在设计之初,SpringMVC就参照了其他MVC框架的优缺点(包括Struts),所以用起来非常爽。因此,在MVC框架领域,SpringMVC大有一统天下的趋势。

  因此现在,很多公司,老的Struts项目还在维护。但新的项目开发,更多转向了SpringMVC。因此,如果你是Java新手,正在学习中,我的建议是:

  “不要再学习Struts了,从SpringMVC开始吧!”

  Hibernate

  Hibernate作为老牌的OR映射框架,功能非常强大,涵盖面非常广。但这既是它的优点,同时也成为它的“负担”,是开发人员“不能承受之重”。

  Hibernate的设计初衷,是为了最大程度的解放程序员,完全隔离数据库,实现彻底的OR映射。程序员甚至可以不写一行SQL语句,单通过配置就能实现对数据库的操作。

  当然,为了实现这个目标,Hibernate也设计的非常复杂、非常精巧。就不可避免的带来以下副作用:

  前两点不难理解,单说“调优困难”。

  因为Hibernate的设计目标是彻底的OR映射,彻底的隔离SQL语句。但必然会带来一定的性能损失。大部分情况下,应用如果对性能不敏感,Hibernate也没问题。但应用一旦对性能敏感,有SQL级别调优的需求,Hibernate的优点反而成为缺点。

  虽然Hibernate也支持SQL级别的调优,但因为框架设计的过于复杂和精巧,这就需要开发人员对Hibernate理解的非常透彻,这就带来了更高的学习成本。

  而现在最流行的MyBatis,作为一个“混合式”,轻量级OR映射框架,既继承了Hibernate的优点,同时也吸取了他的教训。在支持配置的同时,又能接触SQL,从而带来了更多灵活性(包括调试、优化)。

  当前,在实际开发中,Hibernate使用的越来越少了。大家更偏爱MyBatis这种轻量级框架。所以,对后来学习者,我的建议是:

  “不需要再学习Hibernate了,学MyBatis就够了。”

  Servlet(要学习)

  当然,现在不会有任何公司,再用纯粹的Servlet来时实现整个Web应用,而是转向一些更高级的技术(例如各种MVC框架)。因此,会给人一种错觉:Servlet已经过时,后来者就不需要再学习了。

  在这里,我可以非常负责任的说:这种观点是极端错误,极端不负责任的。

  Servlet不仅要学,而且要学深,学透。

  当前,Servlet虽然不再是一个主流web开发技术,但依然是JavaWeb开发技术的基础,是JavaWeb容器的基石,是行业标准。而现在流行的各种MVC框架(包括SpringMVC),在最底层,还是以Servlet为基础的。

  为此,我画了一个简单的图(不准确,会意即可):

  所以,如果你想要彻底掌握某个MVC框架,则必须彻底理解Servlet。

  而且,Servlet作为一个基础设施。精通它,不仅有助于理解各种MVC框架。即使Servlet本身,也有很多实用价值。

  如果你深刻理解了Servlet的生命周期,就可以在底层做很多事情。譬如在Request进来的时候,进行拦截,进行权限的判定。也可以在Response发出的时候,进行拦截,统一检查、统一附加。

  所以,如果你正在学习Java,对Servlet,我的建议是:

  “Servlet不仅要学,而且要学深,学透。”

  Others

  目前在国内,Java更多是作为web后端技术出现的。因此在实际学习中,很多技术就不符合“国情”,学习的现实意义不大。下面我就简单列举下。

  1.Applet

  作为页面插件技术,不用多说,连flash都快被淘汰了,更无论从未流行的applet。

  2.Swing

  作为桌面UI框架。且不说本身设计的咋样。现实开发中,我接触的桌面应用,要么用C++(例如MFC),要么用C#(Winform、WPF)。所以,Swing就没有学习的必要了。

  3.JDBC

  作为较低层的数据库基础设施,JDBC被很多框架(例如MyBatis)支持。但在实际开发中,程序员即使不了解也无大碍。因此,虽然我不能建议你放弃JDBC学习,但如果你时间有限,完全可以把它的优先级排低一点。

  4.XML

  XML现在还在广泛应用。但作为一个web数据传输格式,正在逐渐被JSON替代。所以,对Java后端学习来说,XML简单了解即可。至于庞杂的XML操作API(例如XPath),完全不必学习。将来真要用到,再查也不迟。

  推荐阅读点击标题可跳转

  Tabby,一款老外都在用的SSH工具,竟然还支持网页操作

  IDEA调试起来太费劲?你需要了解这几招!

  如何使用Java在Word中插入表格

  JetBrainsFleet初体验,如何运行一个java项目

  如何用VMWARE创建一个Linux虚拟机

  

  我整理的干货,回复【JAVA核心】获取《JAVA核心面试知识整理》

  

  分享收藏点赞

  点亮下方“在看”图标

  让更多人看到

  以上就是Java发展到现在,哪些技术可以放弃了?(java哪些技术过时了)的详细内容,想要了解更多 Java发展到现在,哪些技术可以放弃了?的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: