这个问题是一个重复的这个问题的意图.似乎较旧的一个被"忽略",而答案中没有一个答案.
我需要用给定的日期模式/格式解析给定的日期.
我有这个代码,它应该工作:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main
{
public static void main(String[] args)
{
final Date date = string_to_date("EEE MMM dd HH:mm:ss zzz yyyy",
"Thu Aug 14 16:45:37 UTC 2011");
System.out.println(date);
}
private static Date string_to_date(final String date_format,
final String textual_date)
{
Date ret = null;
final SimpleDateFormat date_formatter = new SimpleDateFormat(
date_format);
try
{
ret = date_formatter.parse(textual_date);
}
catch (ParseException e)
{
e.printStackTrace();
}
return ret;
}
} …Run Code Online (Sandbox Code Playgroud) 我发现以下示例代码(在网络上的某个地方,不记得在哪里):
public static byte[] produce(final byte[] data)
throws NoSuchAlgorithmException{
MessageDigest digest = MessageDigest.getInstance(ALGORITHM);
digest.reset();
digest.update(data);
byte[] ret = digest.digest(data);
for (int i = 0; i < HASH_ITERATIONS; i++) {
digest.reset();
ret = digest.digest(ret);
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
让我感到困扰的是,文档中说digest()已经通过传递的输入单独调用了update():
使用指定的字节数组对摘要执行最终更新,然后完成摘要计算。也就是说,此方法首先调用update(input),将输入数组传递给update方法,然后调用digest()。
此外,在调用update()之后,MessageDigest对象的state变为1。
在调用digest()(代码的下一部分)之后,它返回为simple 0。
最后,在调试过程中逐步执行时,我可以清楚地看到正在对数据进行操作。
因此,删除对update()的调用是否安全?
请注意,如果这不是一个重大的安全问题,我不会打扰任何人。
我想在堆栈上分配内存.
听说_alloca/alloca,我明白这些是编译器特有的东西,我不喜欢.
所以,我想出了我自己的解决方案(这可能有它自己的缺点),我希望你检查/改进它,这样我们就可以一劳永逸地使用这些代码:
/*#define allocate_on_stack(pointer, size) \
__asm \
{ \
mov [pointer], esp; \
sub esp, [size]; \
}*/
/*#define deallocate_from_stack(size) \
__asm \
{ \
add esp, [size]; \
}*/
void test()
{
int buff_size = 4 * 2;
char *buff = 0;
__asm
{ // allocate
mov [buff], esp;
sub esp, [buff_size];
}
// playing with the stack-allocated memory
for(int i = 0; i < buff_size; i++)
buff[i] = 0x11;
__asm
{ // deallocate
add esp, [buff_size]; …Run Code Online (Sandbox Code Playgroud) 我在数组中有这些字符串,我想迭代这个数组并找到匹配的数据(每个匹配检查一行).
问题是,我找不到合适的正则表达式.
Bird
Cat
Dog
Fish
CatDog
DogCat
Run Code Online (Sandbox Code Playgroud)
目前,使用RegexBuddy(该死的好软件!!),我有这个正则表达式:
(?!Cat\b)\b\w+
Run Code Online (Sandbox Code Playgroud)
我想添加"狗",所以在一个正则表达式匹配中尝试我会得到一个匹配结果,你知道,就像一个OR运算符.
我希望它能一次性检查"Cat"或"Dog"或"Fish"是否存在.
任何的想法?
我在build.xml中有这个:
<target depends="build-jar" name="proguard">
<taskdef resource="proguard/ant/task.properties" classpath="tools/proguard4.6/lib/proguard.jar" />
<proguard configuration="ant/proguard.conf" />
</target>
Run Code Online (Sandbox Code Playgroud)
它工作正常.
在配置文件(即"ant/proguard.conf")中,我正在尝试访问此build.xml文件中定义的属性,但我总是遇到这种错误:
Value of system property 'jar.final_name' is undefined in '<jar.final_name>' in line 1 of file '.......\ant\proguard.conf'
Run Code Online (Sandbox Code Playgroud)
错误很明显.问题是我如何做我想做的事情?
如果我使用"嵌入式ProGuard配置选项"方式,我可以像build.xml中的任何其他属性一样使用这些属性,但我正在尝试将文件保持分离.
那我该怎么办?
假设我有这个Java应用程序:
package com.site;
public class MyAppBase {}
Run Code Online (Sandbox Code Playgroud)
package com.site.free;
import com.site.MyAppBase;
public class MyApp extends MyAppBase {}
Run Code Online (Sandbox Code Playgroud)
package com.site.pro;
import com.site.MyAppBase;
public class MyApp extends MyAppBase {}
Run Code Online (Sandbox Code Playgroud)
package com.site;
public class Edition
{
public static final int FREE = 1;
public static final int PRO = 2;
private static final int EDITION = PRO;
public static boolean is(final int edition)
{
return (EDITION == edition);
}
}
Run Code Online (Sandbox Code Playgroud)
package com.site;
public class EditionFactory
{
public static MyAppBase get_app()
{
MyAppBase ret …Run Code Online (Sandbox Code Playgroud) void main()
{
int xyz = 123; // original value
{ // code block starts
xyz++;
if(xyz < 1000)
xyz = 1;
} // code block ends
int original_value = xyz; // should be 123
}
void main()
{
int xyz = 123; // original value
MACRO_NAME(xyz = 123) // the macro takes the code code that should be executed at the end of the block.
{ // code block starts
xyz++;
if(xyz < 1000)
xyz = 1;
} // …Run Code Online (Sandbox Code Playgroud) 这是我的css课程:
.my-css-class-name
{
display: block;
}
Run Code Online (Sandbox Code Playgroud)
我的网页上有一个使用此类的元素.我想修改这个元素的"display"属性.
我很乐意通过获取该元素的句柄然后修改我需要的内容来做到这一点,但是,我不知道元素的名称 - 它是随机生成的(它是第三方扩展).
所以我想我必须得到".my-css-class-name"的句柄并直接修改该属性.
我如何到达那里,跨浏览器(主要的)解决方案?
编辑#1:
我正在寻找与新浏览器的兼容性.
有两个具有相同结构的表:'imsc_storage_users'和'imsc_storage_users_archive'.
我当前的SELECT/UNION:
SELECT `cli`,`ts`,`questions`, `answers`,`correct`,`last`,`minutes`
FROM `imsc_storage_users`
UNION DISTINCT
SELECT `cli`,`ts`,`questions`, `answers`,`correct`,`last`,`minutes`
FROM `imsc_storage_users_archive`
ORDER BY `correct` DESC,`minutes` ASC
Run Code Online (Sandbox Code Playgroud)
我得到了这些结果:
+--------------+---------------------+-----------+---------+---------+------+---------+
| cli | ts | questions | answers | correct | last | minutes |
+--------------+---------------------+-----------+---------+---------+------+---------+
| 111111111111 | 2011-12-22 11:13:57 | 30 | 29 | 14 | 30 | 1305.47 |
| 222222222222 | 2011-12-15 13:39:16 | 26 | 24 | 13 | 24 | 15.67 |
| 333333333333 | 2011-12-15 13:39:39 | 26 | 25 | 11 …Run Code Online (Sandbox Code Playgroud)