这些淘汰的Java技术,请不要再继续学了!!

2022-12-02 0 585

他们好,我是磊哥。

2023 年 Java 往生成功之路自学走线

2022 新 Flowable 400 讲Sourceforge

我碰触 Java已近20年了,缔造了很多Java控制技术社会变迁,主要包括:

JavaEE架构,从千家争夺战到那时Spring基本上改朝换代。

Web合作开发,从标准配置的SSH到那时SpirngMVC + MyBatis女团。

IDE,从前年热火朝天的JBuilder到Eclipse,再到更快用的IDEA。

责任编辑,我主要就谈呵呵那些Java科学知识“早已落伍”,没必要性竭尽全力自学了。您也能把责任编辑看作上首诗的补足。

我推论的依照主要就有几点:

1、

 前述合作开发若想加进?

2、

 与否有利于增进对控制技术的认知?

3、 对复试与否管用?

JSP

JSP在前述合作开发中,主要是做为MVC数学模型中的V(View)层再次出现的。总之,View层的图形控制技术除JSP,除了FreeMaker、Velocity等。

JSP做为网页模版,在后端透过MVC架构图形成HMTL,接着再发送至应用程序(比如应用程序)来呈现出。这也是他们常说的“其间端不分离”,“混合式”合作开发。

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

这样,在后端,原来的MVC架构,某种意义上早已演变为MC架构。因此,与V(View)相关的一切模版控制技术都失去了自学的必要性,其中总之也主要包括JSP。所以,后来的Java自学者,我的建议是:

“_完全能放弃对JSP的自学_。”

注 意文末有:7701页互联网大厂复试题

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做为老牌的OR映射架构,功能非常强大,涵盖面非常广。但这既是它的优点,同时也成为它的“负担”,是合作开发人员“不能承受之重”。

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为基础的。

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

这些淘汰的Java技术,请不要再继续学了!!

所以,如果你想要彻底掌握某个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),完全不必自学。将来真要加进,再查也不迟。

原文:hihu.com/question/305924723/answer/557800752

2023年Java往生成功之路自学走线

2022 新 Flowable 400 讲Sourceforge

近期控制技术热文

往期推荐

真的要替换掉Postman吗?

Java反射和new效率对比,差距有多大?

线程池执行的任务抛出异常会怎样

比 MyBatis 快 100 倍,天生支持联表!

第3版:互联网大厂复试题

主要包括 Java 集合、JVM、多线程、并发编程、设计模式、算法调优、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaScript、Android 大数据、阿里巴巴等大厂复试题等、等控制技术栈!

 高清 7701页大厂复试题  PDF

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务