Java与C++都拥有相当长的历史,且语法相当类似,并被众多业界巨头所采用。C++和Java哪个好?事实上,Java本来就是从C++衍生出来的。但是为什么大家都选择Java?本篇文章来给大家分析一下,个人观点,勿撕。
C++和Java哪个好?
语法:两种语言中的循环结构、类、变量定义以及条件运算符非常相近,意味着开发者能够轻松在不同项目中分别使用这两种语言,而不会遇到太多障碍。
入口点:在程序启动时,编译器或者解释器会查找开始执行的对应位置。Java与C++都以“main”作为入口点。面向对象:面向对象概念代表着语言利用类来表示程序中的组件。每个类包含有其定义的方法与属性。C++与Java都属于面向对象语言,这意味着程序将更具模块化特性,允许大家将代码复用至其它程序当中。
java侧重于大型企业级应用开发,C++侧重于底层应用开发。至于薪资方面呢,不管是C++还是java,有了多年项目经验后,工资都会比较高。现在网页,移动APP,都是通过http与服务器通讯,在http请求上面,JAVA处理较好,C++没有处理优势。
所以,后台服务器都会用到JAVA,而不一定用到C++(大型的项目才会用到)。
因此,为了找工作:选Java。为挑战自我:选C++。
80%的程序员都会更偏向于JAVA!C++通常适合那些需要“硬件级”操作的软件。二者之间的最大区别在于,C++更接近机器语言,因此其软件运行速度更快且能够直接与计算机内存、磁盘、CPU或者其它设备进行协作。另外,C++也能为游戏提供良好的运行性能。大家也可以利用Java操作硬件,但它不属于低级通用编程语言,因为其更加“安全”。因为Java不允许利用某些功能进行PC保护,因此它更适合较高级别的应用。Java是Android开发领域的王者,因此移动开发者无疑应该选择它作为项目基础。
同时,Java也常见于Web及桌面应用乃至服务器端应用。再有,Java的接纳程度更高,意味着我们更容易找到水平不错的Java开发者——而C++人才则相对稀缺。C++几乎可以实现任何功能,但除非拥有明显理由,否则我们不会将其作为首选。Java则是一切都足够——虽然并非最佳,但完全足够。而更重要的是,Java开发者群体更为庞大。
分享给大家看看,不论是用于巩固基础,还是在面试中提高竞争力都可以收藏一份,有空多看看,下面展示部分截图。
(一). 基础
1、Java 基本功
Java 入门(基础概念与常识)
Java 语法
基本数据类型
方法(函数)
2、Java 面向对象
类和对象
面向对象三大特征
修饰符
接口和抽象类
其它重要知识点
3、Java 核心技术
集合
异常
多线程
文件与 I\O 流
(二). 并发
1、并发容器
JDK 提供的并发容器总结
ConcurrentHashMap
CopyOnWriteArrayList
ConcurrentLinkedQueue
BlockingQueue
ConcurrentSkipListMap
2、线程池
使用线程池的好处
Executor 框架
(重要)ThreadPoolExecutor 类简单介绍
(重要)ThreadPoolExecutor 使用示例
几种常见的线程池详解
ScheduledThreadPoolExecutor 详解
线程池大小确定
3、乐观锁与悲观锁
何谓悲观锁与乐观锁
乐观锁常见的两种实现方式
乐观锁的缺点
CAS与synchronized的使用情景
(三). JVM
1、Java内存区域
概述
运行时数据区域
HotSpot 虚拟机对象探秘
重点补充内容
2、JVM垃圾回收
揭开 JVM 内存分配与回收的神秘面纱
对象已经死亡?
垃圾收集算法
垃圾收集器
3、JDK 监控和故障处理工具
JDK 命令行工具
JDK 可视化分析工具
(四)网络、linux、数据结构与算法、数据库、系统设计、必会工具、面试指南
因为篇幅有限,其他内容就不一一展示了,这本进阶笔记总共有512页。对于想要进阶的小伙伴来说应该会很有帮助,希望也能帮助到你。