事物均有两面性,java也不例外。下面就介绍下java的优缺点。
1、简单:
java语法是简单明了的、易于编写、学习、维护、理解和代码是易于debug的。并且,java没有其他语言如:C/C++那么复杂,因为很多复杂的特性如:显示的指针概念、类存储、操作符重载等都已经从java中移除掉了。
2、跨平台:
java很受欢迎的一点就是跨平台,号称编译一次,到处运行。因为java自身提供出一款强大的的虚拟机来解决跨平台的问题。
3、面向对象:
java是一种面向对象的语言,它能帮助我们增强代码的灵活性和可重用性。利用OOPs的概念我们可以在其他程序中很轻松的重用对象。它可以用过将数据和方法绑定到单个单元中同时阻止被外部世界访问以提高程序的安全性。
4、安全:
java通过避免采用显示的指针以减少安全攻击和风险。因为,指针存储了另一个值得内存地址,而这个值可能导致内存被未经授权访问。而java的安全管理器可以为每一个应用定义存取规则。
5、高级语言、可读性高:
java与C++一样,与人类语言具有相似性、可读性高,语法简单易于维护。
6、内存自动回收:
java虚拟机(JVM)中内置于内存自动管理机制,当java程序中的对象不再使用时java虚拟机内存管理机制会自动触发并销毁对象回收内存,而不需要程序显示的做任何事情。
7、支持多线程:
java是一种多线程语言,即是在同一时刻可以有多个线程在执行。多线程可以帮助我们最大化CPU的利用率。多线程共享相同的内存空间,提升应用的效率和性能。各个线程之间独立运行互不影响。
java规范要求了运行期异常检查,这对Java程序的调试和排错有很大帮助,对Java的效率,却造成了很大的影响。
java自身的
内存管理方式决定了, 每当进行彻底的垃圾回收的时候,所有的Java应用程序必须停下来。这点非常的讨厌,得VM的开发者不得不挖空心思的去设计垃圾回收的算法。
10、开发周期短:
因为java是面向对象的编程语言,符合人类的思考模式,在开发大型互联网项目中,选择java的公司会越来越多。这和他的另外一个特性安全性相结合。所有会吸引很多企业选择它。
11、维护成本低:
java程序可独立于特定的硬件基础设施运行,即是可以在任何机器上运行(安装对应的JVM),这样可减少额外的维护成本。
12、稳定性:
java每次发布的版本都会增加一些新特性,让java变得更加的稳定。
13、高效内存分配策略:
java将内存主要分为堆区域和栈区域两部分,任何时候只要声明了一个变量,JVM就会为变量自动分配内存空间(堆空间/栈空间)。
当然他的好处还有很多。
1、环境搭建繁琐:
需要安装大量的软件来支撑其运行环境,语法相对太严谨不太灵活,修改代码不方便尤其是线上项目的更新。需要与其他软件相继成。
2、占用更多的内存:
因为java运行垃圾回收时会消耗更多的内存空间,影响系统的效率和性能。
3、运行速度相对较慢、性能相对较低:
由于java程序编译成字节码后需要解释成机器码,在JVM解释的过程中需要额外的抽象动作以及消耗更多的内存,并且,在垃圾回收的过程中需要消耗额外的CPU时间,这就降低了运行速度和性能。这也是java比原生的底层语言C或C++运行速度慢及性能低的原因。
4、代码不够简洁:
java代码是冗长的,即是有许多单词和许多长而复杂的句子,难以阅读和理解。
最后,觉得有用的话,可以点赞、收藏,加关注哟,要不下次就找不见了哟!