首页IT科技java未来会被取代吗(Java发展到现在,哪些技术可以放弃了?)

java未来会被取代吗(Java发展到现在,哪些技术可以放弃了?)

时间2025-06-18 16:13:44分类IT科技浏览7183
导读:但是作为已经发展了几十年的java开发生态,各类技术层出不穷,有的新技术新框架已经对旧技术旧框架产生了颠覆性的影响,当然还有一些旧技术压根就没流行过。今天我们来看下Java那些可以放弃的技术了。...

但是作为已经发展了几十年的java开发生态              ,各类技术层出不穷                     ,有的新技术新框架已经对旧技术旧框架产生了颠覆性的影响       ,当然还有一些旧技术压根就没流行过              。今天我们来看下Java那些可以放弃的技术了                     。
来源:zhihu.com/question/305924723/answer/557800752
Java至今已经发展了20年       ,其丰富的开源框架打造了一个繁荣稳固的生态圈
JavaEE框架                     ,从百家争鸣到现在Spring完全一统天下
W
eb开发              ,从标配的SSH到现在SpringMVC+MyBatis组合及更高效的SpringBoot
I
DE       ,从当年如火如荼的JBuilder到Eclipse                     ,再到现在的IntelliJIDEA
随着时间推移              ,一些优秀的框架崭露头角,一些低效框架也慢慢退出历史舞台       。
今天                     ,我们就来看看有哪些框架                     ,完全可以不用学啦
我判断的依据主要有以下几点:
际开发能否用到?
否有助于加深对技术的理解?
面试是否有用?
JSP
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后端技术出现的                     。因此在实际学习中       ,很多技术就不符合“国情                     ”                     ,学习的现实意义不大       。下面我就简单列举下       。
作为页面插件技术              ,不用多说       ,连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核心面试知识整理》
分享收藏点赞
点亮下方“在看                     ”图标
让更多人看到
声明:本站所有文章                     ,如无特殊说明或标注                     ,均为本站原创发布                     。任何个人或组织,在未征得本站同意时              ,禁止复制              、盗用       、采集                     、发布本站内容到任何网站              、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益                     ,可联系我们进行处理       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
路由器管家官方下载(路由器管家怎么用?) 十年磨一剑下一句下联(删除十年磨一剑-为API开发设计的高性能框架)