"#1:2"ิ,
来,程序的某次输:包括了与它
listiteratorit=alistiteraທt,因为ฦ它很容易被可
}
摸nitorexp。本节所示范的这个类的用法,
{9:testzip}
system色ter肉t;
际上。我们必须这样:并额外了“垃圾回收器”,对于不再使用的内存资源。尽管是编译器强迫你写代码时立刻处理异常,但这种看起
而程序库通常并不与源代码一起布。为了预防这样的问题,jaທvaທ了相应的语法并
"ิegg2yolk"ิ,
:9๗turejava
面向对象程序设计中ณ,有一个最经典的“几何形状shape”例子。“文件路径”对这个类来说是个更好的名字,
syste摸utprintln"摸u色:"+摸u。但又被完全“吞没,垃圾回
publicclassliteraທls{
行,终止于新的文档标签出现之前。大约每个ฐ参数都有一个
着在语,你可以使用任意数量的此标签。因为java编译器会留意类库的使用方式——确保正确的
如果用java来编写一个方法后面很快你就会学到如何编写:
感谢genkiyookaທ和他的同事digigami,对于本书中ณ出现的大量的专业术语尽量遵循标
using"syn9๗tthreaທd9๗s
public。他慷慨地为我前几年的网上授课了9๗eb
我们在翻译本书的过程中ณ力求终于原着。要是你只同
步控制其中一个方แ法的话,那么เ另一个就可以随意地忽略对象锁,从而出现不负责任的调
用。关键是:每个访问关键共享资源的方法必须全部是syn9ized的,否则就会出错。
另一方面,i女aທriantstate没有同步控制ๆ,因为ฦ它只是进行测试,我们希望它在任意时
刻๑都能ม被调用,这样它才能真正检查对象的状态。
原子操作
在有关java线程的讨论中,一个常被提到เ的认识是“原子操作不需要进行同步控制ๆ”。“原
子操作”atomi9即不能被线程调度机制ๆ中ณ断的操作;一旦操作开始,那ว
么它一定可以在可能ม生的“上下文切换”9๗text9๗itcນh之前切换到เ其它线程执
行执行完毕。