Java 与C++的各种优势与弱点--学习更新中
时隔两年没有怎么碰Java了,最近开始学习回顾下。在这里记录下学习的点滴,持续更新。。。希望对c++\java等不同语言有较为清晰的认识,至少不要学完以后,哪一个都不会了。。。
Java 优势:
1、自动垃圾回收机制,虽然不一定每次回收成功,但是编程人员基本不用再操心内存释放这一头疼问题。当然创建对象必须使用new 标识符。
2、使用package包来区分不同的类的归属,不同包的类可以重名。同一包中的类还可以放在不同的路径下,这是灵活性的一面。缺点就是要正确使用不同包中的相同类名的类。
3、反射机制。
4、接口、抽象类比较明显的标志符。
5、可移植性比较强。可跨平台使用,基本不用改代码。
C++ 优势:
1、代码更加原生接近系统底层,执行效率更高,可定制型更强。程序几乎可以定制自己想要的任何特性。
2、使用智能指针管理内存,虽然也有些麻烦,但并不难学。优点是不用手动释放内存,缺点是注意不要造成循环引用。当然,不同的智能指针使用的具体场合也不同。
3、优点也是弱点,多继承。使用多继承可以很方便的继承各种特性的类,减少代码臃余,提高代码可重用性。但是类的层次继承多了以后,难免会出现子类的其中一个父类和另一个父类都继承了同一个父类,形成多重继承。比如都继承了supportweakcallback,这个常见类。再次绑定支持弱引用的回调函数的时候就比较尴尬了,造成子类为了清晰的说明到底用谁的supportweakcallback的时候,还要自己再继承一遍。。。还有就是每个类当中的重名成员函数与变量,也是比较蛋疼的地方。
Java 与C++的各种优势与弱点--学习更新中的更多相关文章
- Java 与 C++ 不一样的地方(持续更新中...)
本文仅以记录 Java 与 C++ 不同之处,以备随时查询. Java 程序运行机制 Java 是一门编译解释型的语言,即它在运行的过程中既需要编译也需要解释.如下图表示的是 Java 程序运行机制: ...
- 一年java工作经验的面试题总结(持续更新中)
本人是17年6月份毕业的,3月份出来实习,算起来也是工作一年了吧,金三银四,博主也考虑换一份工作,于是最近面试了几家,总结一下面试中的问题,大家一起交流学习. 第一次面试 ①说下java类的加载 ② ...
- java中enum----枚举的学习(更新中)
package com.hdmaxfun; import java.util.Scanner; import com.icpc.Icpm; import java.util.HashMap; impo ...
- java学习(更新中)
class Test { public static void main(String[] args) { System.out.println("Hello World!"); ...
- 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍) ...
- JAVA第十周《网络编程》学习内容总结
JAVA第十周<网络编程>学习内容总结 学习内容总结 1.初听到网络编程四个字可能会觉得很困难,实际上网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据,把数据发送到指定的位置, ...
- 20172305 2018-2019-1 《Java软件结构与数据结构》第五周学习总结
20172305 2018-2019-1 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 本周内容主要为书第九章内容: 查找是在某个项目组中寻找到某一指定目标元素,或者确定 ...
- java视频教程 Java自学视频整理(持续更新中...)
视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...
- JAVA程序猿怎么才干高速查找到学习资料?
JAVA程序猿怎么才干高速查找到学习资料? JAVA学习资料在互联网上较为零散,并且大多是英文的.以下介绍3种方式,让程序猿能够高速地找到自己想要的资料. 一.导航站点: 有非常多类似hao123的站 ...
随机推荐
- 阿里云部署Docker(4)----容器的使用
通过上一节的学习,我们知道怎样执行docker容器,我们执行了一个普通的,一个后台的,我们还学习了几个指令: docker ps - Lists containers. docker logs - S ...
- Automatic Preferred Max Layout Width is not available on iOS versions prior to
警告:Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0 如: 找到: : 改动为:
- gulp提高微信小程序开发效率
最近公司要求把一套公众号项目的页面迁移到小程序,也就意味着要重新敲一份代码,不能更繁琐了,为了节省时间,提高迁移效率,就决定自己动手用gulp搭一个简易的小程序框架,再记录一下搭建过程.希望有大神 ...
- 关于IntelliJ IDEA有时候快捷键无效的说明
1.这个原因最大的因素可能就是 搜狗输入法了, 关闭搜狗输入法,ok, 2.也可能是qq快捷键冲突,关闭它. 3.也可能是搜狗输入法快捷键冲突,关闭它.
- 《微软的软件测试之道》【PDF】下载
<微软的软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382291 内容简介 书的第三部分探讨某些我们工作中使用过的 ...
- 《如何把事情做到最好》【PDF】下载
<如何把事情做到最好>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382279 内容简介 <如何把事情做到最好>编辑 ...
- 解决win7中防火墙的0x6D9问题的方法
问题: 打开windows防火墙管理单元时出错:代码0x6d9" 解决方法: 下一步-->下一步-->完成.
- 4.前端基于react,后端基于.net core2.0的开发之路(4) 前端打包,编译,路由,模型,服务
1.简要的介绍 学习react,首先学习的就是javascript,然后ES6,接着是jsx,通常来说如果有javascript的基础,上手非常快,但是真正要搭建一个前端工程化项目,还是有很多坑的 搞 ...
- JS判断终端
//判断手机终端 if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { window.location.href = 'mobil ...
- iOS实现类似QQ的好友列表,自由展开折叠(在原来TableView的基础上添加一个字典,一个Button)
//直接代码 只包含 折叠展开字典的处理搭建#import "CFViewController.h" @interface CFViewController ()<UITab ...