垃圾:没有引用变量引用的对象
垃圾收集器:GC自动定期扫描Java对象的动态内存,将所有引用对象加上标记,再对象运行结束后,将标记清除,并将所有无标记的对象作为垃圾收集起来,释放垃圾对象所占的内存空间
后台线程:
线程:一个程序中运行的小的程序
垃圾收集器就是线程的一种,它在后台执行,所以被称为protected void finalize() throws Throwable{}
finalize()方法是所有Java对象都拥有的方法。垃圾收集器在回收对象时会自动调用对象的finalize()方法来释放系统资源
复制调用(主函数局部变量的值不会被改变)传到方法内部后,在方法执行完毕后,方法内部的局部变量会自动释放内存而被清除
形式参数数据类型为基本数据类型
ps:字符串对象所引用的字符串不会被改变
String s=new String("abc");
//无法将s所引用的字符串“abc"变为其他字符串,因为String类的成员方法不存在用来改变字符串的方法
调用一个参数形式参数为引用变量的方法
引用变量的种类:
类、接口、数组、枚举、注解
1/将abc.txt复制到A:\abc.txt文件中
命令行:java copy abc.txt A:\ abc.txt
main()方法中的形式参数String[] args可一接收两个参数,并将其保存下来
public class Object{
public static void main(String[] args){
for(int i=0;i<args.length;i++)
System.out.println(args[i]);
}
}
执行时,请输入下列命令:
java.exe Object 遮住 非常 喜欢 影戏
结果:遮住 非常 喜欢 影戏
main()方法形式参数args保存的信息如下:
args[0]="遮住";
args[1]="非常";
args[2]="喜欢";
args[3]="影戏";
public class Object{
String key;
Object(String key){
this.key=key;
}
Object getObject(){//返回Object对象
return this;// this是一个引用自身的的对象的引用
}
public static void main(String[] args){
Object ob1=new Object("hello"):
Object ob2=ob1.getObject();//ob2=ob1,引用赋值,ob2与ob1引用同一对象
ob2.key="Hi";
System.out.println(ob1.key);//Hi
}
}
return new 类名{......}
class Person{
String namel
Preson friend;//子类型引用
1/使用堆栈技术,若发生递归调用,方法的副本将被放在堆栈中,弹出时按照"先进后出“原则
原文:https://blog.51cto.com/14234228/2428246