Java学习中的一些问题(初学者问题)(50分)

  • 主题发起人 主题发起人 netfool
  • 开始时间 开始时间
N

netfool

Unregistered / Unconfirmed
GUEST, unregistred user!
1)如何得到控制台键盘输入的文字信息?即:如C++中cin的相同功能?
2)在一个class中,没有指定任何变量lifetime关键字(如private、protected)的数据成员它的数据范围默认是什么?
3)看看这句:
static myClass mc1 = new myClass();(假设myClass为一已经存在的类)
在创建了一个myClass的实例mc1后,Java的“垃圾收集器”会不会自动将mc1所占用的内存在“适当”的时候释放?如果不会,怎样手工释放?
 
new 操作,要自己释放
 
访问权限默认是public
 
to jsxjd
在Java下没有自己释放的道理!!呵呵,这根Delphi可不同!
而且java里对象的创建都是用New操作符的。对于垃圾回收的要求
是系统没有任何引用指向该内存时有可能被回收.也就是说,java
的垃圾回收机制是你只知道会导致垃圾回收,但你永远不知道系统
何时进行回收。这个时间是不确定的。
System.gc( );
可能会触发垃圾回收,但也是可能.
你建立的又是个static类型。永远也不会释放。
 
默认为friendly类型。包内的类访问不成问题。外面的就难了。
可以进行垃圾回收,但是时间是不确定的
 
System.in相当于c++中cin
默认是protected,对包是可访问的
static成员相当于c++中全局变量,生命一直到程序运行完时才结束,并被vm释放
 
1)如何得到控制台键盘输入的文字信息?即:如C++中cin的相同功能?
答:是System.in ;可以通过将它传给一个io类的构造函数来获取输入信息
2)在一个class中,没有指定任何变量lifetime关键字(如private、protected)的数据成员它的数据范围默认是什么?
答:默认是friendly
3)看看这句:
static myClass mc1 = new myClass();(假设myClass为一已经存在的类)
在创建了一个myClass的实例mc1后,Java的“垃圾收集器”会不会自动将mc1所占用的内存在“适当”的时候释放?如果不会,怎样手工释放?
答:当mc1的引用计数是0时,自动回收,可以通过mc1=null;让它回收,不过回收时间不确定,因为垃圾回收是个低优先级的线程
^_^,50分绝对值了
 
不好意思,这么多人回答了...分数不多,请见谅![:)]
 
后退
顶部