浅谈Java与其他语言的区别及使用场景(个人理解)

Java 与 php 

        因为工作关系,之前有大概半年的php开发经验,站在个人的角度上总结下php及java的优劣。

  • 基础入门

        Java入门更难一些。抽象、封装、继承、多态、反射、泛型、多线程、锁等有大量的概念及工具框架需要掌握。

        php 相对容易些,c语言基础上学 php很容易理解及运用。也有一些框架例如 thinkphp、laravel 等个人认为引用了java、C++的一些面向对象思想,但是总体上掌握要更简单些。

  • 语言特性 

          java 是面向对对象编程语言,需要编译才能够运行。php是一种服务器脚本语言,弱语言类型。

        在使用上java的可复用性更强,举例数组的使用。php属于弱类型语言,不同类型的数据都能放在一个数组中,数组更像是一种融合的数据结构。要对数组中的数据进行校验就变的复杂而繁琐。在接口或者方法中如果参数是数组,就很难知道其代表的意义,而导致业务代码的复用性和可读性对Java来说更差一些。

        还有一个在方法的定义上,php的api并不是特别统一,驼峰及下划线的写法都有。Java在方法或者接口的一致性上做的更好。

  • 安全性

        php脚本语言,能够直接看到源码

        java 的安全性更高,有类验证及加载机制。程序是字节码,破解难度更高。

  • 性能

        Java的性能要明显优于php,个人觉得原因是:Java 的进程是常驻的,一次执行加载后,除了虚拟机栈部分的数据需要执行的时候加载,其他大部分数据(文件)已经加载到方法区中,并且JDK迭代了很多的版本,做了大量性能优化,执行效率高。

        php进程在执行的时候启动,执行完成后,释放内存,然后关闭进程。每次执行都会走一边加载初始化的过程,性能相对较低。

         另外php每个接口执行都会启动一个进程,每个进程都是单独的资源。所以在资源的利用率上也要低于Java。

  • 分布式、微服务

        php 的分布式结构相对于Java更单一,服务节点的横向扩充,没有像Spring框架那样的生态多样性。

  • 使用场景

        php适合于快速开发,中小型应用系统,入门更简单,开发成本更低。

        java 适合较为大型的企业级项目。

Java 与 C++

        个人使用C++的场景很少,了解不多,借用网上的观点。

  • 基础入门

        Java 相对于C++更简单,Java没有指针,有自动的内存回收机制,学起来上更简单。

  • 语言特性

        都是面向对象语言,都属于强类型语言。在程序设计上思维方式是相通的。C++ 指针结构,允许程序自己分配内存,管理内存。

  • 编译&&解释

        C++ 编译完成后能直接运行,Java 不能直接运行,需要编译成字节码,然后通过解释器在与机器进行指令交互。

  • 安全性

        Java 是内存安全语言,能够数组检查越界,抛出异常;C++ 一旦分配的参数超出资源范围,则会引起错误甚至严重崩溃。

  • 性能

        C++ 直接跟机器交互,性能更好

  • 使用场景

        C++ 用于一些非常复杂而又要求极高效率的领域,比如一些基础库、大型游戏等设施的开发。

        Java 适用于大型的企业级应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值