我在OpenJDK上运行tomcat 7.0.21
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.10.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)
通过Eclipse在调试模式下.
在提供任意数量的请求后,OpenJDK会定期开始:
此时剩下的堆栈非常少,通常是:
可能导致问题的原因很少...
任何人都对可能发生的事情有任何见解?
我正在尝试解决文件夹树中所有文件的规范路径,但由于某种原因它无法解决它们(并且间歇性地JVM安全代码将在FilePermission中正确解析符号链接并导致安全性错误).
ENV:
$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)
系统中已知的符号链接是/usr/share/java/gnome-java-bridge.jar:
$ ls -l /usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar
lrwxrwxrwx 1 root root 50 2012-02-24 13:39 /usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar -> ../../../../../../share/java/gnome-java-bridge.jar
Run Code Online (Sandbox Code Playgroud)
以下代码应解析此已知符号链接:
String symlinkedFilePath =
"/usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar";
File symlinkedFile = new File(symlinkedFilePath);
System.out.println(symlinkedFile.getAbsolutePath());
System.out.println(symlinkedFile.getCanonicalPath());
Run Code Online (Sandbox Code Playgroud)
但产生:
/usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar
/usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar
Run Code Online (Sandbox Code Playgroud)
使用以下代码进行的进一步测试有时会返回true以进行权限检查,但有时会返回false:
String symlinkedFilePath =
"/usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar";
File symlinkedFile = new File(symlinkedFilePath);
FilePermission recursivePermission = new FilePermission(
symlinkedFile.getParentFile().getParent() + "/-", "read");
FilePermission filePermission = new FilePermission(
symlinkedFile.getAbsolutePath(), "read");
System.out.println(recursivePermission);
System.out.println(filePermission); …
Run Code Online (Sandbox Code Playgroud) 我有一个代表层次结构的数据结构。
权限存储在一个平面表中:
| pKey | type | bitperms |
Run Code Online (Sandbox Code Playgroud)
当执行搜索等全局操作时,我们需要在树中递归地检查权限。
检查与树结构的各个叶子内联的权限很容易。然而,考虑节点上的权限需要两种已知方法之一:
提前预先计算所有根(授予权限的节点),并在获取叶子时将其用作查询过滤器
是否存在任何算法可以更有效地做到这一点?也许重新组织权限数据或向层次结构添加更多信息?
也许添加一些启发式方法来应对极端情况?
algorithm permissions computer-science computer-algebra-systems
用例以osgi包为基准。
我想从配置的存储库中检索指定工件(当前刚刚构建的工件)的指定版本(或最新版本),以便可以在基准操作中使用jar文件(需要使用先前版本和新版本) )。
是否有任何gradle API可用于此目的?
java ×3
openjdk ×2
permissions ×2
algorithm ×1
baseline ×1
breakpoints ×1
gradle ×1
linux ×1
tomcat ×1