Java琐碎知识

目录

问题1:什么是对象实例化(给一个类赋予对于意义的过程)

问题2:什么叫做面向对象编程语言

问题3:和对象实例化有关的语句

问题4:栈区(stack),堆区(heap),方法区

问题5:对java中引用如何理解


问题1:什么是对象实例化(给一个类赋予对于意义的过程)

   对象:纸上的一个草图,不占用任何空间

   实例化:将纸上的制作出来,实际占用空间

   实例化是指在面向对象的编程过程中,把用类创建的过程称为实例化,是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由  类名 对象名  =  new  类名(参数)构成。

问题2:什么叫做面向对象编程语言

面向对象(该让谁来做):把世界描绘成N个有主动性的“活物”之间的交互

面向过程(该怎么做):有一个上帝之手,通过制定一系列的规则来操纵一堆的死物

问题3:和对象实例化有关的语句

  主要有3个部分:1)属性定义时的赋值语句;2)构造代码块中的语句;3)构造方法中的语句

  执行顺序:1)和  2)按照书写顺序执行;前面完成以后,才执行第 3);子类的实例化时,必须要求父类的所有实例化相关语句全部完成之后,才开始执行子类的

问题4:栈区(stack),堆区(heap),方法区

1,java中的栈区和堆区是Java在内存(ram)中存放数据的地方

2,堆区

  • 存储的全部都是对象,每个对象包含一个与之对应的class信息
  • jvm中只有一个堆区,被所有线程共享,不存放基本类型和对象引用,只存放实物的本身。
  • 堆区的优势和劣势:优势是可以动态分配内存的大小,生存期间也不必事先告知编译器,java的垃圾收集器会自动拾取这些不在使用的数据。但缺点是要在运行时动态分配存储内存,存取速度比较慢。

3,栈区

  •   存放方法的局部变量,基本类型的变量区,执行环境上下文,操作指令区,线程不共享
  •   方法的某次执行时所需要的数据,以栈帧的形式,存放在栈区

4,方法区

  •   又称为静态存储区,存放class文件和静态数据,线性共享 

问题5:对java中引用如何理解

引用就是找到对象的线索,存放的不一定是地址。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值