请参阅以下代码段:
Long first_begin = System.currentTimeMillis();
// first nested loops
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 1000000; j++) {
// do some stuff
}
}
System.out.println(System.currentTimeMillis() - first_begin);
// second nested loops
Long seconde_begin = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
for (int j = 0; j < 10; j++) {
// do some stuff
}
}
System.out.println(System.currentTimeMillis() - seconde_begin);
Run Code Online (Sandbox Code Playgroud)
我想知道为什么第一个嵌套循环比第二个嵌套循环慢?
问候!
重要的提示!:我很抱歉,当我第一次提出这个问题时,我意外地将变量j从1开始,我做了修正.
更新:循环中没有任何特定的逻辑,我只是做一些测试,实际上这是一个在面试中提出的问题,面试官提示我改变循环的顺序以获得更好的性能.顺便说一句,我使用的是JDK1.5.经过一些测试我现在更加困惑,因为程序的结果不一致---有时第一个循环比第二个循环运行得快,但大部分时间它比第二个循环运行得慢.
class member
{
public:
member()
{
cout<<"Calling member constr"<<'\n';
}
member(const member&)
{
cout<<"Calling member copy constr"<<'\n';
}
};
class fred
{
public:
fred()
{
cout<<"calling fred constr"<<'\n';
}
fred(const fred &)
{
cout<<"Calling fred copy constr"<<'\n';
}
protected:
member member_;
};
int main()
{
fred a;
fred b=a;
}
Output:
Calling member constr
calling fred constr
**Calling member constr**
Calling fred copy constr
Run Code Online (Sandbox Code Playgroud) 我已经看到很多关于如何将视频从服务器流式传输到Android设备的信息,但其他方式并不多,ala Qik.有人能指出我在这方面的正确方向,或者就如何处理这个问题给我一些建议?
我正在将数据库从 Teradata 转换为 SqlServer。我注意到所有表和过程都以前缀“dbo”命名。(例如“dbo.Table1”)。
我想知道是否以及如何摆脱“dbo”,因为它会使转换任务变得更加容易。
嗨,我惊奇地发现在Chrome浏览器中调用窗口父javascript函数时出现问题.如果我有一个窗口,其中定义了javascript函数
<script type="text/javascript">
function dolink() {
. . .
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在该窗口中有一个使用jquery进行此调用的iframe
<script type="text/javascript">
$(function() {
$('a.arglink').click(function() {
window.parent.dolink($(this).attr('href'));
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
对dolink函数的调用不起作用.使用chrome javascript调试器步进,似乎window.parent.dolink 未定义.这是设计还是我犯的错误?在Firefox和IE中它工作正常.
在文件中有很多像200 20.5 329.2 ...的数字.现在,我需要用A*0.8替换每个数字A. 是否有任何简单的方法可以根据原始值替换原始值?
最好的祝福,
我正在考虑创建一个过滤器对象,过滤和删除上下文中的html标记等所有内容.但我希望它是独立的,这意味着我可以应用的设计模式将帮助我在将来添加更多过滤器而不影响当前代码.我认为抽象工厂,但它似乎不会按我想要的方式工作.也许建设者,但它看起来一样.我不知道我有点困惑,有人请推荐我一个可以解决我的问题的设计模式,但在此之前让我稍微详细说明一下这个问题.
假设我有一个具有描述字段或属性的类.我需要过滤器从这个Description属性中删除我想要的东西.因此,每当我应用过滤器时,我都可以在基础层中添加更多过滤器.因此,我可以轻松添加更多过滤器,而不是重新触摸Description字段,所有过滤器都将针对Description字段运行,并从Description上下文中删除它们应删除的内容.
我希望我可以描述我的问题.我想你们中的一些人之前遇到过同样的情况.
提前致谢...
编辑:
我实际上想要创建过滤器作为类型/类而不是常规方法或其他.喜欢 :
class TextFilter : IFilter
{
private string something;
public string Awesome {get;set;}
public string FilterYo(string textFiltered)
{
// Do filtering
}
}
class HtmlFilter : IFilter
{
private string something;
private string iGotSomething;
public string Awesome {get;set;}
public string FilterYo(string textFiltered)
{
// Do filtering
}
}
class Main
{
protected void Main(object sender, EventArgs e)
{
InputClass input = new InputClass();
string filtered = new StartFiltering().Filter(input.Description); // at this moment, my input …Run Code Online (Sandbox Code Playgroud) evalObjective-C中是否存在类似Javascript,Ruby,PHP或Python的方法?
我使用PhoneGap,我想创建一个特定于我的每个项目的窗口,我不能使用HTML文件.所以我想从JavaScript调用一个方法,其中一个参数是Objective-C代码,需要解释.
如何将背景图像设置为JTextPane - 某种水印.
我尝试了这个选项 - 创建一个JTextPane的子类,并使用paint方法绘制图像.但随后文本显示在图像"下方"而不是上方.
有没有"标准"或"众所周知"的方法来做到这一点?
(顺便说一下,我尝试过(傻傻的东西?)使内容类型为"text/html",并将图像设置为a的背景图像,<div>但它没有帮助.)