我想分析和理解某个Java应用程序,我认为调用图非常有用.我如何生成一个?我正在使用Eclipse.
我有这个函数,我写的是非常慢,因为PHP不能很好地处理递归.我试图将它转换为while循环,但我无法绕过如何做到这一点.
谁能给我一些提示?
public function findRoute($curLoc, $distanceSoFar, $expectedValue) {
$this->locationsVisited[$curLoc] = true;
$expectedValue += $this->locationsArray[$curLoc]*$distanceSoFar;
$at_end = true;
for($i = 1; $i < $this->numLocations; $i++) {
if($this->locationsVisited[$i] == false) {
$at_end = false;
if($expectedValue < $this->bestEV)
$this->findRoute($i, $distanceSoFar + $this->distanceArray[$curLoc][$i], $expectedValue);
}
}
$this->locationsVisited[$curLoc] = false;
if($at_end) {
if($expectedValue < $this->bestEV) {
$this->bestEV = $expectedValue;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试序列化一个继承自实现IXmlSerializable的基类的类.
名为PropertyBag的基类是一个允许动态属性的类(Marc Gravell的学分).
我实现了IXmlSerializable,以便将动态属性(存储在Dictionary中)写为普通的xml元素.
例如,当序列化具有公共属性(非动态)名称和动态属性Age的类时,我希望它生成以下XML:
<Person>
<Name>Tim</Name>
<DynamicProperties>
<Country>
<string>USA</string>
</Country>
</DynamicProperties>
<Person>
Run Code Online (Sandbox Code Playgroud)
我可以让部分在基础PropertyBag类中使用WriteXml的以下实现:
public void WriteXml(System.Xml.XmlWriter writer)
{
writer.WriteStartElement("DynamicProperties");
// serialize every dynamic property and add it to the parent writer
foreach (KeyValuePair<string, object> kvp in properties)
{
writer.WriteStartElement(kvp.Key);
StringBuilder itemXml = new StringBuilder();
using (XmlWriter itemWriter = XmlWriter.Create(itemXml))
{
// serialize the item
XmlSerializer xmlSer = new XmlSerializer(kvp.Value.GetType());
xmlSer.Serialize(itemWriter, kvp.Value);
// read in the serialized xml
XmlDocument doc = new XmlDocument();
doc.LoadXml(itemXml.ToString());
// write to modified …Run Code Online (Sandbox Code Playgroud) 我的java应用程序使用JNI来调用用C编写的库.这个本机库将错误记录到stderr,但我想以某种方式通过我的log4j记录器重定向错误流.这可能吗?
C库是外部的 - 我没有源代码,因此无法更改它.
谢谢
我有一个带有单个文本框的表单.没有其他控制.每当我输入"Enter"键或"Esc"键时,表单就会按照我的意愿运行; 但我听到可怕的Windows错误声音.代码看起来类似于以下内容......
public class EntryForm: Form
{
public EntryForm()
{
}
private void EntryTextBox_KeyUp(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
// do some stuff
Hide(); // I've also used DialogResult = DialogResult.OK here
e.Handled = true;
}
else if(e.KeyCode == Keys.Escape)
{
Hide(); // I've also used DialogResult = DialogResult.Cancel here
e.Handled = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以通过将以下代码添加到窗体的构造函数来"破解"它并使噪声停止.
AcceptButton = new Button();
CancelButton = new Button();
Run Code Online (Sandbox Code Playgroud)
正如我所说,这导致声音无法发挥,但我认为这是不好的形式; 特别是因为我不需要表格上的按钮.
任何人都知道为什么这是行为,如果有更清晰的方法来阻止播放错误声音?
所以在跟踪器对象上有这个漂亮的_trackPageview()api方法,但有没有相应的方法可以用来手动跟踪搜索?换句话说,_trackPageview()向GA报告用户点击页面.我想要这样的东西_trackSearch("terms")会向GA报告用户搜索的东西.
例如,我有一个导入另一个模式的简单模式.第二个模式(urn:just:attributes,just-attributes.xsd)只定义了一个属性组.
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/MySchema"
xmlns:tns="http://www.example.org/MySchema"
elementFormDefault="qualified"
xmlns:ja="urn:just:attributes">
<import schemaLocation="just-attributes.xsd" namespace="urn:just:attributes"/>
<element name="MyElement">
<complexType>
<attributeGroup ref="ja:AttributeGroup"/>
</complexType>
</element>
</schema>
Run Code Online (Sandbox Code Playgroud)
我正在使用Metro xjc Ant任务来生成此模式的类.我遇到的问题是我正在与之交互的第三方应用程序是名称空间特有的.这种情况我需要一个String值,所以我必须序列化它.我使用样板代码.
private static <T> String marshal(T object) throws JAXBException{
OutputStream outputStream = new ByteArrayOutputStream();
JAXBContext jaxbContext = JAXBContext.newInstance(object.getClass());
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.marshal(object, outputStream);
return outputStream.toString();
}
Run Code Online (Sandbox Code Playgroud)
这给了我一些东西
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:MyElement xmlns:ns1="urn:just:attributes" xmlns:ns2="http://www.example.org/MySchema" ns1:attrib1="1234" ns1:attrib2="5678"/>
Run Code Online (Sandbox Code Playgroud)
我xmlns:thirdpartyns="urn:just:attributes"遇到的问题是这个第三方需要类似的东西,也就是说,它们是根据命名空间的名称进行解析.它已经是"thirdpartyns"为他们的软件工作.
有没有人知道如何解决这个问题,而不是在结果字符串中进行查找和替换?也许是自定义绑定规则?
我需要用 ruby 从各种音频文件中读取元数据(歌曲名称、艺术家等),主要是 MP3 和 Apple 的 AAC。我用谷歌搜索,发现没有支持这两种格式的库。
你们如何用 ruby 读取音频元数据?我更喜欢一个尽可能具有最小依赖性的解决方案。
谢谢。
我现在正处于升级主要交易系统中层次结构设计的最后阶段,我一直在这150行查询中盯着看(我将免除你阅读的所有单调)并认为那里必须是一个更好的方式.
该问题的快速摘要如下:
我发现了一个有点相关的问题,但它实际上只有我实际需要的答案的20%左右.这是完整的场景/规范:
hierarchyid(物化路径),索引广度优先和深度优先.每个层次结构节点/记录都有一个Name要查询的列.基于节点的层次结构查询非常快,所以不要担心这些.我的"梦想"是向用户提供即时反馈,如渐进式搜索/过滤器,但我知道这可能是不可能的或非常困难的.我对当前方法的任何重大改进感到满意,通常需要0.5s到1s,具体取决于结果的数量.
为了完整起见,现有查询(存储过程)首先收集包含最终项的所有叶节点,然后向上连接并排除其路径与先前项不匹配的任何路径.如果这对任何人来说都是落后的,那么请放心,它比从根源开始并散开更有效率.这是"旧的"方式,每次搜索可能需要几秒钟.
那么我的问题是: 是否有更好(更有效)的方式来执行此搜索?
我不一定在寻找代码,只是方法.我考虑了一些可能性,但它们似乎都有一些问题:
NamePath实际上是嵌套字符串序列的列,使用CLR类型,类似于hierarchyid它自己.问题是,我不知道微软如何能够将这种类型的查询"转换"为索引操作,我甚至不确定是否可以在UDT上进行.如果最终结果只是一个完整的索引扫描,我通过这种方法得不到任何结果.如果我不能做得比现有的更好,那真的不是世界末日; …
我正在拆分N层堆栈以允许层的独立扩展,更好的部署独立性,并且我想知道人们当前选择什么样的服务边界通信技术.
服务本身和服务的所有"客户"将通过内部网络相互访问,目前都是.NET 3.5 SP1(Windows Services 3.5,ASP.NET MVC 1.0,ASP.NET WebForm 3.5).
我倾向于Windows Communication Foundation,虽然我听说有关WCF在不久的将来改变方向的传闻.这些谣言有效吗?
我已经驳回了构建自定义ASP.NET MVC服务和作为旧式SOAP Web服务的想法,因为WCF将以自定义响应的能力为代价提供更灵活的传输选择.
是否还有其他.NET服务技术需要考虑?
谢谢各位的意见.很高兴听到我对WCF的倾向仍然是正确的选择,它将会持续一段时间.