我正在使用java.util.Timer来安排定期任务.有一次,我想关闭它,等待它完成.
Timer.cancel()将阻止任何未来的任务运行.我如何确保当前没有任何任务正在运行(如果是的话,还是等待它们?)
我可以引入外部同步机制,但我不知道它们如何涵盖所有情况.例如,如果我在任务中的某个Monitor上进行同步,我仍然会错过任务刚刚开始执行但没有使用监视器的情况.
等待所有任务真正完成的建议做法是什么,包括当前正在运行的任务?
该属性Environment.CurrentDirectory始终返回系统目录的路径,而不是我的应用程序目录.在我同事的PC中,它返回应用程序目录.
问题是什么?我该如何解决?
以下代码对我有用
ePCRSettings = XMLParser.XmlParser.Deserialize<PCRGeneratorSettings>(string.Format("{0}\\ePCRPDFSettings.xml", AppDomain.CurrentDomain.BaseDirectory));
AppDomain.CurrentDomain.BaseDirectory - Returns the directory E:\MyApplications\.
Run Code Online (Sandbox Code Playgroud)
以下代码对我不起作用
ePCRSettings = XMLParser.XmlParser.Deserialize<PCRGeneratorSettings>(string.Format("{0}\\ePCRPDFSettings.xml", Environment.CurrentDirectory));
Environment.CurrentDirectory - Returns c:\windows\system32.
Run Code Online (Sandbox Code Playgroud)
此.dll文件可用于VB 6和ASP.NET应用程序
即使代码必须由dba授权或创建,创建表和索引等对象也是必不可少的.如果有成就的开发人员应该知道dbas通常执行的其他哪些领域?
在Java语言规范的第15.12.2.5节中,它讨论了如何在具有固定arity的方法和可变arity方法(即varargs)中选择最具体的方法.
我在JLS中找不到的是关于两个方法之间的决定,其中一个是固定的arity,另一个是变量arity.例如:
public interface SomeApi {
public String getSomething(String arg); // method 1
public String getSomething(String ... args); // method 2
}
Run Code Online (Sandbox Code Playgroud)
按照人们的预期编译就好(由Yoni概述的原因如下).这个调用代码也编译:
SomeApi api = ...
Object o = api.getSomething("Hello");
Run Code Online (Sandbox Code Playgroud)
如果你运行它,method #1(即非varargs方法)被调用.为什么这个调用代码没有含糊不清?为什么固定arity方法比变量arity方法更具体?有人能指出我对规范的相关部分吗?
正则表达式:
^ *x *\=.*$
Run Code Online (Sandbox Code Playgroud)
表示"匹配一个文字x前面有一个任意的空格数,后跟一个任意的空格数,然后是一个等号,然后是任何直到行的末尾." Sed被调用为:
sed -r -e 's|^ *x *\=.*$||g' file
Run Code Online (Sandbox Code Playgroud)
但是它没有找到一个匹配,尽管它应该.正则表达式有什么问题?
致所有人:感谢您的回答和努力!似乎问题出现在输入文件中的选项卡中,它们与空格说明符' ' 不匹配.然而,\s无论现有标签如何,该解决方案都有效
我需要在服务器端进行中到强加密,所以我想我会在PHP中使用mcrypt.如果我使用下面的函数,原始字符串的开头会在解密后变成二进制垃圾.(这不是额外添加垃圾的常见问题,而是我的字符串被更改.)根据文档,mcrypt_encrypt()应该填充足够的字符以匹配所选算法的块大小,但我怀疑它不起作用.
但是,如果我手动将其填充到Rijndael的128位(16字节)的块大小,它也不起作用.我可以使这个工作的唯一方法是通过预先填充一些足够长的字符串(可能)覆盖带状块,并在该字符串和我的数据之间添加一个已知的前缀,如"DATA#".解密后,该块已被部分损坏,但我的前缀和之后的所有数据都已正确解密.
$GLOBALS['encryptionmarker'] = 'DATA#';
function encrypt($plain, $key) {
/*
// workaround because beginning of decrypted string is being mangled
// so we simply prefix with some text plus marker
$prefix = str_pad('', 128, '#', STR_PAD_RIGHT).$GLOBALS['encryptionmarker'];
$plain = $prefix.$plain;
*/
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plain, MCRYPT_MODE_CFB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB),
MCRYPT_DEV_URANDOM));
return $encrypted;
}
function decrypt($encrypted, $key) {
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CFB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB),
MCRYPT_DEV_URANDOM));
/*
// workaround: remove garbage
$pos = strpos($decrypted, $GLOBALS['encryptionmarker']);
$decrypted = …Run Code Online (Sandbox Code Playgroud) 我对CSS和class属性有点困惑.我一直认为,我在属性值中指定多个类的顺序具有意义.后面的类可以/应该覆盖前一个的定义,但这似乎不起作用.这是一个例子:
<html>
<head>
<style type="text/css">
.extra {
color: #00529B;
border:1px solid #00529B; /* Blue */
background-color: #BDE5F8;
}
.basic {
border: 1px solid #ABABAB;
}
</style>
</head>
<body>
<input type="text" value="basic" class="basic"/>
<input type="text" value="extra" class="extra"/>
<input type="text" value="basic extra" class="basic extra"/>
<input type="text" value="extra basic" class="extra basic"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望,第三个示例class="basic extra"应该有一个蓝色边框,因为额外的指定边框将覆盖基本边框.
我在ubuntu 9.04上使用FF 3
如果我想用同一组命令处理一批文本文件,例如:
:设置tw = 50
gggqG
我可以保存以上内容并使用快捷命令运行它吗?