以上这个问题特别的基础。但是却经常被人忽略,因此导致我花半天的时间去查找原因。所以,敦促大家看书的时候一定要认真,不要一带而过,要稍微理解一下。
代码是这样子的。
class BoundedBuffer {
final Lock lock = new ReentrantLock();
final Condition notFull = lock.newCondition();
final Condition notEmpty = lock.newCondition();
final Object[] items = new Object[100];
int putptr

本文探讨了一个基础但易忽视的问题——在Java中,main方法尝试访问未初始化的类变量导致的错误。代码示例显示,类内的实例变量会由JVM赋予默认值,而局部变量必须显式初始化。静态方法不能访问实例变量,因为它们在对象创建前即可调用,而实例变量依赖对象实例。理解这些基础知识能避免不必要的错误。
最低0.47元/天 解锁文章
1417

被折叠的 条评论
为什么被折叠?



