我需要同时处理某些Collection实例中的元素.换句话说,而不是迭代Collection实例
for (Someclass elem : coll){
process(elem);
}
Run Code Online (Sandbox Code Playgroud)
我想同时处理这些元素.说,像ConcurrentCollectionExecutor(coll, new Callable{…}, numberOfThreads).此外,应修复多个同时线程.
任何灵活的模式已经存在?
我必须直接读/写文件,没有任何缓冲.在旧的C方式中,我通过使用带O_DIRECT标志的open方法来做到这一点.
这有可能用Java方式吗?
这是O_DIRECT描述
尝试最小化I/O与此文件之间的缓存效果.通常,这会降低性能,但在特殊情况下很有用,例如应用程序执行自己的缓存时.文件I/O直接进出用户空间缓冲区.
更新:
这是我的代码示例,
// write
fos = new FileOutputStream(fileName);
fos.write(inputData);
fos.flush();
fos.close();
// read
fis = new FileInputStream(fileName);
int len = fis.read(outputData, offset, length);
fis.close();
Run Code Online (Sandbox Code Playgroud)
背景是我将数据(实际上是命令)写入SD卡(某种智能卡)上的文件,然后智能卡接收命令并将结果准备到同一文件.通常情况下,我可以从文件中读取数据(结果),但我得到了同样的inputData和outputData,即,我只是得到我的命令了.这是意想不到的结果.我怀疑代码是否只是写入/读取缓冲区,而不是真实文件.Flush无法正常工作.
我对使用R编程非常陌生,但我正在尝试在多个文件中读取目录并为每个文件指定一个唯一的名称.我正在使用R中的Dendrochronology Program Library(包dpIR)和read.tucson函数读取文件.虽然我正在使用特定的包,但我认为我的问题相当笼统:
在循环中,我想通过将a "t"与每个单独的文件名连接来创建文件.所以,如果我有一个"2503"在我的目录中命名的文件,我想在R中创建一个名为的数据帧"t2503".接下来,我想在r.tucson每个数据帧中使用该函数读取数据.我只是用数据覆盖串联,而不是将读入数据分配给数据帧.有人可以帮我弄清楚我错过了哪一步?
这是我尝试使用的代码:
#set to appropriate directory
setwd("C:/work")
#get a list of files in the directory
files <- list.files()
numfiles <- length(files)
for (i in 1:numfiles)
{
name<-paste("t",files[i],sep="")
name<-read.tucson(files[i],header=NULL)
}
Run Code Online (Sandbox Code Playgroud) 众所周知,C#classes对象被视为引用,那么当您将引用对象作为对方法的引用传递时会发生什么?说我们有:
public class A { ... }
Run Code Online (Sandbox Code Playgroud)
然后:
public void F(ref A a) { ... }
Run Code Online (Sandbox Code Playgroud)
编译器是否发现它a已经是一个引用类型并保持这种方式,或者他创建了一个对该对象的新引用?
如果我们有这样的事情怎么办:
public void F(ref A a)
{
F(ref a);
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中,除了显而易见之外StackOverflowException,编译器是否创建了对引用的引用...以引用a哪个是引用对象?
在RC1之前,我们做了类似这样的事情:
public void OnAuthorization(AuthorizationContext filterContext)
{
if (whatever)
{
filterContext.Cancel();
}
}
Run Code Online (Sandbox Code Playgroud)
现在已经不见了,我们如何用RC1实现相同的结果?
谢谢,
凯尔
最近我的elmah异常日志充满了人们使用这样的大坝ZmEu安全软件对我的服务器的尝试
对于那些想"ZmEu到底是什么?"的人来说,这是一个解释......
"ZmEu似乎是一个安全工具,用于发现PHPMyAdmin版本2.xx中的安全漏洞,这是一个基于Web的MySQL数据库管理器.该工具似乎起源于东欧的某个地方.就像所有黑帽安全工具似乎发生的事情一样,它已经进入了中国,从那时起它就被用于对世界各地的网络服务器进行不间断的暴力攻击."
这是一个关于这个令人讨厌的攻击的重要链接 - > http://www.philriesch.com/articles/2010/07/getting-a-little-sick-of-zmeu/
我使用.net所以他们不会在我的服务器上找到PHPMyAdmin但事实上我的日志充满了ZEEu攻击它变得无聊.
上面的链接使用HTAccess提供了很好的修复,但我使用的是IIS7.5,而不是apache.我有一个asp.net MVC 2站点,所以我使用global.asax文件来创建我的路由
这是HTAccess的消毒
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/path/to/your/abusefile.php
RewriteCond %{HTTP_USER_AGENT} (.*)ZmEu(.*)
RewriteRule .* http://www.yourdomain.com/path/to/your/abusefile.php [R=301,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我的问题是我可以在Global.ascx文件中添加这样的东西吗?
我已经在~/Views/Shared/DisplayTemplatesnamed中创建了一个显示模板ImpactMatrix.cshtml.它接受一个可为空的int并呈现一个二维矩阵,其中突出显示所选的数字:
@model int?
@{
var matrix = ImpactMatrix.GetMatrix();
}
<div class="impactmatrix">
<table>
@for (int i = 0; i < matrix.GetLength(0); i++)
{
<tr>
@for (int j = 0; j < matrix.GetLength(1); j++)
{
var cell = matrix[i, j];
<td data-color="@cell.Color"
class="matrix @(Model == cell.Value ? cell.Color.ToString() : "")">
@cell.Value
</td>
}
</tr>
}
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
它很容易重复使用,效果很好.我可以在我的视图中调用它,如下所示:
@Html.DisplayFor(m=> m.ImpactFactor, "ImpactMatrix")
Run Code Online (Sandbox Code Playgroud)
现在我决定扩展它并使其成为编辑器.我们的想法是为所选数字添加隐藏输入,并使用div将输入与矩阵模板一起包装.从那里开始使用Javascript与我的显示网格交互并填充隐藏的输入应该是一件简单的事情.
我ImpactMatrix.cshtml在我的~/Views/Shared/EditorTemplates文件夹中创建了一个名为的编辑器模板.这是代码:
@model int?
<div class="impactmatrix-editor">
@Html.HiddenFor(m => m)
@Html.DisplayFor(m => m, "ImpactMatrix") …Run Code Online (Sandbox Code Playgroud) 我有一张桌子WorkOrders.该表有一个PrimaryWorker&PrimaryPay字段.它还有一个SecondaryWorker&SecondaryPayfield(可以null).
我希望运行2个非常相似的查询并将它们联合起来,以便它返回一个WorkerField&Payfield.所以,如果一个WorkOrder记录有两个PrimaryWorker和SecondaryWorker外地人口,我会得到2条记录回来.
这两个查询中的"where子句"部分非常相似且很长.这是一个虚拟的例子
var q = ctx.WorkOrder.Where(w => w.WorkDate >= StartDt && w.WorkDate <= EndDt);
if(showApprovedOnly)
{
q = q.Where(w => w.IsApproved);
}
//...more filters applied
Run Code Online (Sandbox Code Playgroud)
现在我也有一个名为的搜索标志hideZeroPay.如果这是真的,我不想在工人支付0美元的情况下包括记录.但显然对于1个查询我需要比较该PrimaryPay字段,而另一个我需要比较该SecondaryPay字段.
所以我想知道如何做到这一点.
我可以克隆我的基本查询q并从中进行主要和辅助工作者查询,然后将这两个查询合并在一起吗?
我试图将Unicode字符串转换为C#中的图像.每次我运行它都会在这一行上出错
Image image = Image.FromStream(ms, true, true);
Run Code Online (Sandbox Code Playgroud)
说:ArgumentException未被用户代码处理.参数无效.任何想法为什么会这样?以下是该功能的其余部分.
public Image stringToImage(string inputString)
{
byte[] imageBytes = Encoding.Unicode.GetBytes(inputString);
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
ms.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(ms, true, true);
return image;
}
Run Code Online (Sandbox Code Playgroud) 我有一段代码,我正在从服务中调用:
context.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
try {
WifiManager mWm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
ret = mWm.isWifiEnabled();
// DO MORE STUFF HERE
} catch (Exception e) {
}
}
}, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
Run Code Online (Sandbox Code Playgroud)
我想要的是一种检查并确保registerReceiver在再次调用它之前尚未监听的方法.这可能吗?
例如,如果我的代码片段在方法中,并且我调用该方法10次,那么此onReceive方法似乎运行10次.