我有一个从文件创建MessageDigest(哈希)的方法,我需要对很多文件(> = 100,000)执行此操作.我应该用多大的缓冲区来读取文件以最大限度地提高性能?
大多数人都熟悉基本代码(我将在这里重复以防万一):
MessageDigest md = MessageDigest.getInstance( "SHA" );
FileInputStream ios = new FileInputStream( "myfile.bmp" );
byte[] buffer = new byte[4 * 1024]; // what should this value be?
int read = 0;
while( ( read = ios.read( buffer ) ) > 0 )
md.update( buffer, 0, read );
ios.close();
md.digest();
Run Code Online (Sandbox Code Playgroud)
什么是最大化吞吐量的缓冲区的理想大小?我知道这是依赖于系统的,我很确定它的操作系统,文件系统和硬盘依赖,并且可能还有其他硬件/软件.
(我应该指出,我对Java有点新手,所以这可能只是一些我不知道的Java API调用.)
编辑:我不提前知道将要使用的系统类型,所以我不能假设很多.(因为那个原因,我正在使用Java.)
编辑:上面的代码缺少像try..catch这样的东西,以使帖子更小
这是一个问题,在编程时我总是想知道:在编写代码时要使用什么:
var myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)
要么
string[] myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)
VAR是新的,是一个隐式类型的局部变量,所以我们只能在本地使用,它具有类似的规则不能为空,等等,但我不知道如果我们使用它"正常"的任何优势.
"常"的部分说,不是在匿名类型,对象和集合初始化和查询表达式,其中这是使用var匿名对象的意图,所以我的意思是......就像上面的例子.
你的想法是什么?
我正在考虑一个应用程序,该应用程序将尝试通过属于社交网络一部分的一组用户来证明“六度分离”理论。
我会有这些元素:
哪种算法可以最好地查看两个用户是否已连接、连接程度以及显示连接中的最终步骤?
是否存在Java> = 1.5 API的打印版本?我在哪里可以在线购买?最好在加拿大,但只是一个标题是伟大的.
我要求使用Excel作为数据库的组织进行一些合同工作,并希望通过真实数据库对Excel数据进行一些处理.(是的,我知道,没关系......)
客户有一张Excel表,他们在内部使用这些表来跟踪一些政府计划.此Excel工作表中的数据曾经通过CSV作为中间格式手动导入SQL数据库,并通过一个小型Web应用程序提供.电子表格或数据库中的更改是手动完成的(由不同的人员完成),并且必须手动保持同步.
新功能的规范包括:
电子表格(实际上,它是工作簿中的几个)实现了与其他机构交互所必需的一些准则,因此在导入之前和之后必须保持结构相同.它包含大量格式,隐藏列和排序按钮以及不同工作表中单元格之间的大量数据链接.
我不想从头开始重现电子表格以提供导出,也不想在导入之前手动将正确的列提取到CSV中.我正在寻找一种加载Excel的方法,"查询"某些字段,将它们写入数据库,然后从数据库加载数据并仅操作正确单元格的内容.
有没有办法以编程方式与现有电子表格连接,只读取或更改您需要的位?
我有一些代码可以生成饼图的图像.它是一个通用类,因此任何数量的切片都可以作为输入.现在我有问题为切片选择好的颜色.有一些擅长的算法吗?
或者我应该亲自挑选并列出固定颜色?但是有多少.也许有10种颜色,希望永远不会超过10片?还有哪10种颜色可供选择?
颜色需要遵循一些规则:
一些使用RGB值进行操作的算法将是首选解决方案.
基于这个问题,在这里和使用代码发现在这里,我试图加载嵌入资源在一个单独的DLL项目的意见,原来的问题的作者说,他已成功这样做-但我不能把它作为工作似乎MVC视图引擎正在拦截请求,仍然在查看视图的文件系统.例外:
Server Error in '/' Application.
The view 'Index' or its master could not be found. The following locations were searched:
~/Views/admin/Index.aspx
~/Views/admin/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/App/Views/admin/Index.aspx
~/App/Views/admin/Index.ascx
~/App/Views/Shared/Index.aspx
~/App/Views/Shared/Index.ascx
Run Code Online (Sandbox Code Playgroud)
我使用的是CustomViewEngine像Rob Connery的/ App结构,如下所示:
public class CustomViewEngine : WebFormViewEngine
{
public CustomViewEngine()
{
MasterLocationFormats = new[] {
"~/App/Views/{1}/{0}.master",
"~/App/Views/Shared/{0}.master"
};
ViewLocationFormats = new[] {
"~/App/Views/{1}/{0}.aspx",
"~/App/Views/{1}/{0}.ascx",
"~/App/Views/Shared/{0}.aspx",
"~/App/Views/Shared/{0}.ascx"
};
PartialViewLocationFormats = ViewLocationFormats;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的路线:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Home", "", new {controller = "Page", action = "Index", id …Run Code Online (Sandbox Code Playgroud) 我正在创建一个CSS编辑器,我正在尝试创建一个可以从CSS文档中获取数据的正则表达式.如果我有一个属性但是我不能让它适用于所有属性,这个正则表达式是有效的.我在PHP中使用preg/perl语法.
(?<selector>[A-Za-z]+[\s]*)[\s]*{[\s]*((?<properties>[A-Za-z0-9-_]+)[\s]*:[\s]*(?<values>[A-Za-z0-9#, ]+);[\s]*)*[\s]*}
Run Code Online (Sandbox Code Playgroud)
body { background: #f00; font: 12px Arial; }
Run Code Online (Sandbox Code Playgroud)
Array(
[0] => Array(
[0] => body { background: #f00; font: 12px Arial; }
[selector] => Array(
[0] => body
)
[1] => Array(
[0] => body
)
[2] => font: 12px Arial;
[properties] => Array(
[0] => font
)
[3] => Array(
[0] => font
)
[values] => Array(
[0] => 12px Arial
[1] => background: #f00
)
[4] => Array(
[0] => 12px Arial …Run Code Online (Sandbox Code Playgroud) 单元测试对我来说听起来很棒,但我不确定我是否应该花时间真正学习它,除非我能说服其他人具有重要价值.我必须说服其他程序员,更重要的是说服管理中的bean计数器,所有额外的时间花在学习测试框架,编写测试,保持更新等等......将为自己付出代价,然后是一些.
有什么证据?有没有人真正用两个独立的团队开发相同的软件,一个使用单元测试而另一个没有,并比较结果?我对此表示怀疑.我只是应该证明这一点,"在互联网上查找,每个人都在谈论它,所以它一定是正确的做法"?
哪些证据可以说服外行人员单位测试值得付出努力?
algorithm ×2
java ×2
php ×2
.net-3.5 ×1
api ×1
asp.net ×1
asp.net-mvc ×1
buffer ×1
c# ×1
c#-3.0 ×1
colors ×1
css ×1
css-parsing ×1
excel ×1
file-io ×1
filesystems ×1
identicon ×1
interface ×1
performance ×1
regex ×1
rgb ×1
tdd ×1
unit-testing ×1