时隔两年没有怎么碰Java了,最近开始学习回顾下。在这里记录下学习的点滴,持续更新。。。希望对c++\java等不同语言有较为清晰的认识,至少不要学完以后,哪一个都不会了。。。

Java 优势:

1、自动垃圾回收机制,虽然不一定每次回收成功,但是编程人员基本不用再操心内存释放这一头疼问题。当然创建对象必须使用new  标识符。

2、使用package包来区分不同的类的归属,不同包的类可以重名。同一包中的类还可以放在不同的路径下,这是灵活性的一面。缺点就是要正确使用不同包中的相同类名的类。

3、反射机制。

4、接口、抽象类比较明显的标志符。

5、可移植性比较强。可跨平台使用,基本不用改代码。

C++ 优势:

1、代码更加原生接近系统底层,执行效率更高,可定制型更强。程序几乎可以定制自己想要的任何特性。

2、使用智能指针管理内存,虽然也有些麻烦,但并不难学。优点是不用手动释放内存,缺点是注意不要造成循环引用。当然,不同的智能指针使用的具体场合也不同。

3、优点也是弱点,多继承。使用多继承可以很方便的继承各种特性的类,减少代码臃余,提高代码可重用性。但是类的层次继承多了以后,难免会出现子类的其中一个父类和另一个父类都继承了同一个父类,形成多重继承。比如都继承了supportweakcallback,这个常见类。再次绑定支持弱引用的回调函数的时候就比较尴尬了,造成子类为了清晰的说明到底用谁的supportweakcallback的时候,还要自己再继承一遍。。。还有就是每个类当中的重名成员函数与变量,也是比较蛋疼的地方。

Java 与C++的各种优势与弱点--学习更新中的更多相关文章

  1. Java 与 C++ 不一样的地方(持续更新中...)

    本文仅以记录 Java 与 C++ 不同之处,以备随时查询. Java 程序运行机制 Java 是一门编译解释型的语言,即它在运行的过程中既需要编译也需要解释.如下图表示的是 Java 程序运行机制: ...

  2. 一年java工作经验的面试题总结(持续更新中)

    本人是17年6月份毕业的,3月份出来实习,算起来也是工作一年了吧,金三银四,博主也考虑换一份工作,于是最近面试了几家,总结一下面试中的问题,大家一起交流学习. 第一次面试  ①说下java类的加载 ② ...

  3. java中enum----枚举的学习(更新中)

    package com.hdmaxfun; import java.util.Scanner; import com.icpc.Icpm; import java.util.HashMap; impo ...

  4. java学习(更新中)

    class Test { public static void main(String[] args) { System.out.println("Hello World!"); ...

  5. 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍) ...

  6. JAVA第十周《网络编程》学习内容总结

    JAVA第十周<网络编程>学习内容总结 学习内容总结 1.初听到网络编程四个字可能会觉得很困难,实际上网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据,把数据发送到指定的位置, ...

  7. 20172305 2018-2019-1 《Java软件结构与数据结构》第五周学习总结

    20172305 2018-2019-1 <Java软件结构与数据结构>第五周学习总结 教材学习内容总结 本周内容主要为书第九章内容: 查找是在某个项目组中寻找到某一指定目标元素,或者确定 ...

  8. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  9. JAVA程序猿怎么才干高速查找到学习资料?

    JAVA程序猿怎么才干高速查找到学习资料? JAVA学习资料在互联网上较为零散,并且大多是英文的.以下介绍3种方式,让程序猿能够高速地找到自己想要的资料. 一.导航站点: 有非常多类似hao123的站 ...

随机推荐

  1. 【ASP.NET】DataTable序列化

    问题描述 主要解决DataTable数据转化为JSON,从Controller传递数据给View的问题. 1   内容区 提供如下方法,仅供参考 public static class ObjectE ...

  2. 截屏 iOS

    #pragma mark - 截屏 + (UIImage *_Nonnull)screenShotWithController:(UIViewController *_Nonnull)controll ...

  3. 从初识Maven到使用Maven进行依赖管理和项目构建

    前些天就安装了Maven,以备自己以后整合项目用,尤其是我们的ssh,ssm项目.想必好多人在开始的时候并不清楚Maven是什么,它能够帮助我们干什么. 所以在学习Maven之前我们一定要知道它是什么 ...

  4. 破解iframe微信推文(图片)防盗链

    $.ajaxPrefilter(function(options) { if(options.crossDomain && jQuery.support.cors) { var htt ...

  5. 我与 windows kernel 的一段时光

    写在前面 本科毕业设计是实现一个基于 windows 的透明加密过滤系统.由此对 windows kernel development,尤其是 file system 进行过较为深入的探索.对于防终止 ...

  6. Java中的集合概述

    Java中的集合类有两个重要的分支,分别是接口Collection(包括List,Set等)和接口Map. 由于HashSet的内部实现原理使用了HashMap,所以我们先来了解Map集合类. 1.H ...

  7. jstree 学习

    最近的项目用到了jstree,因为对官方文档理解不充分,所以很多功能都是在网站上搜索再进行使用的.(我只是大自然的搬运工) 对每一级的节点,右键后出现不同的结果. 在jstree中右键是由 conte ...

  8. Beautiful Paintings

    There are n pictures delivered for the new exhibition. The i-th painting has beauty ai. We know that ...

  9. php生成雪花图像(不美观请见谅)

    <?php /*  //新建图像 //雪花  @header("Content-Type:image/png"); $w = 500; $h = 500; //create ...

  10. JVM类加载机制以及类缓存问题的处理

    一:JVM类加载机制 和 类缓存问题的处理 当一个java项目启动的时候,JVM会找到main方法,根据对象之间的调用来对class文件和所引用的jar包中的class文件进行加载(其步骤分为加载.验 ...