有一个很好的讨论泛型和他们在这个问题的幕后真正做了什么,所以我们都知道这Vector<int[]>是一个整数数组的向量,并且HashTable<String, Person>是一个表,其键是字符串和值Persons.然而,困扰我的是使用Class<>.
java类Class也应该采用模板名称,(或者我在eclipse中通过黄色下划线告诉我).我不明白我应该放在那里.Class对象的整个要点是当您没有完全拥有关于对象,反射等的信息时.为什么它让我指定Class对象将保持哪个类?我显然不知道,或者我不会使用该Class对象,我会使用具体的一个.
我正在阅读关于在这里重构一个大的慢速SQL查询,并且当前最高的响应来自Mitch Wheat,他希望确保查询使用主要选择的索引,并提到:
我要做的第一件事是检查以确保定期运行活动索引维护作业.如果没有,则重建所有现有索引,或者如果不可能,至少更新统计信息.
我只是业余DBA,而且我已经制作了一些自由职业者,基本上是Java桌面客户端,偶尔也是MySQL后端.当我设置系统时,我知道要在将要查询的列上创建索引,有一个varchar CaseID和一个varchar CustName.
但是,我在几个月前设置了这个系统并让客户端运行它,我相信索引应该随着数据的输入而增长,我相信一切都还能正常运行.我担心这些索引应该定期重建,因为今天我已经读到应该有一个"主动维护工作".我设置的唯一维护工作是夜间备份.
我想向社区询问数据库可能需要的定期维护.是否需要重建索引?我可以信任MySQL后端,只要没有人对它感到困惑并且数据保持在几千兆字节之内吗?
我正在创建一个包含动态内容的网页,该网页通过AJAX轮询进入视图.页面JS偶尔会下载更新的信息,并在用户阅读其他信息时将其呈现在页面上.这种事情对带宽和处理时间来说代价很高.我希望在没有查看页面时暂停轮询.
我注意到我打开的大部分网页花费了大部分时间,或者在未查看的标签中.我希望能够暂停脚本,直到实际查看页面.
我不知道该怎么做,它似乎试图打破html DOM的沙箱并进入用户的系统.如果JS引擎不了解其渲染环境,则可能是不可能的.我从来没有见过不同的网站这样做(不是用户打算看到它......)
因此,我认为这是一个有趣的讨论问题.您如何编写一个CPU重的Web应用程序,以便在不使用时暂停?给用户一个暂停按钮是不可靠的,我希望它是自动的.
我正在做一些Wave文件处理,让它们从磁盘读取到一个字节数组.我想快速将部分从这个字节数组复制到另一个缓冲区进行中间处理.目前我使用这样的东西:
float[] fin;
byte[] buf;
//fill buf code omitted
for(int i=offset; i < size; i++){
fin[i-offset] = (float) buf[i];
}
Run Code Online (Sandbox Code Playgroud)
我觉得这是一个缓慢的方法,因为在for循环条件和增量中有尽可能多的计算在实际正文中有结束.如果在C#中有可用的块复制或其他方式我可以实现块复制,那将是很好的.
也许它不是太慢,但确定移动一些数据看起来确实很多.这里"大小"介于2 ^ 10和2 ^ 14之间.然后我将"fin"关闭到FFT库,所以这绝不是代码中最慢的部分,也许我正在咆哮错误的树.
编辑更新:我意识到微优化不是别人应该花时间的地方,我意识到分析是一种更好的方式来实现整体加速,但我知道这个代码是在一个"热门路径",必须在下面完成三分之一秒的不同终端用户体系结构,以最大限度地减少我们的硬件系统要求.即使我知道以下FFT代码会耗费更多时间,但我正在寻找能够获得它们的加速.
Array.Copy肯定看起来不错,之前我不知道,我认为这个Q&A已经成功了!
我有一个浮点值数组,想要值,更重要的是想要最多四个值的位置.
我最初构建系统是为了遍历数组并通过将当前位置的值与记录的最大值进行比较来找到最常用的方法,并在最大远程变化时更新位置变量.这很好用,一个非常简单的O(n)算法.我后来才知道,我不仅需要保持最高价值,还要保持前三或者前四名.我扩展了相同的程序并将最大程度的复杂化为四个最大化的数组,现在代码很难看.
它仍然有效并且仍然足够快,因为只有少量的计算被添加到过程中.它仍然有效地遍历数组并检查每个值一次.
我在MATLAB中使用sort函数执行此操作,该函数返回两个数组,排序列表和随附的原始位置列表.通过查看前几个值,我确切地知道我需要什么.我正在将此功能复制到C#.NET 2.0程序中.
我知道我可以用List对象做类似的事情,并且List对象有一个内置的排序例程,但我不相信它能告诉我原来的位置,而那些真的是我追求的.
它一直运作良好,但现在我发现自己想要第五个最大值并且看到重写最大的远程检查器,这是目前丑陋的if语句只会使丑陋复杂化.它会工作得很好并且添加第五级也不会慢,但我想询问SO社区是否有更好的方法.
对整个列表进行排序需要比我当前的方法多得多的计算,但我不认为这会是一个问题,因为列表"只有"一两千个浮点数; 因此,如果存在可以回馈原始位置的排序例程,那将是理想的.
作为背景,此数组是对千字节波形文件进行傅里叶变换的结果,因此最大值的位置对应于样本数据的峰值频率.我一直对前四名感到满意,但看到需要真正收集前五或者六,以便更准确地进行样本分类.
arrays ×2
c# ×2
ajax ×1
algorithm ×1
class ×1
generics ×1
indexing ×1
java ×1
javascript ×1
loops ×1
maintenance ×1
max ×1
mysql ×1
optimization ×1
templates ×1