好的概述
一般来说,您要在快速读取时间(例如,嵌套集)或快速写入时间(邻接列表)之间做出决定.通常,您最终会得到最适合您需求的以下选项组合.以下提供了一些深入阅读:
选项
我知道和一般的功能:
O(n/2)
移动,插入,由于易失性编码而删除O(log n)
插入,更新,删除的成本(子树的大小)LEFT(lineage, #) = '/enumerated/path'
)O(log n)
插入,更新,删除的成本(子树的大小)我查看了智能Web的算法,它描述了一个有趣的算法(第55页),用于创建类似于商业文档得分的PageRank(即没有PDF,MS Word文档等链接的文档......).简而言之,它分析集合中每个文档之间的术语频率交集.
任何人都可以识别其他地方描述的有趣算法,或者想在这里分享一些新颖的东西,以应用这些类型的文档来改善搜索结果吗?
请放弃涉及点击跟踪或其他操作的答案,而不是分析实际文档.
使用IsValid()验证电子邮件地址或URL格式是否可以保护XSS?当指定其他格式时,它是否否定XSS?
我正在尝试为ProcessBuilder对象添加一个环境变量,但是当我在ProcessBuilder中调用该新变量时,我收到一个错误.这就是我构建流程的方式
public class OTU
{
public static void main(String[] args) throws Exception
{
ProcessBuilder pb = new ProcessBuilder();
Map<String, String> env = pb.environment();
//set environment variable u
env.put("u", "util/");
pb.command("echo $u");
Process p = pb.start();
String output = loadStream(p.getInputStream());
String error = loadStream(p.getErrorStream());
int rc = p.waitFor();
System.out.println("Process ended with rc=" + rc);
System.out.println("\nStandard Output:\n");
System.out.println(output);
System.out.println("\nStandard Error:\n");
System.out.println(error);
}
private static String loadStream(InputStream s) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(s));
StringBuilder sb = new StringBuilder();
String …
Run Code Online (Sandbox Code Playgroud) 我想提供一个WYSIWYG工具,最好是基于JavaScript的工具,用于工作流程图(即有向图).我需要商业软件友好许可,其中包括向OEM支付费用.如果有必要的服务器端部件,我需要它在Java或ColdFusion中,因为我正在与现有产品集成.
我的工作流图可以有多个起始顶点,但只有一个末端顶点,并且边是指向的.超越所见即所得的编辑,我正在寻找一个可以协助以下工具的工具:
很高兴有:
Google员工,如果你有一个带有coldfusion.runtime.CFDummyComponent
读取根的堆转储.
MXUnit成名的Marc Esher在不同的背景下发现了完全相同的错误.他的解决方案包括了从去解决的查询一个大循环query="name"
来from="1" to="#name.recordcount#" index="row"
.另一种有效的方法是<cfthread>
在循环内部使用:
<cfloop ...>
<cfset threadName = "thread" & createUuid()>
<cfthread name="#threadName#">
<!--- do stuff --->
</cfthread>
<cfthread action="join" name="#threadName#">
</cfloop>
Run Code Online (Sandbox Code Playgroud)
当您遇到需要在循环内部执行操作(如查询和<cfmodule>
内部)<cffunction>
以便消耗的内存仅用于该迭代时,这非常有效.
希望别人可以确认或告诉我我做错了什么.我能够通过调用文件oom.cfm(如下所示)一致地重现运行的OOM.使用jconsole我能够看到请求消耗内存并且永远不会释放它直到完成.问题似乎是<cfmodule>
在内部调用<cffunction>
,如果我注释掉<cfmodule>
调用,那么在请求运行时会收集垃圾.
ColdFusion版本:9,0,1,274733
JVM参数
java.home=C:/Program Files/Java/jdk1.6.0_18
java.args=-server -Xms768m -Xmx768m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=512m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/ -Djava.security.policy={application.home}/servers/41ep8/cfusion.ear/cfusion.war/WEB-INF/cfusion/lib/coldfusion.policy -Djava.security.auth.policy={application.home}/servers/41ep8/cfusion.ear/cfusion.war/WEB-INF/cfusion/lib/neo_jaas.policy -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=56033
Run Code Online (Sandbox Code Playgroud)
oom.cfm(以下称为template.cfm - Adobe Bug#85736)
<cffunction name="fun" output="false" access="public" returntype="any" hint="">
<cfset var local …
Run Code Online (Sandbox Code Playgroud) 一直以来,我能够在ColdFusion 9.01上使用以下代码生成Java Heap Space OutOfMemory异常(尚未尝试过早期版本):
<cfset uuidGenerator = createObject("java", "java.util.UUID")>
<cfset transient = structNew()>
<cfloop from="1" to="100000" index="index">
<cfset transient[uuidGenerator.randomUUID().toString()] = true>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
上面的代码使用Java UUID类,因为它比ColdFusion更快.请求后结构本身不存在(即它不在某些持久范围内application
).
作为测试,我在初始化服务器之后生成堆转储.然后我多次运行这段代码,看看终身代通过jConsole填充.之后,我运行另一个堆转储.使用Eclipse Memory Analysis Tool的Leak报告,我可以看到一个根据的大对象coldfusion.util.Key
.
我在这里问,希望其他人遇到类似的问题,如果是这样的话,他们已经做了什么来解决它.
我正在查看一些开发人员的代码,几乎哭了.在方法定义中有12个参数.根据我的经验......这不好.如果是我,我会发送某种对象.
有没有其他/更优选的方法来做到这一点(换句话说,解决这个原因的最佳方法是什么)?
public long Save (
String today,
String name,
String desc,
int ID,
String otherNm,
DateTime dt,
int status,
String periodID,
String otherDt,
String submittedDt
)
Run Code Online (Sandbox Code Playgroud)
忽略我糟糕的变量名 - 他们就是例子
我想在我的网站上实现一种版本历史记录,我需要一种比较字符串或对象键的方法.例如:
原始字符串/对象键:棕色狐狸更快
修改过的字符串/对象键:快速的棕色狐狸跳过了懒兔子
修改:添加了跳过懒兔子删除了呃
我想只保存历史表中的修订版.我真的不知道从哪里开始,所以任何想法如何让我去或建议的方法将非常感激.
我知道find()函数,我怀疑它是一个主要的候选使用,但我不知道如何将它可视化为一个解决方案,因为它比较字符串"批发"可以这么说.
Bamboo可用于连续构建,但希望使用Sonar进行质量指标跟踪.必须在Bamboo中捕获单元测试通过/失败和Clover代码覆盖率指标.但是,这些相同的值也应该发送到Sonar,以便不通过运行单元测试和Clover两次来增加构建持续时间.
已经能够使用maven构建的"sonar.dynamicAnalysis = reuseReports"指令将这些指标从Bamboo构建发送到Sonar.但Sonar的"规则合规性"指标为0%.
根据之前的修改而不使用指令,规则合规性得分更高.所以很明显使用该指令会以某种方式阻止计算该指标.
有谁知道如何使用此指令并获得规则合规性分数?或者他们可以指出要帮助诊断的东西吗?使用"-e"选项运行maven并没有提供任何特别有用的东西.
ColdFusion的几个功能 - 媒体播放器和多文件上传器 - 基于可用的JavaScript库/CFIDE/scripts
,即使scriptsrc
配置了它Application.cfc
.请参阅此处的错误以获取参考:http://www.elliottsprehn.com/cfbugs/bugs/83328
不幸的是,从ColdFusion安装中按原样暴露CFIDE目录存在安全风险.因此,我正在尝试确定正确的前进路径,以使我的应用程序能够使用此功能,同时不会暴露此漏洞.皱纹是我正在运送产品,所以我试图想象一个解决方案,我可以使用安装程序或文档轻松自动化,系统管理员应该没有设置的麻烦.
这些是我提出的选择:
/CFIDE
.scripts
从其下的ColdFusion安装中复制文件夹的内容./ajax/package/cffileupload_swf.js
/ajax/package/cfmediaplayer.js
哪个选项似乎更好?或者你有更好的主意吗?
好吧,这个功能没有意义,但我只是用它作为一个例子:
<cffunction name="blah">
<cfset var myFoo = 123>
<cfset var varNamePrefix = "my">
<cfset var bar = Evaluate("#varNamePrefix#Foo")>
<cfreturn bar>
</cffunction>
Run Code Online (Sandbox Code Playgroud)
使用CF9,我可以使用local["#varNamePrefix#Foo"]
.有没有办法让CF7/8摆脱Evaluate()
没有重构整个事情var local = structNew()
?
coldfusion ×8
coldfusion-9 ×4
java ×3
memory-leaks ×2
algorithm ×1
bamboo ×1
cfml ×1
coding-style ×1
database ×1
diff ×1
email ×1
javascript ×1
openbd ×1
railo ×1
search ×1
sonarqube ×1
sql ×1
string ×1
tree ×1
unix ×1
url ×1
validation ×1
workflow ×1
xss ×1