刚刚结束了java语法的学习,和之前学习的c++做一下对比.
1. 主要用途方面
java 适合待在服务器里,适合于后端开发,尤其是Web后端 ,有各种成熟的框架 , 有健全的生态环境。
手机领域,大数据领域等等
c++ 原本是想着做GUI, 结果发现MFC早就衰落, GUI逐渐脚本化。
c++用于底层开发,高性能领域 ,如游戏服务器后台,游戏开发,图像,流视频,引擎,底层通信等等
2.初始java语法
java语法比c++简单,提供了健全的内置类,如:String,StringBuffer。
最大的感受就是java舍弃了指针.
c++:
创建对象两种方法 ,讨论明示创建对象,返回对象不算
(1)类 对象(); 如: Student stu();
在函数(方法)栈区分配Student 对象,对象是临时对象,用stu变量名标示,函数结束即被销毁
(2) 类 对象=new 对象; 如: Student * stu=new Student();
在堆区分配Student对象,用 stu 指针标识,该对象不会自动销毁,需要由程序员决定何时销毁.
java :
Student stu=new Student();
对象全部在存储在 堆区,由 stu 标识符标识,此标识符不是指针,底层是指针,是引用数据类型,和c++语法中的引用类似,标识这保存在堆区的Student对象
可以标识其他对象 : Student stu1=new Student(); stu=stu1; stu转向标识stu1的对象,stu原本标识的对象就找不到了。
找不到不用担心,java由虚拟机释放内存,不用担心内存管理问题,所以学习c/c++的基础现在看来十分重要,因为有了底层的指针知识,才能更好地抽象
String str="123";
"123"会隐式地创建了String对象
str 标识该对象
str="321";
str并非赋值,而是重新标识到 "321"对象;
此时原来的"123"对象没有被引用,就可能被虚拟机销毁
数组也改成了堆区分配,数组类型是引用类型
今天先学习了这么多,也是我的第一篇博客,可能有很多写的不好的地方,和知识点理解错误,我会日后重新纠正,也欢迎大家批评建议
原文地址:https://www.cnblogs.com/xiejianan/p/11331273.html