标签: order-of-execution

如何使用WAR中的注释定义servlet过滤器的执行顺序

如果我们在WAR自己定义特定于webapp的servlet过滤器web.xml,那么过滤器的执行顺序将与它们在中定义的顺序相同web.xml.

但是,如果我们使用@WebFilter注释定义这些过滤器,过滤器的执行顺序是什么,我们如何确定执行顺序?

web.xml servlets java-ee servlet-filters order-of-execution

163
推荐指数
2
解决办法
10万
查看次数

为什么这些JavaScript代码片段表现不同,即使它们都遇到错误?

var a = {}
var b = {}

try{
  a.x.y = b.e = 1 // Uncaught TypeError: Cannot set property 'y' of undefined
} catch(err) {
  console.error(err);
}
console.log(b.e) // 1
Run Code Online (Sandbox Code Playgroud)

var a = {}
var b = {}

try {
  a.x.y.z = b.e = 1 // Uncaught TypeError: Cannot read property 'y' of undefined
} catch(err) {
  console.error(err);
}

console.log(b.e) // undefined
Run Code Online (Sandbox Code Playgroud)

javascript operators order-of-execution

106
推荐指数
2
解决办法
6146
查看次数

TestNG中的测试执行顺序

如何自定义TestNG中测试的执行顺序?

例如:

public class Test1 {
  @Test
  public void test1() {
      System.out.println("test1");
  }

  @Test
  public void test2() {
      System.out.println("test2");
  }

  @Test
  public void test3() {
      System.out.println("test3");
  }
}
Run Code Online (Sandbox Code Playgroud)

在上面的套件中,测试的执行顺序是任意的.对于一次执行,输出可以是:

test1
test3
test2
Run Code Online (Sandbox Code Playgroud)

如何按照编写顺序执行测试?

testing testng order-of-execution

71
推荐指数
7
解决办法
12万
查看次数

C 中数组索引(相对于表达式)的求值顺序

看看这段代码:

static int global_var = 0;

int update_three(int val)
{
    global_var = val;
    return 3;
}

int main()
{
    int arr[5];
    arr[global_var] = update_three(2);
}

Run Code Online (Sandbox Code Playgroud)

哪个数组条目得到更新?0 还是 2?

C 的规范中是否有部分指示在这种特殊情况下操作的优先级?

c language-lawyer order-of-execution

47
推荐指数
2
解决办法
2646
查看次数

继承中调用构造函数/析构函数的顺序

关于创建对象的一个​​小问题.说我有这两个类:

struct A{
    A(){cout << "A() C-tor" << endl;}
    ~A(){cout << "~A() D-tor" << endl;}
};

struct B : public A{
    B(){cout << "B() C-tor" << endl;}
    ~B(){cout << "~B() D-tor" << endl;}

    A a;
};
Run Code Online (Sandbox Code Playgroud)

并在主要我创建一个实例B:

int main(){
    B b;
}
Run Code Online (Sandbox Code Playgroud)

请注意,B派生自A并且还具有类型的字段A.

我想弄明白这些规则.我知道构造一个对象时首先调用它的父构造函数,反之亦然.

字段怎么样(A a;在这种情况下)?什么时候B创建,什么时候会调用它A的构造函数?我还没有定义初始化列表,是否有某种默认列表?如果没有默认列表?关于破坏的同样问题.

c++ constructor order-of-execution call-hierarchy

38
推荐指数
3
解决办法
8万
查看次数

jQuery:强制执行document.ready()调用的执行顺序

我正在开发一个包含多个代码块的代码库,在document.ready()(jQuery)上设置一些行为.有没有办法强制在任何其他块之前调用一个特定的块?

背景:我需要在自动化测试环境中检测JS错误,因此我需要在任何其他JS代码执行之前开始记录JS错误的代码.

jquery document-ready order-of-execution

30
推荐指数
3
解决办法
2万
查看次数

在python中以特定顺序读取文件

假设我在一个文件夹中有三个文件:file9.txt,file10.txt和file11.txt,我想按照这个特定的顺序阅读它们.谁能帮我这个?

现在我正在使用代码

import glob, os
for infile in glob.glob(os.path.join( '*.txt')):
    print "Current File Being Processed is: " + infile
Run Code Online (Sandbox Code Playgroud)

它首先读取file10.txt然后是file11.txt,然后是file9.txt.

有人可以帮助我如何获得正确的订单吗?

python file order-of-execution

30
推荐指数
2
解决办法
5万
查看次数

在C ++ 17中的对象生存期之外调用非静态成员函数

以下程序在C ++ 17和更高版本中是否具有未定义的行为?

struct A {
    void f(int) { /* Assume there is no access to *this here */ }
};

int main() {
    auto a = new A;
    a->f((a->~A(), 0));
}
Run Code Online (Sandbox Code Playgroud)

C ++ 17保证a->f在评估A调用的参数之前先对对象的成员函数进行评估。因此,来自的间接->定义是明确的。但是在输入函数调用之前,将评估参数并结束A对象的生存期(但是请参见下面的编辑内容)。通话是否仍存在未定义的行为?是否可以通过这种方式在对象的生存期之外调用它的成员函数?

[expr.ref] /6.3.2的值类别a->f为prvalue ,[basic.life] / 7仅禁止对引用了生存期对象的glvalue进行非静态成员函数调用。这是否表示通话有效?(编辑:如评论中所讨论,我可能会误会[basic.life] / 7,它可能确实适用于此。)

如果我a->~A()delete anew(a) A(用#include<new>)替换析构函数调用,答案是否会改变?


关于我的问题的一些详尽的编辑和说明:


如果我将成员函数调用和析构函数/删除/放置新函数分成两个语句,我认为答案很明确:

  1. a->A(); a->f(0):UB,因为a在其生命周期之外会进行非静态成员调用。(不过请参见下面的编辑)
  2. delete a; a->f(0):同上
  3. new(a) …

c++ language-lawyer order-of-execution c++17 c++20

28
推荐指数
2
解决办法
884
查看次数

如何让javascript代码按顺序执行*

好的,所以我很欣赏Javascript不是C#或PHP,但我一直回到Javascript中的一个问题 - 不是JS本身,而是我使用它.

我有一个功能:

function updateStatuses(){

showLoader() //show the 'loader.gif' in the UI

updateStatus('cron1'); //performs an ajax request to get the status of something
updateStatus('cron2');
updateStatus('cron3');
updateStatus('cronEmail');
updateStatus('cronHourly');
updateStatus('cronDaily');

hideLoader(); //hide the 'loader.gif' in the UI

}
Run Code Online (Sandbox Code Playgroud)

事实上,由于Javascript强烈希望在代码中跳跃,加载器永远不会出现,因为'hideLoader'函数直接运行.

我怎样才能解决这个问题?或者换句话说,如何按照我在页面上写的顺序执行javascript函数...

javascript ajax order-of-execution

20
推荐指数
4
解决办法
3万
查看次数

Java重新排序会影响System.currentTimeMillis()吗?

根据Java Memory Model,只要执行结构良好,指令就可以重新排序.

所以我想知道,以下代码是否可能产生以下输出?

[代码] [在同一个主题中]

long a = System.currentTimeMillis();
long b = System.currentTimeMillis();
long c = System.currentTimeMillis();
Run Code Online (Sandbox Code Playgroud)

[输出]

a == 10, b == 20, c == 15
Run Code Online (Sandbox Code Playgroud)

如果不可能,那么JVM /实现会做些什么来防止这种情况发生?

java java-memory-model order-of-execution

18
推荐指数
1
解决办法
512
查看次数