Java学习第三周总结

Java学习第三周
1.浅析C++与Java的内存分配
    (1)对于C++
    c++中有五大分区:栈区、堆区、代码区、全局/静态存储区、常量存储区
    栈区(stack) --编译器自动分配释放,主要存放函数的参数值,局部变量值等;
    堆区(heap) --由程序员分配释放;
    全局区或静态区 --存放全局变量和静态变量;程序结束时由系统释放,分为全局初始化区和全局未初始化区;
    字符常量区 --常量字符串放与此,程序结束时由系统释放;
    程序代码区--存放函数体的二进制代码
    (2)对于Java
    Java中有六个区域:栈、堆、寄存器、静态域、常量存储、非RAM存储
    寄存器:我们在程序中无法控制 
    栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 
    堆:存放用new产生的数据 
    静态域:存放在对象中用static定义的静态成员 
    常量池:存放常量 
    非RAM存储:硬盘等永久存储空间
基本数据类型只在栈区创建
在Java中创建对象时,main()方法首先进栈,在栈中创建变量,然后由new关键字在堆区开辟空间,栈区的变量指向堆区空间的地址值(引用数据类型);
当程序结束后,Java中的new关键字和c++不同,Java使用new创建对象后,对象内存的释放由编译器在该变量不使用后自动释放,而c++需要手动delete释放;


2.链式编程
当在调用方法时,不需要用变量来接受结果,可以继续调用其他方法;

3.Java中不可以多继承;可以多层继承;每个类都直接或间接地继承于object;

4.本周学习了Java中的API;类似于c++中的STL;
String和ArrayList;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值