当年很流行,现在已经淘汰的Java技术,请不要在继续学了!!!

命令行执行YOLO训练命令报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error#15: Initializing libiomp5md.dll... (已解决!)报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. 阅读详情

最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些在国外的同学竟然对 Java 图形化很感兴趣,还想找这方面的工作。

比较忙,一直没抽出时间去回答这类问题,刚好看到我关注的一位大佬回答过,这里分享一下,希望对你能有帮助。

下面是正文。

原文链接:https://www.zhihu.com/question/305924723/answer/557800752


我判断哪些技术不用学习的依据主要有以下几点:

  1. 实际开发能否用到?

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

  3. 对面试是否有用?

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开发中的“一站式”工具包,其中的一个利器就是Spring MVC。

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

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

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

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

Hibernate

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

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

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

  1. 学习成本高

  2. 配置复杂

  3. 调优困难

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

因为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开发技术,但依然是Java Web开发技术的基础,是Java Web容器的基石,是行业标准。而现在流行的各种MVC框架(包括SpringMVC),在最底层,还是以 Servlet为基础的。

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

图片

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

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

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

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

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

其他

目前在国内,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),完全不必学习。将来真要用到,再查也不迟。

Lasso的原理及其与其他特征选择方法的比较进行阐述,然后讨论Lasso优点、缺点以及应用场景,最后给出了代码实例 在机器学习领域中,特征选择(feature selection)是指在模型训练前对数据集进行分析,选择其中有助于预测目标变量或影响模型性能的特征,去除不相关或冗余的特征,提升模型的泛化能力。而Lasso回归是一种很流行的用于特征选择的方法之一。Lasso回归(又称LASSO,least absolute shrinkage and selection operator)是一种线性模型中的特征选择方法。 阅读详情

相关推荐

核函数——原理剖析

(Kernel Function)是机器学习和统计学中的一个重要概念,特别是在支持向量机(SVM)和其他基于核方法的算法中。核函数的主要作用是通过一个隐式的方式将数据映射到一个高维空间,从而使得在该高维空间中线性不可分的问题变得线性可分。没关系,现在让我们抛开一切无关的事情,花20分钟来认真领会一下,核函数的原理到底是什么。然后我们来说什么什么样的函数有资格称为核函数,也就是上面说的一个函数的内积矩阵是半正定矩阵。中的分布如左图所示。中是不可实现的,那如果我们将原始空间中的所有样本点,通过一个映射关系。

m0_70254540的博客 1587

JSP速通

JSP已经过时了?你还在犹豫要不要学JSP?你还不知道JSP需要学哪些东西?如果你有这些疑惑,看完本文相信能为你解惑

热爱编程、热爱生活、热爱探索 4032

滤波器设计实战:Filter Solutions软件从入门到精通

本文是Filter Solutions滤波器设计软件的实战指南,从入门到精通。通过设计一个低通数字滤波器的完整流程,详细讲解了参数设置、FIR/IIR选择、窗函数及逼近函数应用。文章重点介绍了如何利用这款经典工具高效完成滤波器设计、性能权衡,并将设计成果导出至MATLAB等平台进行实际验证与应用,是信号处理工程师提升效率的实用参考。

weixin_29095049的博客 531

2024还有必要学JSP吗?,你不懂还不学?

以后访问1.jsp就不再重新编译jsp文件了,直接调用class文件来响应浏览器。当然了,。既然JSP是一个Servlet,?我们来看下上面1_jsp.java的源码就知道了。原来就是用write()出去的罢了。\r\n");?再看回1_jsp.java文件,**JSP内置了9个对象!**内置对象有:out、session、response、request、config、page、application、pageContext、exception。。

m0_58269070的博客 2734

第十五届蓝桥杯省赛C/C++B组H题【拔河】题解(AC)

由于枚举三个点肯定会超时,所以只能枚举两个点,我们尝试枚举第一个区间。的复杂度,需要找出右区间中和左区间的和最相近的值,可以考虑使用。一开始,我们将所有可能的右区间的区间和,都插入。做法同上,用前缀和优化数组求和的过程。的数组和差值最小是多少,其中。递增进行枚举左区间,当。的数组,求两个子数组。为左端点的区间的和。

一只大采集~ 5283

C++版Cesium实战:从OpenGL到3DTiles的全流程开发指南

本文提供了一份C++版Cesium全流程开发指南,详细阐述了如何利用OpenGL和Qt从零构建高性能、可离线部署的三维GIS应用。内容涵盖开发环境搭建、OpenGL渲染引擎初始化、Cesium核心坐标系与场景管理移植,并重点解析了3DTiles数据的解析、异步加载与渲染优化等硬核实战技术,旨在帮助开发者实现与现有C++工业软件的深度集成。

weixin_28077113的博客 165

mvc设计模式现在过时了吗_简单谈谈MVC设计模式

一、MVC设计模式MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。现在,MVC 已经成为主流的客户端编程框架,在 iOS 开发中,系统为我们实现好了公共的视图类:UIView,和控制器类:UIViewController。大多数时候,我们都需要继承这些类来实现我...

weixin_30652395的博客 1371

UNet 改进(45):轻松集成Triplet Attention,让分割效果起飞!

本文介绍了一种在U-Net架构中集成CSRA残差注意力模块的方法。该模块通过结合通道注意力和空间注意力机制,在U-Net的瓶颈层对特征进行自适应重标定,使网络聚焦于关键区域。文章详细解析了代码实现,包括基础构建块DoubleConv、核心CSRA模块原理及其在U-Net中的战略位置集成。测试表明该模型能保持标准U-Net的输入输出维度,同时通过注意力机制提升特征选择能力。这种模块化设计便于在不同任务中应用,为图像分割领域提供了有效的注意力增强方案。

2401_82355416的博客 104

2020还有必要学JSP吗?

前言 2020年了,还需要学JSP吗?我相信现在还是在大学的同学肯定会有这个疑问。 其实我在18年的时候已经见过类似的问题了「JSP还应该学习吗」。我在18年发了几篇JSP的文章,已经有不少的开发者评论『这不是上个世纪的东西了吗』『梦回几年前』『这么老的的东西,怎么还有人学』 现在问题来了,JSP放在2020年,是真的老了吗?对,是真的老了 现在问题又来了,为什么在几年前已经被定义『老』的技术,到2020年了还是有热度,每年还是有人在问:『还需要学习JSP吗』。我认为理由也很简单:JSP在之前用的是真的

诗与远方的博客 9277

cursor AI代码编辑器IDE对接deepseek模型api;字节ai编辑器trae

参考: https://www.cursor.com/ https://platform.deepseek.com/https://www.cursor.com/下载安装后,注册账号登录即可 再高级里选择设置 再模型这注册模型: 模型名称一定要填正确,url地址填好,最后填上秘钥验证

weixin_42357472的博客 1万+

MIKE水动力笔记2_水动力基础理论知识

本文所讲内容是水动力基础理论知识,所参考的主要书籍是《水动力学和水质》(第二版,季振刚著,海洋出版社)。

晏长街的博客 1万+

jsp技术被淘汰了?那还要不要学它?

对其了解还是很有必要的

刘小爱的博客 8234

TC3XX - MCAL知识点(十一):WDG EB-tresos配置说明与代码浅析

在AUTOSAR中,看门狗栈实现了三种监控机制:实时监控:用于周期软件的定时监控期限监督:针对非周期软件逻辑监督:用于监督执行顺序的正确性看门狗(WDG)驱动实现AUTOSAR(4.2.2)中规定的看门狗SWS,提供初始化、改变操作模式和设置触发条件(超时)等服务,供看门狗硬件(WDT)用户使用。WDG驱动的用户包括:模式管理模块(用于初始化),WdgM通过Wdglf设置触发条件和驱动运行模式设置。WdgM实施上述监督机制。AUTOSAR扩展触发概念,以支持窗口看门狗模式。

梦想技术家 3605

Java - 当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!

Java - 当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!

1542

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!

大家好,我是R哥。做面试辅导以来,聊了许多小伙伴,发现有些人的简历还是 JSP、Struts2、Spring MVC、Servlet、Hibernate、jQuery 那一套玩意,都 2024 年了,真是过时啦。现在找工作,如果还是这套古董技术,且不说你能拿到多好的 Offer,面试官看简历的时间不会超过 3 秒,裁员必失业。这几年我也创作了三个技术课程:Java 17 + Spring Boot...

Java技术栈,分享最主流的Java技术 975

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

当年很流行,现在已经淘汰的Java技术,请不要再继续学了!!!

来源:www.zhihu.com/question/305924723/answer/557800752最近,小哈在带小伙伴做前后端分离博客项目,手摸手教学,后端 + 前端全栈开发,从 0 到 1 手敲,1v1 答疑,直到项目上线,后续上新更多项目,戳我加入JSPStrutsHibernateServlet(要精通)其他最后最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些在国外的同...

犬小哈 286

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

当年很流行,现在已经淘汰的 Java 技术,请不要再继续学了!!!

上面是我的一家之言,肯定有武断之处,见谅!最后,祝你学习顺利。1.1,000+ 道 Java面试题及答案整理(2022最新版)2.劲爆!Java 协程要来了。。。3.Spring Boot 2.x 教程,太全了!4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,速速下载!

Java技术栈,分享最主流的Java技术 318
上一篇: 有人做小众应用就月入数万,为什么多数程序员都不做个人开发来赚钱呢?
下一篇: 干货 | 常见的API接口漏洞总结
IT界那些事儿
博客等级 码龄6年 2万+粉丝 22原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值