java方法参数传递

java方法参数有两种类型
(1)基本数据类型
java方法中基本数据类型作为参数被传递到某个方法中时,其值不会被改变。因为被改变的值是该参数的一个拷贝,当方法体运行结束时,该拷贝被丢弃。
(2)对象引用
对象引用的修改会保留。当变量作为对象拷贝在被调用方法中使用时,其也会作为原对象的引用。
java中的对象引用不同于c语言中的引用调用(指针传地址)
例如编写一个方法交换两个方法的引用
swap(Object a,Object b){
Object temp=a;
a=b;
b=temp;
}
此方法运行结束后,两个对象引用仍指向原来的引用,不会发生改变。

下面总结一下 Java 中方法参数的使用情况 :
• 一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)。
• 一个方法可以改变一个对象参数的状态。
• 一个方法不能让对象参数引用一个新的对象。

一个类初始化顺序
1.所有数据域被初始化,0 false null
2.所有初始化语句和初始化块
3.构造器如果在第一行调用其他构造器,先进入其他构造器
4.构造器

java反射机制
反射机制指的是程序在运行时能够获取自身的信息。

只要用到反射,先获得Class对象
通过getSuperclass()找到超类以后再去尝试获得其private方法和对象。

线程生命周期
创建并运行线程
新建线程
用new创建一个线程,此时系统没有为其分配资源,处于创建状态。
可通过set来设置各种属性。setPriority,setName,setDaemon

就绪状态
使用start()方法启动一个线程,系统为该线程分配资源,如果某线程执行了yield(),该线程会被暂时剥夺CPU资源,重新进入就绪状态。

运行状态
java运行系统通过调度选中一个处于就绪状态的线程,使其占有CPU并转为运行状态。此时,系统真正执行线程的run方法

阻塞状态
一个正在运行的线程因某些原因不能继续运行,就进入了阻塞状态。
sleep(),线程对象会被置入一个阻塞集内,等待超时而自动苏醒。
多个线程试图进入同步区域,没有进入该同步区域的线程会被置入锁定集,直到获得该同步区域的锁,进入就绪状态。
当线程执行了某个对象的wait()方法,线程会被置入对象等待集中,直到执行了该对象的notify()方法,wait()/notify()方法的执行要求线程首先获取到该线程的锁。

死亡状态
线程在run()方法执行结束后进入死亡状态。此外,如果线程执行了interrupt()或stop()方法,那么它也会以异常退出的方式进入死亡状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值