首页 > 试题广场 >

下面哪些说法是错误的 ?( )

[不定项选择题]

是错 ?  

  • 用New运算符来创建的对象,在JVM退出时才会被做垃圾回收。
  • 判断一个对象是否可以被垃圾回收条件为是否还有对该对象的引用 。
  • java函数的参数传递规定。所有的原始类型(如整数)和对象( 使用new来创建的)都为地址传递 。
  • java函数支持重载。但函数必须有一个參数或返回值的类型不同或个数不同。
用New创建的对象在JVM中通过GC Roots进行搜索判断是否可回收,但该对象可被回收时,如果需要也可执行finalize()方法自救。
引用计数法在JVM中不适用,因为会出现循环引用的问题,那么循环引用的对象就永远不能被回收。
Java中都是值传递。
java方法重载中,方法的参数类型或个数不同,但返回值相同。
发表于 2019-09-18 11:05:13 回复(1)

因为java中采用可达性分析算法判定对象是否已死。如果GC Roots和一个对象之间没有可达路径,就判定该对象不可达,也就是没有该对象的引用了,但是被判定为不可达对象之后不一定就会被判定为可回收对象,至少要进行两次标记后才会判定为可回收对象。

发表于 2019-03-05 22:01:13 回复(0)
给对象引用赋值为null,并且该对象无其他引用,gc会标记该对象为垃圾,并在不确定的时间进行垃圾回收,所以a,b错误。
对于c,原始类型是值传递。
对于d,返回值不能作为重载依据。
发表于 2018-12-09 17:24:43 回复(1)
b应该是循环引用的原因吧,真的必须显示为null吗?不应该啊
发表于 2019-02-25 20:39:04 回复(0)
除了无对该对象的引用外,还需要显式地将对象标为null
发表于 2019-02-18 23:23:10 回复(0)
对于B,除了无对该对象的引用 外,还需要显式地将该对象标为null
发表于 2018-12-11 13:53:37 回复(0)