石家庄博为峰IT教育

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 招生信息> 石家庄比较厉害的Java培训班

石家庄比较厉害的Java培训班

立即报名 在线咨询

课程介绍

在我的印象中,上一次编写 Java 代码已是三年前的事儿了。虽然我的份工作就是 Java 程序员,但是后来因为容器与微服务的出现,Java 就从我的工作中消失了。可万万没想到,如今我和 Java 又一次重逢了,居然还是在微服务领域。

Java 的优势

这一切都要从微服务的热潮说起,众所周知微服务的优势在于:易于扩展、高可用性、无需考虑并发和多线程,而且还能享受容器带来的便携性。

如今,以 Kubernetes 为代表的微服务席卷了,让人感觉 Java 的时代已经成为了过去,而且这些语言无法很好地融入容器与微服务的生态系统。

虽然 Java 一直被集简洁与优雅于一身的编程语言(比如 Python)所诟病,但作为 Java 曾经忠实的拥护者,我认为 Java 在某些方面仍然有着不可否认的优势。

首先,我们都知道 Java 有着强大的多线程处理能力,对于银行等企业应用程序来说这是非常重要的功能。多线程处理能力使得程序能够具有更好的交互性、实时性。Java 在多线程处理方面性能超群,具有让你惊喜的强大功能,而且在 Java 语言中进行多线程处理很简单。

其次,虽然说比较 Java 与脚本语言的性能有点不公平,但 Java 的性能确实。然而,在水平伸缩与微服务架构的世界里,语言本身的性能根本无关紧要,只需要增加容器就可以获得优异的性能。虽然脚本语言能够利用容器随意扩大或缩小规模,但 Java 语言本身的性能优势很明显(至少在微服务领域)。

然而,另一方面,在此次会面中,Java 及其过时的框架(比如 Spring)也给我带来了无穷无尽的烦恼。

Java 以及 Spring 的缺点

首先,我们来说一说 Spring。众所周知,Spring 臃肿,入门难度大,充满了各种谜之注释,开发人员只能依靠教程或示例代码。Java 语言本身就很古板,Spring 又加入了一大堆单行注释和看似简化的方法封装,结果却适得其反,获得的通常都是一些压根没有必要的类调用和实例化。开发人员都明白,语言的控制、命令和透明性对于有效的软件开发至关重要。也就是说,作为一名开发人员,你需要准确地掌握代码的一切,以及代码执行的例程,但 Spring 却斩断了这种可能性。

如果在 Spring 代码中,每个类前面都要加上六个注释,而且这些注释各说各得,它们之间的关系错综复杂,就会让人感觉深陷泥浆。而这样做的并不仅仅是 Spring,例如 Lombok 库也做了类似的事情。这种压缩代码的方式只能适得其反,并不利于 Java 的发展。

Java 不应该与脚本语言比较简洁性。首先,这会牺牲 Java 代码的一致性。想象一下,所有的 getter 和 setter 都消失了,取而代之的是一行注释 @NoArgsConstructor。说好的一致性呢?

其次,这让本来就已令人费解的抽象层次更难以理解。例如,Spring 会在幕后进行自动装配(bean 注入),这是可以理解的,但是 Lombok 在应用程序中的定位又是什么,二者之间如何传递消息?如果每个类都需要六个注释,那么这些注释还需要实例化多少例程或类才能完成一个简单的任务?没有开发人员会希望这些多余的代码潜伏在角落。可悲的是,三年之后我所见到的 Java 代码就是这个样子。一切都是原来的样子。即便是有一些微小的变化,也是让情况变得更糟。

,Java 的发展搞错了重点。时至今日,Java 依然在纠结一些愚蠢的规则,比如类的命名,类应该放入哪个包中,以及变量是私有的还是保护的。反观 Python,没有提供有关访问说明符的文档,而是相信开发者会自己管理好这一切。这种做法很快就引起了我的共鸣。

温馨提示:想要了解更多课程安排、开班时间、优惠活动、学费地址等欢迎随时来电咨询并领取试听资格!

温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网