考虑这两段代码(您可以假设execeptionObj它是类型Object,但我们知道它是一个实例Throwable):
1)
logger.log(Level.ERROR, (Throwable) exceptionObj,
((Throwable) exceptionObj).getMessage());
Run Code Online (Sandbox Code Playgroud)
2)
Throwable t = new Throwable((Throwable)exceptionObj);
logger.log(Level.ERROR, t, t.getMessage());
Run Code Online (Sandbox Code Playgroud)
在我正在进行的项目的代码审查期间,一位评论者说第一种方式不如第二种方式有效,因为它涉及2次演员.我只是想知道你的想法.似乎创建一个新实例也会涉及一些开销.
有没有办法确定鼠标是否使用子画面上的鼠标滚轮处理程序向上或向下滚动?例如
Private Sub PictureBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
if mousewheel.scrollup then
UserZoom = UserZoom + 0.05
Me.Refresh()
end if
End Sub
Run Code Online (Sandbox Code Playgroud)
我希望能够根据鼠标是向上还是向下推动来向上或向下调整userzoom的值.任何帮助将不胜感激
我正在使用Flying Saucer将一些PDF文档从字符串渲染为XHTML.我的代码是这样的:
iTextRenderer.setDocument(documentGenerator.generate(xhtmlDocumentAsString));
iTextRenderer.layout();
iTextRenderer.createPDF(outputStream);
Run Code Online (Sandbox Code Playgroud)
我想要了解的是,当使用这种方法时,XHTML中的相对路径从哪里解决?例如,对于图像或样式表.我能够使用此方法成功生成基于文本的文档,但我需要了解如何引用我的图像和CSS.
我的代码如下:
<select id="testSelect">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<asp:Button ID="btnTest" runat="server" Text="Test it!" onclick="btnTest_Click" />
Run Code Online (Sandbox Code Playgroud)
我需要在回发时获得所选期权的价值.我怎么能用asp.net做到这一点?
我有一个具有属性id和parent_id的对象列表.
我想建一棵树来连接那些孩子和父母.
1个父母可能有几个孩子,并且有一个对象将成为所有对象的祖先.
实现它的最快算法是什么?
我使用C#作为编程语言,但其他语言也没问题.
我需要设置java -Djava.library.path =/some/path,我想在运行我的ant脚本,构建我的jar时这样做.
我想我必须使用
<sysproperty key="java.library.path" value="/some/path"/>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我不能使语法工作.我用Google搜索并找到的唯一东西就是sysproperty
<java classname>
Run Code Online (Sandbox Code Playgroud)
但这对我没有任何意义.
我不确定这是否相关,但我使用ant来创建一个耳朵并在JBoss中部署这个耳朵.
在下面的示例中,我能够在继承的类中创建一个虚方法,然后在继承类中覆盖它.Show()
我想用受保护的类变量做同样的事情,但我得到错误: prefix
修饰符'virtual'对此项无效
但由于我无法在我的类中将此变量定义为虚拟/覆盖,因此我收到编译器警告:
TestOverride234355.SecondaryTransaction.prefix'隐藏继承的成员'TestOverride234355.Transaction.prefix'.如果要隐藏,请使用new关键字.
幸运的是,当我添加new关键字时,一切正常,这是好的,因为我得到了相同的功能,但这提出了两个问题:
为什么我可以使用虚拟/覆盖方法而不是受保护的类变量?
虚拟/覆盖方法与隐藏它与新方法之间的实际区别是什么,因为至少在这个例子中它们提供相同的功能?
码:
using System;
namespace TestOverride234355
{
public class Program
{
static void Main(string[] args)
{
Transaction st1 = new Transaction { Name = "name1", State = "state1" };
SecondaryTransaction st2 =
new SecondaryTransaction { Name = "name1", State = "state1" };
Console.WriteLine(st1.Show());
Console.WriteLine(st2.Show());
Console.ReadLine();
}
}
public class …Run Code Online (Sandbox Code Playgroud) 我有一个需要在STA公寓状态下运行的功能.我不想检查它是否作为STA运行,如果没有生成一个在STA中运行的新线程.
如何检查当前线程运行的公寓状态?
给定一个单词W,我想从/ usr/dict/words中找到包含W中字母的所有单词.例如,"bat"应该返回"bat"和"tab"(但不是"table").
这是一个涉及对输入词进行排序和匹配的解决方案:
word=$1
sortedWord=`echo $word | grep -o . | sort | tr -d '\n'`
while read line
do
sortedLine=`echo $line | grep -o . | sort | tr -d '\n'`
if [ "$sortedWord" == "$sortedLine" ]
then
echo $line
fi
done < /usr/dict/words
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?我更喜欢使用基本命令(而不是perl/awk等),但欢迎所有解决方案!
为了澄清,我想找到原始单词的所有排列.不允许添加或删除字符.
我想我专注于x86,但我通常对从32位到64位的移动感兴趣.
从逻辑上讲,我可以看到常量和指针在某些情况下会更大,因此程序可能会更大.为了提高效率而在字边界上分配内存的愿望意味着分配之间会有更多的空白.
我还听说x86上的32位模式必须在上下文切换时刷新其缓存,因为可能存在重叠的4G地址空间.
那么,64位的真正好处是什么?
作为补充问题,128位会更好吗?
编辑:
我刚刚编写了我的第一个32/64位程序.它生成16字节(32b版本)或32字节(64b版本)对象的链接列表/树,并对stderr进行大量打印 - 不是一个非常有用的程序,而不是典型的,但它是我的第一个.
大小:81128(32b)v 83672(64b) - 所以差别不大
速度:17s(32b)v 24s(64b) - 在32位OS(OS-X 10.5.8)上运行
更新:
我注意到正在开发一种新的混合x32 ABI(应用程序二进制接口),它是64b但使用32b指针.对于某些测试,它导致比32b或64b更小的代码和更快的执行.