java是否过于笨重?

1、语言特性。相对来说比较稳定,学习成本较低,从java1.5、1.6、java8,语法变化不大,原来的写法一直是兼容的,不像nodejs、python换一个版本区别太大、依赖库也变化太大。

2、开发环境。开发环境很成熟,各种开发工具、框架、类库、jar包很齐全。

3、运行环境。各种容器,很容易获得,或用打包工具打成一个jar,基本上只依赖于几个M的一个jre,很轻量级,当然和go这样完全编译成一个exe的话言相比,运行环境略重。

4、应用生态。如果开发企业应用软件或行业软件,大部分得用java,虽然java虚拟机有点吃内存,对CPU占用也高,但现在基本上用k8s等容器管理应用,动态扩容,对机器的要求可忽略不计。用的人多,知识容易获得。


C++ 之父 Bjarne Stroustrup 说:“世界上只有两种语言,一种饱受诟病,另一种没人使用。” 作为一门十多年来经久不衰的语言,Java 难免会饱受诟病。

但是,正如 Java 之父 James Gosling 在 The Feel of Java 中所说的那样:

“Java 是一门蓝领语言。它不是博士学位论文的材料,而是用于工作的语言。”

现实情况也是这样,Java 已经被大量的公司大规模使用:Google、Amazon、Netflix、Alibaba、Baidu、Tencent、ByteDance等。

Java 拥有良好的生态,拥有大量第三方库以及企业级框架。例如,在 Web 服务器方面,有 Apache Tomcat 、Eclipse Jetty 这样的被广泛使用的成熟项目;在大数据领域,Apache Hadoop、Apache Spark、Apache Kafka 等优秀项目都是使用 Java 开发的;在 Web 应用中,Spring MVC、Spring Boot、Spring Cloud 这样框架已经被大量企业大规模使用。

语言的生态显然是极其重要的,在软件工程领域,复用是一个重要的思想,绝大多数软件开发者都必须站在巨人的肩膀上,借助前人写好的“轮子”,来快速可靠地组装自己想要实现的那辆“汽车”

Java 是一门有着 20 多年历史的编程语言,或许有人会对 Java 嗤之以鼻,认为 Java 太过陈旧、太过笨重、已经不值得深入学习了。实际上,并不是这样的,无论你学或不学,Java 一直都站在那;无论你关心或不关心,Java 也一直在发展。

从 Java 诞生之初到今天,世界上已经有太多的语言变得不再流行了,例如:Pascal、Delphi、COBOL、Ada。但是,Java 不仅活了下来,而且成功地抢占了编程生态系统中的大片位置。

有句俗语叫做:“富不过三代。”Java 能取得今天的成就,固然与先天的优势有关,但更与后天的努力密不可分。例如,Java 5 引入的注解极大地简化了开发工作,使得依赖注入成为了可能;Java 7 中添加了 Fork/Join 框架,使得加速处理大型任务更加容易;Java 8 引入的 lambda 表达式和 Stream API 使得程序员们能够书写更简洁的代码、更容易地实现并行;Java 14 更引入了 Records 特性,让开发人员不用再编写大量的 POJO (Plain Ordinary Java Object),也不必再借助 Lombok 或者 IDE 自动生成这些机械化的代码。

同时,Java 带给人的那种“一字一板”的感觉,在软件工程领域也是非常重要的。

对于大多数开发者来说,阅读代码的时间会比写代码的时间多得多。我们不是在读自己写的代码的路上,就是在读别人写的代码的路上。Java 这种“一字一板”的语言,所带来的可读性,能够帮助我们更快地理解代码的意图,更快地去修改代码。毕竟,有时候太过简洁,写的时候可能很舒服,但会给后续的维护埋下太多的坑;而太过啰嗦,语法密度太高,又会使人摸不着头脑。所以,Java 是一门比较适合企业级大规模使用的语言。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java语言的优点有: 1. 跨平台性:Java是一种编译型语言,它的编译器将源代码编译成字节码,可以在任何支持Java虚拟机(JVM)的操作系统上运行。这种跨平台性使得Java成为开发跨平台应用程序的理想选择。 2. 面向对象:Java是一种真正的面向对象编程语言,支持封装、继承和多态等面向对象的特性。这种面向对象的设计使得Java代码更加模块化、可用、可维护。 3. 垃圾回收:Java具有自动内存管理机制,即垃圾回收器能够自动管理内存分配和释放。这减轻了开发人员的负担,避免了内存泄漏和野指针等问题。 4. 强大的生态系统:Java拥有庞大且活跃的开源社区,提供了丰富的类库和框架,如Spring、Hibernate等,可以加快开发速度,提高开发效率。 5. 高性能:Java通过JIT(Just-In-Time)编译器将字节码转换成机器码执行,并使用即时编译技术进行性能优化,使得Java应用程序能够达到接近原生代码的执行效率。 Java语言的缺点有: 1. 内存消耗较大:由于Java语言提供了自动内存管理机制,需要额外的内存空间来管理对象和垃圾回收。这导致Java应用程序的内存消耗较大。 2. 性能相对较低:尽管Java通过JIT编译器进行性能优化,但与C/C++等编译型语言相比,Java的执行效率相对较低。特别是在需要频繁进行数值计算等性能敏感的场景下,Java的性能不如其他语言。 3. 学习曲线较陡峭:由于Java是一种功能强大的语言,具有丰富的特性和复杂的语法规则,初学者可能需要花费更多时间和精力来学习和理解Java语言。 4. 部分开发工具较为笨重Java的一些开发工具和集成开发环境(IDE)相对较为庞大和复杂,占用较多的系统资源,并且启动速度较慢。这可能会对开发效率产生一定的影响。 5. 多线程编程复杂:尽管Java提供了丰富的多线程支持,但多线程编程对于初学者来说相对复杂和容易出错。需要合理地管理线程同步、共享资源等问题,避免出现线程安全的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值