c++与java的应用区别

文章目录

  • 简介
  • 不同点
    • 关注点
    • 接口调用
    • 优化
    • 运行方式
    • 知识架构
    • java不擅长的地方
  • 基本就这些了

简介

一点粗鄙的总结,肯定不全面。
java我只接触了 后端部分。

不同点

c++基本上你可以应用在所有的领域,但是在后端方面,会被java打的妈都不认识。
c++像万能工具,java就像是专用工具。万能工具优化的再好也不如专用工具。
c++适合造轮子,java是使用轮子。

java调用的东西,往下挖,你会发现都是c/c++,但是上层调用,就是java比较好使。 java的锁,跟到jvm,你就会发现也是调用了c/c++。
(别纠结了,jvm都是c/c++写的,因为效率)

关注点

c++关注点是解决一个个技术点,实现某项功能,eg:截屏、格式转换、消息转发、人脸识别……
java的关注点是系统整合,解决用户的某一类需求,eg:财务系统、客户管理系统、车辆管理系统…

c++让你看脚下,java给了你全局观。

接口调用

c++使用是各种原生的api接口(第三方库、操作系统的、驱动文件的~),比较偏底层一点点。你要好好考虑多线程、事件处理、阻塞、通信、硬件、操作系统等等细节。
java也是使用的是各种jar包(也是各种第三方库),但是他们在后端这个领域形成了自己的一套成熟的解决方案,就固定的使用那么几个包。语法固定、注释固定、
代码组织格式固定。

优化

c++的优化方面,多线程、减少内存复制、利用多核、GPU算……
java的优化方面,绝大部分是架构上的优化,微服务、分布式、dns加速、升级虚拟机配置。
java代码级的优化,基本上不存在的(当然循环调用数据库这种还是要注意的)。。。因为像是jvm调优、高并发啥的,这都是高级内容。

运行方式

c++你要准备各种依赖的dll到对应的目录下。

java简单,打出一个jar包之后,运行(需要预先装好java运行环境)

java -jar xxxxxx.jar

就好了。

知识架构

c++,各种专有领域,音视频、驱动、图像处理、界面……
java,网络、数据库、消息转发,定时任务。

c++你动不动就崩溃,java你想写的崩溃了都很难。

简单点来说c++玩的杂;
java最最底层玩的是数据库,增删改查,主要操作对应是字符串。

c++你可能要往下跟好几层,才能看到最底层的接口。
java一般代码你往下跟个3层,就能看到数据库操作函数了。

java不擅长的地方

让java写GUI程序(界面编程),放弃吧,太丑了。
让java调用系统接口要JNI的方式,麻烦。

基本就这些了

你可能感兴趣的:(java,c++,开发语言)