Java会造成内存泄漏,多态,垃圾回收,clone

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java会造成内存泄漏,多态,垃圾回收,clone相关的知识,希望对你有一定的参考价值。

  会,比如一个足够大的整数减去一个足够大的负数,结果就会造成溢出。导致内存泄漏。

     Java实现多态的机制是什么?

     方法名称相同,方法的参数个数或者类型不相同。Java进行垃圾回收主要是对动态内存进行垃圾回收,一般是当内存不够用的时候进行垃圾回收,或者通过system.gc()来通知系统进行垃圾回收。但是不一定保证执行。 

    静态变量只能是静态方法才能去调用他。

super.clone(),这是clone()方法的默认行为,因为首先要把父类中的成员复制之后,然后才能复制自己的成员。

Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:

  1. public class A implements Cloneable {  
  2.     public String name;  
  3.   
  4.     public Object clone() {  
  5.         A o = null;  
  6.         try {  
  7.             o = (A) super.clone();  
  8.         } catch (CloneNotSupportedException e) {  
  9.             e.printStackTrace();  
  10.         }  
  11.         return o;  
  12.     }  
  13.   
  14. }
    1. A a1=new A();  
    2. A a2=new A();  
    3. a1.name="a1";  
    4. a2=a1;  
    5. a2.name="a2";  
    6. System.out.println("a1.name="+a1.name);  
    7. System.out.println("a2.name="+a2.name);  

以上是关于Java会造成内存泄漏,多态,垃圾回收,clone的主要内容,如果未能解决你的问题,请参考以下文章

垃圾回收机制

哪些操作会造成内存泄漏?

哪些操作会造成内存泄漏以及如何解决内存泄漏

jvm垃圾回收算法

爱创课堂每日一题101天-哪些操作会造成内存泄漏?

Java面试题52 java中会存在内存泄漏吗,请简单描述。