Go~Java(一)

来源:互联网 发布:淘宝垃圾 编辑:程序博客网 时间:2024/05/16 11:24

最近有空,开始重新研读Bruce Eckel的经典之作--think in java。发现很多东西值得注意,现在就记录些

 

自己值得认为记录并去搞清楚的问题。

 

-------------------------------------无敌分割线----------------------------------------------------------------------

 

 

Q1: java中 除基本类型外的其他类型,即对象都存放在堆中,而一个对象都会有个 引用 去指向它,那么这个 引

 

用存放在哪里?栈?(当然,在java中 一个引用可以不用指向一个对象,比如:Stirng s; 当发送消息时会报错。)

 

A1:引用类型的变量存放在堆栈中。引用类型变量和它所指向的对象,分别存储在堆栈(stack)和堆(heap)中,

 

不同的引用类型变量可能指向同一个对象,但是相同的两个对象,指向它们的引用类型变量却不一定相同。

 

Q2:java中,基本类型变量都存储在堆栈中,堆栈中的存取速度是很快的,仅次于寄存器,但是操作堆栈是通过

 

移动上下指针来完成的,这就需要java系统知道存储在堆栈中所有变量确切的生命周期,那么它是如何去获知各

 

变量的生命周期的呢?

 

A2:堆栈中的变量,出了它的作用域,我们就可以说它的生命周期已经结束。

 

Q3:java有几种基本类型?8种?9种?

 

A3:java中有8种基本数据类型,9种基本类型。boolean,char,byte,int,float,double,short,long

 

还有种基本类型是 void 。9种基本类型都有自己对应的包装类型。void的包装类型是Void。所有的数值类型都有

 

正负号,不存在无符类型。

原创粉丝点击