它出现在java.lang.String.java中,Java只会在调用hashcode()之后生成哈希码,然后存储它,但为什么不在构造函数中创建哈希码呢?
相关代码:
if (h == 0 && count > 0) {
int off = offset;
char val[] = value;
int len = count;
for (int i = 0; i < len; i++) {
h = 31*h + val[off++];
}
hash = h;
}
Run Code Online (Sandbox Code Playgroud)
大部分都可以放在构造函数中.
如果我遇到以下情况:
ObserverA,ObserverB,ObserverC都继承自AbstractObserver.
我创建了一个观察者列表:
List<AbstractObserver> list = new ArrayList<AbstractObserver>();
list.add(new ObserverA());
list.add(new ObserverB());
list.add(new ObserverC());
Run Code Online (Sandbox Code Playgroud)
并且具有以下方法的某种处理程序在"MAIN"线程中运行:
public void eat(Food item) {
for(AbstractObserver o : list) {
o.eatFood(item);
}
}
public void drink(Coffee cup) {
for(AbstractObserver o : list) {
o.drinkCoffee(cup);
}
}
Run Code Online (Sandbox Code Playgroud)
我如何设计一个系统,我可以在不同的线程中运行每个eatFood和drinkCoffee方法的观察者?具体来说,当"MAIN"线程收到事件(饮料或吃方法被调用)时,如何在ObserverA,ObserverB和ObserverC中运行自己的线程中的eatFood或drinkCoffee方法?
我想为每个AbstractObserver子类实例设置不同的线程,因为目前我正在按顺序通知每个观察者,这可能会导致延迟.
我想将我的jupyter笔记本服务器的密码更改为其他内容.我在Jupyter的文档(http://jupyter-notebook.readthedocs.org/en/latest/public_server.html)上看到了如何为表面上的新服务器准备密码,而不是如何更改现有服务器.
我可以简单地说:
基本上,我问,因为我不想通过改变事物来混淆和/或搞乱认证系统.
是否有可能在iOS应用程序(包括iOS 8的任何版本)中设置(Linux)cron工作,无论应用程序是打开还是处于后台模式,它们都会在设定的时间运行?
例如,我想在11:00和23:00从iPhone运行网络GET操作.如果由于手机电源关闭而无法运行作业,那没关系.