jsp页面中的变量的作用域规则是什么?使用标记将页面添加到页面中?
我的理解是,一个包含的页面本质上是将verbatum复制到页面中,这将使我假设如果我在Parent jsp中声明了一个变量,它将在子节点中可用.
然而Eclipse抱怨这一点(可以理解的是,因为我可以将页面包含在任何页面中或者单独使用它们.当我尝试启动tomcat服务器时,它无法启动.
我基本上想从父页面的会话中获取几个变量,并在子页面中使用它们.这不起作用.
所以我想到了从每个子页面的会话中获取它们的想法,但是我想知道我是否可以给它们所有相同的变量名称,或者如果我必须为它们选择不同的变量名称每个页面都没有冲突.
如果我在父jss中导入log4net,那么我还需要在子代码中导入它吗?
在我的业力测试中使用Chrome时,我经常(超过50%的运行)看到每个测试都由Chrome执行两次.您可以在下面找到示例输出和我的配置.
我怎么能阻止这个?原因是什么?
karma start --single-run --browsers Firefox,Chrome
INFO [karma]: Karma v0.12.17 server started at http://localhost:9876/
INFO [launcher]: Starting browser Firefox
INFO [launcher]: Starting browser Chrome
INFO [Chrome 36.0.1985 (Linux)]: Connected on socket RV8G8p63bCLQGaAJW9Hc with id 91444447
Chrome 36.0.1985 (Linux): Executed 0 of 92 SUCCESS (0 secs / 0 secs)
Chrome 36.0.1985 (Linux): Executed 1 of 92 SUCCESS (0 secs / 0.065 secs)
[...]
Chrome 36.0.1985 (Linux): Executed 91 of 92 SUCCESS (0 secs / 0.24 secs)
Chrome 36.0.1985 (Linux): Executed …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个Java字节混淆器,它"扰乱"现有的操作码并添加新的(无用的)代码.我对任何类型的重命名都不感兴趣,这是大多数混淆者似乎都会做的事情.
一点背景:作为我的博士论文的一部分,我正在开发一个工具,用于识别(Java字节码)程序的无用部分.为了呈现不错的结果,我希望有一些带有大量无用代码的输入程序.除了我目前关注的例子(它有一些使代码无用的微妙错误,认为用一个错误的参数调用"等于")我还需要一些只有"怪异"代码的例子 - 由代码混淆器生成.
我已经玩过ProGuard,但它似乎只是稍微优化(并因此修改)代码.重命名方法,字段......的部分与我无关,这就是我将其关闭的原因.
据我所知,"聚合下游测试结果"功能不能按预期工作(并且很难找到有用的文档).我想实现非常相似的功能:
作业构建并行触发作业T1,T2(其中T1执行FindBugs,T2执行PMD).
场景1: 一旦T1和T2完成(我可以使用"Join"插件实现),我想收集工件(T1 /findbugs.xml和T2 /pmd.xml).然后分析这些并生成好的统计数据.
场景2(我更喜欢这个): 与场景1类似,但分析是作为T1和T2的一部分完成的(并行!).一旦T1和T2完成,分析结果就会合并成很好的统计数据.
我的问题: 对于方案1,我不知道如何引用下游项目T1和T2.我可以使用上一次成功构建,但在考虑许多并行作业时,这似乎很奇怪.
对于场景2,我不知道如何导入FindBugs/PMD/Checkstyle/SLOCcount/...插件所需的数据,以便相应的图形(也是?)出现在T1/*T2*之外.
谢谢,卡斯滕
该方法FileLocator.resolve(url)可用于将地址bundleentry://something/somewhere/x.txt转换为适当的文件URL /mnt/foo/somewhere/x.txt.
但是,这也记录在https://bugs.eclipse.org/bugs/show_bug.cgi?id=145096,URL不会被转义.例如,如果包含引用的bundle的Eclipse安装位于包含空格的目录中,则返回的URL FileLocator.resolve仍包含空格,因此调用url.toURI()失败.
File根据相对于当前包的路径获取对象?作为参考,如果该文件位于包含空格的目录中,则尝试查找dir插件.jar文件中的目录时,代码会失败:
final IPath pathOfExampleProject = new Path("dir");
final Bundle bundle = Platform.getBundle(AproveIDs.PLUGIN_ID);
final URL url = FileLocator.find(bundle, pathOfExampleProject, null);
final URL url2 = FileLocator.toFileURL(url);
url2.toURI(); // Illegal character in path at index [...]
Run Code Online (Sandbox Code Playgroud) 我有一个简单的多模块 Java Gradle 项目。单元测试运行良好,但我无法添加用于集成测试的工作源集。测试已编译(我看到编译错误),并出现在控制台输出中,但它们没有执行(现有测试应该失败)。
此外,在 IntelliJ IDEA 中,显示了源集,但不是作为测试模块。我在测试旁边的装订线中看到“运行”图标,但运行测试会给出
> No tests found for given includes: [de.cotto.integration_tests.moduletwo.ModuleTest.name](filter.includeTestsMatching).
我的问题:
./gradlew build),我需要更改什么?源集定义:
sourceSets {
integrationTest {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
configurations {
integrationTestImplementation.extendsFrom testImplementation
integrationTestRuntimeOnly.extendsFrom runtimeOnly
}
task integrationTest(type: Test) {
description = 'Runs integration tests.'
group = 'verification'
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
shouldRunAfter test
}
check.dependsOn integrationTest
Run Code Online (Sandbox Code Playgroud)
对于我的 Java 应用程序cf push需要太长时间。
Uploading ${APPNAME}...
Uploading app files from: ${PATH}.jar
Uploading 19.8M, 6584 files
Done uploading
Run Code Online (Sandbox Code Playgroud)
推送时,第一行显示几分钟(CPU 负载为 100%)。之后,实际上传开始(第二行)并在一秒钟内完成。
随着CF_TRACE=true我看到一个resource match请求(https://apidocs.cloudfoundry.org/220/resource_match/list_all_matching_resources.html)。对于此请求,将发送一个 JSON 字符串,其中包含我的 JAR 文件中所有文件的哈希总和。在我的情况下,收集这些信息需要很长时间,因为 JAR 文件包含许多文件。
有没有办法禁用资源匹配请求?据我所知,它仅用于不上传未更改的文件(CloudFoundry 实例已经知道)。不过,上传 20M 的数据只需要一秒钟。
编辑:这似乎不可能,请参阅https://bugs.openjdk.java.net/browse/JDK-8039910。
我有一个帮助类,它提供了一个Stream<Path>. 这段代码只是Files.walk对输出进行包装和排序:
public Stream<Path> getPaths(Path path) {
return Files.walk(path, FOLLOW_LINKS).sorted();
}
Run Code Online (Sandbox Code Playgroud)
由于遵循符号链接,如果文件系统中出现循环(例如 符号链接x -> .),则 中使用的代码Files.walk会抛出UncheckedIOException包装 的实例FileSystemLoopException。
在我的代码中,我想捕获此类异常,例如,只记录一条有用的消息。一旦发生这种情况,结果流可以/应该停止提供条目。
我尝试将.map(this::catchException)和添加.peek(this::catchException)到我的代码中,但在此阶段未捕获异常。
Path checkException(Path path) {
try {
logger.info("path.toString() {}", path.toString());
return path;
} catch (UncheckedIOException exception) {
logger.error("YEAH");
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
如果有的话,我如何UncheckedIOException在我的代码中捕获 an发出 a Stream<Path>,以便路径的使用者不会遇到此异常?
例如,以下代码永远不会遇到异常:
List<Path> paths = getPaths().collect(toList());
Run Code Online (Sandbox Code Playgroud)
现在,异常是由代码调用触发的collect(我可以在那里捕获异常):
java.io.UncheckedIOException: java.nio.file.FileSystemLoopException: /tmp/junit5844257414812733938/selfloop
at java.nio.file.FileTreeIterator.fetchNextIfNeeded(FileTreeIterator.java:88)
at …Run Code Online (Sandbox Code Playgroud) 如果信号量上没有可用的许可,我需要实现一个 FIFO 队列。我的教授指定在考试期间我们将只能使用acquire()和release()方法。我的想法是使用tryAcquire()如果结果为 false 将在 List 底部添加 currentThread的方法来实现 LinkedList 。无法使用tryAcquire()我搜索的方法,我注意到了这个结构。如果我初始化一个信号量,例如:
Semaphore example = new Semaphore(5, true);
Run Code Online (Sandbox Code Playgroud)
如果一个线程试图acquire()在一个已用尽其许可的信号量上使用方法,会发生什么?它会自动创建队列吗?我必须以任何方式处理它还是该过程是自动的?
我的应用程序需要大约10 GB的RAM用于特定输入,其中常规输入大约1 GByte就足够了.使用JProfiler进行更密切的分析表明(在GC之后)标准类使用了相当多的内存java.util.*:
LinkedHashMap$Entry,HashMap$Entry[],LinkedHashMap,HashMap$KeySet,HashMap$EntrySet,LinkedHashSet,TreeMap$Entry,和TreeMap(以该顺序),和相关的类.以下条目是我自己的代码中的一个类,其中实例的数量和使用的内存量似乎非常合理.
详细说明总堆使用量约为900 MB,我Size在All Objects视图中看到以下条目:
LinkedHashMap$Entry:418 MByteHashMap$Entry[]:178 MByteLinkedHashMap:124 MByteHashMap$KeySet:15 MByte使用的内存LinkedHashMap似乎太高,即使考虑到每个LinkedHashSet都由a支持LinkedHashMap.
我在JProfiler中记录了对象分配并观察了Allocation Hot Spotsfor LinkedHashMap.在那里,我看到了我不理解的条目:
X.<init>其中,X在我自己的代码的类.这种方法的构造函数没有任何关系LinkedHashMap.此次进入Thread.run结束后显示从6.5%缓慢下降至5.8%Thread.run.我的代码可能有什么问题X?为什么在这里显示?java.util.HashSet.iterator.沿着具有最高百分比(第一个条目:2.8%)的路径进入此条目之后,我在代码中获得了几个方法,直到最后java.lang.Thread.run显示(具有2.8%).这是什么意思?据我所知,该Thread.run方法不会创建实例LinkedHashMap.该iterator方法的连接是什么?一般来说,如何找到引用(很多)LinkedHashMap …
java ×5
eclipse ×1
exception ×1
fifo ×1
gradle ×1
java-ee ×1
java-stream ×1
jenkins ×1
jprofiler ×1
jsp ×1
karma-runner ×1
obfuscation ×1
queue ×1
semaphore ×1