java中一些小知识

小知识

对象克隆,不调用对象的构造方法,
对象克隆分为,深拷贝,浅拷贝,
拷贝就是对堆内存的数据进行复制,
构造方法里的逻辑是不能拷贝的,因为不调用构造方法,
确保数据的安全性,
未知的操作会出问题,根据墨菲定律,成功总是会伴随着错误发生,
transient   不需要拷贝的数据用这个关键字修饰;
对象中含有对象数组或集合,都会一起拷贝
对象克隆不会执行类的构造方法

java的泛型在编译期有效,在运行期被删除,也就是说所有的泛型参数类型在编译后都会被清除掉。
这就是反射为什么可以突破泛型检查的原因


run()与start()的操作效率,
Math.hypot(Math.pow(924556156,i),Math.cos(i));//非常耗时;


不推荐使用stop()方法,会破会锁的原子性,强制中断,
interrupt();这个方法只是发送一个中断信号暗示,程序不一定会中断,随缘中断法。

Thread类中提供了一种礼让方法,使用yield()方法表示,它只是给当前正处于运行状态下的线程一个提醒,告知它可以将资源礼让给其他线程,但这仅是一种暗示,没有任何一种机制保证当前线程会将资源礼让。

yield()方法使具有同样优先级的线程有进入可执行状态的机会,当当前线程放弃执行权时会再度回到就绪状态。对于支持多任务的操作系统来说,不需要调用yeild()方法,因为操作系统会为线程自动分配CPU时间片来执行


锁的是对象,加了sychnozide,方法加了同步,就是锁住了对象。

猜你喜欢

转载自blog.csdn.net/z_ssyy/article/details/81709042
今日推荐