所以我的问题是关于Java中的变量访问速度.今天在我的"CS"(如果你可以称之为)中,老师提出了类似下面的列表示例:
public class ListExample<T> {
private Node<T> head;
private Node<T> tail;
private class Node<T> { /* ... */ }
public void append(T content) {
if (!isEmpty()) {
Node<T> dummy = new Node<T>(content);
head = dummy;
tail = dummy;
head.setNext(head);
// or this
dummy.setNext(dummy);
} else { /* ... */ }
}
// more methods
// ...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:电话head.setNext(head)会慢dummy.setNext(dummy)吗?即使它不明显.我很想知道这个,因为head很明显,类的实例变量和虚拟是本地的,所以本地访问会更快吗?
当用户使用Google Analytics(analytics.js)离开页面时,我正在尝试跟踪事件.虽然不知道用户将如何离开,但可能是因为外部链接或只是关闭标签.所以我的想法是挂钩到beforeunload或unload事件然后:
window.addEventListener("beforeunload", function() {
ga('send', 'event', 'some', 'other', 'data');
});
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,对GA服务器的请求是同步还是我可以用hitCallback属性以某种方式强制该行为?如果那是不可能的,我还能怎样做到这一点?优选地,无需为用户设置超时或固定等待时间!